Fork me on GitHub

Rapport de message :*
 

Re: Choisir son groupe sans passer par le Webmestre

Titre du sujet : Re: Choisir son groupe sans passer par le Webmestre
par thecat sur 07/03/2006 20:56:37

Tu peux hacker la version 2.0.13.2 pour permettre à l'utilisateur de choisir son groupe.
Il y a 3 fichiers à modifier légèrement et un à créer.
Je te détaille la manip:

Fichier claas/xoopsformloader.php ajouter la ligne
include_once XOOPS_ROOT_PATH."/class/xoopsform/formselectgroupbyuser.php";


Faire un copier/coller du fichier class/xoopsform/formselectgroup.php en le renommant formselectgroupbyuser.php

Dans ce nouveau fichier remplacer la fonction XoopsFormSelectGroup par
function XoopsFormSelectGroupByUser($caption$name$include_anon=false$value=null$size=1$multiple=false)
    {
        
$this->XoopsFormSelect($caption$name$value$size$multiple);
        
$member_handler =& xoops_gethandler('member');
        
$criteria = new CriteriaCompo(new Criteria('groupid'XOOPS_GROUP_ANONYMOUS'!='));
        
$criteria->add(new Criteria('groupid'XOOPS_GROUP_USERS,'!='));
        
$criteria->add(new Criteria('groupid'XOOPS_GROUP_ADMIN,'!='));
            
$this->addOptionArray($member_handler->getGroupList($criteria));
    }

Dans register.php
après la ligne
$agree_disc = (isset($_POST['agree_disc']) && intval($_POST['agree_disc'])) ? 0;

ajouter celle-ci
$group = isset($_POST['group']) ? intval($_POST['group']): 0;

puis après
<input type='hidden' name='vpass' value='".$myts->htmlSpecialChars($vpass)."' />

ajouter
<input type='hidden' name='group' value='".$group."' />

[oubli]
puis modifier
if (!$member_handler->addUserToGroup(XOOPS_GROUP_USERS$newid)) {

en
if (!$member_handler->addUserToGroup($group$newid)) {

[/oubli]

Dans include/registerform.php
après
$reg_form->addElement($email_tray);

ajouter
$reg_form->addElement(new XoopsFormSelectGroupByUser('Groupe','group'false$group1false));


L'utilisateur n'aura le choix qu'entre les groupes que tu auras créés: j'ai exclu anonymes, enregistrés et webmestre.
Attention à la gestion des droits, car tes membres appartiendront à un groupe, mais pas au groupe des utilisateurs enregistrés. Faudra peut-être le modifier si ça pose problème.
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

178 Personne(s) en ligne (149 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 178 | Plus ...