Fork me on GitHub


 Bas   Précédent   Suivant

« 1 ... 3 4 5 (6) 7 8 »


Re: Menu utilisateur, différent suivant le groupe logué
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Bonjour nicripeur,

Merci pour ton module, je vais étudiez cela ... Heu, j'ai un petit soucis avec les fichiers .rar car sur mon système je ne peux pas pour l'instant les lire correctement, je vais donc utiliser Windows ... Dès que j'en verrais un ...

Pour moi le problème est somme toute résolu ... Je vais donc poser une autre question sur les blocs en général, car pour moi c'est pas très clair ...

Merci encore,
Bruno

Posté le : 19/05/2009 14:55
Transférer la contribution vers d'autres applications Transférer


Re: Menu utilisateur, différent suivant le groupe logué
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
@burning
Merci beaucoup pour le module, il est très intéressant et permet de résoudre le problème. Mais, ça reste un peu compliqué quand on développe son module. De plus dès que l'on veut faire beaucoup de menu il faut cloner le module à l'aide du script perl ... Mais, ce module me plait pour d'autres utilités que de faire ce que je veux faire ! Alors j'ai cherché et fini par trouver une solution qui me semble satisfaisante.

Un petite remarque avant de commencer, tous mes groupes sont créés au moment de l'installation du module via un script :
$modversion['onInstall'] = 'include/install.php';


Dans mon fichier xoops_config.php :
// Les groupes prédéfinis ...
$modversion['groupe_1']="WSFadministrateurs";
$modversion['groupe_2']="WSFenseignants";
$modversion['groupe_3']="WSFetudiants";
$modversion['groupe_4']="WSFentreprises";


Après les autorisations :
$modversion['hasMain'] = 1;
if(isset(
$GLOBALS['xoopsModule']) && $GLOBALS['xoopsModule']->getVar('dirname') === $modversion['dirname']) 
{
    include_once 
XOOPS_ROOT_PATH.'/modules/'.$modversion['dirname'].'/class/publicPerm.php';
    
$permHandler WSformationPublicPermHandler::getHandler();
    
// ENS
    
if ($permHandler->isUserInGroup($modversion['groupe_2']))
    {
        
$modversion['sub'][1]['name'] = _MI_WSFORMATION_USERMENU_ENS1;
        
$modversion['sub'][1]['url'] = "enseignants.php";
        
$modversion['sub'][2]['name'] = _MI_WSFORMATION_USERMENU_ENS2;
        
$modversion['sub'][2]['url'] = "enseignants.php";
        
$modversion['sub'][3]['name'] = _MI_WSFORMATION_USERMENU_ENS3;
        
$modversion['sub'][3]['url'] = "enseignants.php";
        
$modversion['sub'][4]['name'] = _MI_WSFORMATION_USERMENU_ENS4;
        
$modversion['sub'][4]['url'] = "enseignants.php";
    } 
// ETUD    
    
elseif ($permHandler->isUserInGroup($modversion['groupe_3']))
    {
        
$modversion['sub'][1]['name'] = _MI_WSFORMATION_USERMENU_ETUD1;
        
$modversion['sub'][1]['url'] = "etudiants.php";
        
$modversion['sub'][2]['name'] = _MI_WSFORMATION_USERMENU_ETUD2;
        
$modversion['sub'][2]['url'] = "etudiants.php";
        
$modversion['sub'][3]['name'] = _MI_WSFORMATION_USERMENU_ETUD3;
        
$modversion['sub'][3]['url'] = "etudiants.php";

...
}


La classe ? publicPerm.php :
if (!defined("XOOPS_ROOT_PATH")) {
    die(
"XOOPS root path not defined");
}

class 
WSformationPublicPermHandler {

    function &
getHandler()
    {
        static 
$permHandler;
        if(!isset(
$permHandler)) {
            
$permHandler = new WSformationPublicPermHandler();
        }
        return 
$permHandler;
    }
    
    
/**
    * retourne un booléen indiquant l'appartenance ou non d'un utilsateur à un groupe
    * si ANONYMOUS retourne false
    * @param chaine $group 
    * @return array() users of group
    */
    
function isUserInGroup($group) {
        
$userLogue $GLOBALS['xoopsUser'];
        
$member_handler =& xoops_gethandler('member');
        
$groups $member_handler->getGroups();
        
$count count($groups);

        
// Groupe anonymous !    
        
if (!is_object($GLOBALS['xoopsUser']))
            return 
false;

        for (
$i 0$i $count$i++) {
            
$g_id $groups[$i]->getVar('groupid');
        
            if (
$groups[$i]->getVar('name') === $group) {
                
$members $member_handler->getUsersByGroup($g_idfalse);

                foreach (
$members as $cle) {
                    
$user =& $member_handler->getUser($cle);

                    if (
$user->getVar("uname""E") === $userLogue->getVar('uname'))
                        return 
true;
                }
            }
        }    
        return 
false;
    }

}


Et tout va bien, un menu pour chaque groupe et différent !

Cordialement,
Bruno

Posté le : 17/05/2009 08:19
Transférer la contribution vers d'autres applications Transférer


Re: Menu utilisateur, différent suivant le groupe logué
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Bonjour nicripteur,

Très heureux de savoir que tu as une solution ... J'ai regardé http://www.raiscreations.com/modules/spect, et ce serait 'spectacles' ? ou 'association' ?

Et si oui, pourrais-je récupérer qqc pour voir ?

Merci par avance,
Bruno

Posté le : 15/05/2009 10:53
Transférer la contribution vers d'autres applications Transférer


Re: Menu utilisateur, différent suivant le groupe logué
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Bonjour,

Bon en fait, j'ai peur de ne pas avoir été très clair dans ma question, je vais donc prendre un exemple sur un truc que tout le monde connait, l'item FAC de ce site (je déplie son menu utilisateur) :

=> je ne suis pas logué :
FAQ
 Questions Ouvertes


=> Je suis logué
FAQ
  Proposer une Q
&R
  Soumettre une Question
Question
  Questions Ouvertes

Bref, je vois donc "Proposer une Q&R" et "Soumettre une Question" en plus du menu non logué ! En fait, ici il y a ce qui m'interresse ! Moi, ce que je veux c'est que ce menu soit différent (comme ici) suivant le groupe (vu que ça fonctionne par groupe) qui s'est logué. En prennant l'exemple de ce module :

Imaginons le groupe ZZZ qui vient de se loguer, je souhaiterais avoir un truc dans le style :
FAQ
  Proposer une Q
&R
  Soumettre une Question
Question
  Questions Ouvertes
  Questions Fermées
  Questions liées au site Web

Imaginons le groupe YYY qui vient de se loguer, je souhaiterais avoir un truc dans le style :
FAQ
  Proposer une Q
&R
  Questions Fermées
  Questions liées à l
'audimate

Rmq : désolé si je manque d'imagination ... Mais voyez vous où je veux en venir ?

Cordialement,
Bruno

Posté le : 15/05/2009 07:43
Transférer la contribution vers d'autres applications Transférer


Re: Menu utilisateur, différent suivant le groupe logué
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Bonsoir,

Je suis allez voir sur xoops.org, rien de plus ... Je trouve que ta solution est très fonctionnelle mais peu pratique.

En gros il faut faire des droits d'accès par groupe et pour des blocs menu différents, de faire un tas et tas de vérifications ... Et si qqc appartient à plusieurs groupe, alors il verra 2 menus voire plus ... C'est pas terrible pour moi ...

J'ai une piste du même ordre que ta proposition : faire un menu mini qui est valable pour tout le monde et créer des blocs pour chaque groupe. Après en fonction du groupe mes blocs seront plus ou moins enrichis ... Donc en gros se passer du menu qui a un sens ... et faire un truc bidon valable pour tous ... Je trouve cette solution un peu faible également !

Merci pour ton message,
Bruno

Posté le : 14/05/2009 19:05
Transférer la contribution vers d'autres applications Transférer


Menu utilisateur, différent suivant le groupe logué
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Bonsoir,

Je voudrais avoir un menu utilisateur (pour le module que je développe actuellement) différent suivant le groupe logué.

Je peux facilement faire des blocs différents, ces blocs seraient alors affichés si tel ou tel groupe est logué ... Seulement si l'administrateur se logue alors ils seront tous affichés et c'est pas terrible ... Si j'ai 4 blocs, ça fait désordre de les voir tous affichés en même temps ...

Y a t-il un moyen pour faire cela proprement (mieux) ? Les items du menu apparaissants si l'utilisateur appartient à tel ou tel groupe ... Par exemple, je voudrais que le 3ème item apparaisse uniquement si c'est un utilisateur du groupe Webmestre ...

Merci pour vos contributions,
Bruno

Posté le : 13/05/2009 20:01
Transférer la contribution vers d'autres applications Transférer


Re: XoopsFormSelect Multiple prépositionnement des champs
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
J'ai trouvé !

$formation_vacances=array(1,2);


Et les champs 1 et 2 du tableau passé en paramètre sont actifs préselectionnés ...

@+
Bruno

Posté le : 11/05/2009 15:14
Transférer la contribution vers d'autres applications Transférer


XoopsFormSelect Multiple prépositionnement des champs
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Bonjour,

J'ai un formulaire à coder qui possède un XoopsFormSelect Multiple.

Si je sélectionne plusieurs éléments, je vois bien comment les intégrer à ma BDD ... Les valeurs sont dans un tableau ... Pas de soucis donc !

Seulement, lors de la lecture des informations issue de la BDD, je dois préselectionner les champs 'XoopsFormSelect Multiple' ... Et là ? Je ne sais pas ...

Ne fonctionne pas :
$vacances = new XoopsFormSelect(_AM_WSFORMATION_FORMATION_VACANCES,"formation_vacances",$formation_vacances,'',true);
$lst_vacances = array("selected"=> "2009] Vacances la toussin"2=> "2009] Vacances de paques");
$vacances->addOptionArray($lst_vacances);
$newOrg->addElement($vacances,false);



Quelqu'un a t'il une idée ?

Cordialement,
Bruno

Posté le : 11/05/2009 10:46
Transférer la contribution vers d'autres applications Transférer


Re: Class generator c'est bien mais ...
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Bonjour,

Simplement pour vous remercier, j'ai enfin réussi à modifier une 'class' afin qu'elle fasse ce que je voulais. En fait, il faut bien lire les docs ...

Ici :
http://www.xoops.org/modules/reposito ... efile.php?cid=17&lid=1449
https://www.frxoops.org/modules/smartsection/item.php?itemid=159
https://www.frxoops.org/modules/smartsection/print.php?itemid=160

Pour ceux que ça intéresse.

Cordialement,
Bruno

Posté le : 29/04/2009 06:01
Transférer la contribution vers d'autres applications Transférer


Re: Class generator c'est bien mais ...
Aspirant
Inscrit: 01/09/2007 08:40
De Île de la Réunion (974)
Messages: 79
Re,

J'ai consulté le fichier class du module class generator et j'y ai rien vu de particulier ... Avez-vous une explication plus détaillée qq part ?

Encore merci pour votre patience et dévouement,
Bruno

Posté le : 13/04/2009 15:04
Transférer la contribution vers d'autres applications Transférer



 Haut
« 1 ... 3 4 5 (6) 7 8 »




Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

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