Annonce ToutSurTout

Bienvenue sur toutsurtout.biz

Radio TST

Si vous souhaitez participer vous aussi aux discussions sur le forum, il faut vous inscrire ou vous identifier.

Le Thème TST Printemps est maintenant en place.

Les inscriptions sont actuellement OUVERTES.

Message 1 Discussion postée le 03-01-2011 à 05:58:01

Loic
Avatar de Loic


Titre: Administrateur d'élite
Avancement: Niveau 5
Lieu: Avec Solenne
Date d'inscription: 26-09-2009
Messages: 104 845
Site web

FluxBB : Changer de groupe en fonction du nombre de messages

Cette astuce permet de faire passer automatiquement les membres d'un groupe défini à un autre groupe défini au moment où son nombre de messages dépasse une valeur.

Ouvrez post.php

Cherchez :

// If the posting user is logged in, increment his/her post count
        if (!$pun_user['is_guest'])
        {
            $low_prio = ($db_type == 'mysql') ? 'LOW_PRIORITY ' : '';
            $db->query('UPDATE '.$low_prio.$db->prefix.'users SET num_posts=num_posts+1, last_post='.$now.' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());
        }

Remplacez par :

// If the posting user is logged in, increment his/her post count
        if (!$pun_user['is_guest'])
        {
            $low_prio = ($db_type == 'mysql') ? 'LOW_PRIORITY ' : '';
            $db->query('UPDATE '.$low_prio.$db->prefix.'users SET num_posts=num_posts+1, last_post='.$now.' WHERE id='.$pun_user['id']) or error('Unable to update user', __FILE__, __LINE__, $db->error());

if($pun_user['group_id'] == ANCIEN_GROUPE && $pun_user['num_posts'] + 1 >= NB_SEUIL)
       $db->query('UPDATE '.$db->prefix.'users SET group_id = NOUVEAU_GROUPE WHERE id='.$pun_user['id']) or error('Unable to change user group', __FILE__, __LINE__, $db->error());
        }

Et remplacez les constantes suivantes par les valeurs que vous souhaitez :

    * ANCIEN_GROUPE : l'id du groupe avant changement
    * NB_SEUIL : le nombre de messages auquel le changement doit s'effectuer
    * NOUVEAU_GROUPE : l'id du nouveau groupe

Faites très attention au numéro de groupe que vous indiquez, en évitant par exemple de les faire passer automatiquement Modérateur, ou pire, Administrateur.


http://www.toutsurtout.biz/img/UserBarTST.gif
http://www.toutsurtout.biz/img/Sign-Loic.gif
Loic DL un jour, Loic DL toujours ...