MyBB.support, le portail francophone de MyBB

Version complète : Changement automatique
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Bonjour,

Je voudrais savoir si il existe un moyens pour changer un groupe automatiquement.

Je détails
Lorsqu'une personne viens sur mon Forum elle doit posé une candidature des que je déplace la candidature dans acceptée,
je voudrais savoir si on peut changer le groupe automatiquement ?
Postulant: message encore dans le forum en attente
Message validé,on le déplace et la je groupe de la personne devient recrue.


Cordialement,
C'est faisable, mais je ne pense pas qu'il existe un plugin existant qui le fasse.
Merci de ta réponse,je vais essayer de faire quelques recherche le temps qu'une personne de MyBB me répondre.
Ben je pourrais te dire comment le faire "à la barbare", mais si une meilleure solution existe, il vaut mieux choisir cette meilleure solution... Big Grin

Un petit exemple de ce qu'on pourrait faire "à la barbare" en php :

- Lister les messages dans la section "Acceptées" ;
- Tant qu'il y a des messages à traiter :
--- Si l'auteur n'est pas dans le groupe "Recrues" :
----- Mettre l'auteur dans le groupe "Recrues" ;
--- Passer au message suivant ;

Donc, en PHP, un truc dans le genre... (Toujours "à la barbare"...)

Code PHP :
$dbm = new PDO("mysql:host=hotebasedonnees;dbname=nombasedonnees""nomutilisateur""motdepasse");
$query $dbm->query("SELECT uid FROM mybb_threads WHERE fid = X"); // X l'ID de la section "Acceptées".
while ($data $query->fetch()) {
    
$query2 $dbm->query("SELECT usergroup FROM mybb_users WHERE uid = " $data['uid']);
    
$data2 $query2->fetch();
    if (!
$data2['usergroup'] == Y) { // Y l'ID du groupe "Recrues".
        
$dbm->exec("UPDATE mybb_users SET usergroup = Y WHERE uid = " $data['uid']);
    }


Quelques erreurs, je viens de les rectifier.

J'ai peut-être oublié de te dire où mettre ça (si toutefois tu voulais essayer), je pense que ça doit fonctionner si tu met ce bout de code avant l'accolade fermante de la ligne 218 dans le fichier ./moderation.php.

Il faudra préciser : l'hôte de la base de données (souvent localhost), le nom de la base de données, le nom d'utilisateur de la base de données, et le mot de passe, puis, plus bas dans le code, remplacer X par l'identifiant de la section "Acceptées" (tu le trouveras en ouvrant ladite section, dans la barre d'adresse, c'est le numéro juste après fid=), et Y par l'identifiant du groupe "Recrues", tu le trouveras dans le panneau d'administration, en cliquant sur le nom du groupe, dans la barre d'adresses, c'est le numéro juste après gid=.

J'espère que ça fonctionnera, sinon, dis moi l'erreur. (Si tu trouves mieux ailleurs, dis le moi, j'aimerais bien savoir aussi ! :p)
Merci,je test ça de suite.


EDIT: je vien de mettre le code j'ai créer un compte test"postulant" et rien ne marche.
Lien du forum en cas de besoin: http://unlimited-wow.c4.fr/index.php
Tu as bien remplacé X par 7, Y par l'id du groupe des "Recrues", et tu as bien modifié les valeurs de la première ligne ?
Oui j'ai tout modifier comme il faut.
Je peux voir le code tel que tu l'as entré (tu peux cacher le mot de passe) ?
Code PHP :
            $dbm = new PDO("mysql:host=#;dbname=#""#""#");
$query $dbm->query("SELECT uid FROM mybb_threads WHERE fid = 7"); // X l'ID de la section "Acceptées".
while ($data $query->fetch()) {
    
$query2 $dbm->query("SELECT usergroup FROM mybb_users WHERE uid = " $data['uid']);
    
$data2 $query2->fetch();
    if (!
$data2['usergroup'] == 11) { // Y l'ID du groupe "Recrues".
        
$dbm->exec("UPDATE mybb_users SET usergroup = Y WHERE uid = " $data['uid']); 
Il faut que tu remplace le Y par l'identifiant du groupe (apparemment 11) dans la dernière ligne.
Juste un truc aussi, ce script ne se lance que lorsque tu déplaces un sujet, donc pour que le transfert soit effectif, il faut qu'il y ait un déplacement de sujet.
Oui c'est ce que je voulais déplacé de En attente a accepté modifie le groupe en recrue.

J'avait pas vu le second Y,
Je vais essayer
Essaye et dis moi. Smile
Même Resultat
Bizarre, je vois pas mon erreur...

Est-ce qu'à l'installation tu as changé le préfixe des tables ?
J'ai mis mybb_
Donc ça c'est bon, est-ce que tu as bien mis l'hôte, le nom de la base, et les identifiants de la base de données, tels qu'ils te sont fournis par ton hébergeur ?
Oui,j'ai même vérifier sur le config.php pour être sûr
Alors j'ai peut-être fait une erreur de positionnement. Enlève le code, et essaye de le mettre à la ligne 892 :
Code PHP :
        $plugins->run_hooks("moderation_move");
        
// ICI !
        
$forumselect build_forum_jump(""''1''0true''"moveto"); 
Aucun changement.
Essaye à la ligne 1791
Code PHP :
        // ICI !
        
moderation_redirect(get_forum_link($moveto), $lang->redirect_inline_threadsmoved); 

Sinon je vois pas (spyto, exdiogene, à l'aide)... :p
Pages : 1 2
 Utilitaire de traduction fourni par Regentronique