Fork me on GitHub






Problèmes de variables de Session
Newbie
Inscrit: 03/08/2007 13:50
Messages: 18
Bonjour,

Je suis, actuellement, en train de créer un menu personalisé qui nécéssite de pouvoir reprendre les id des groupes, pour pouvoir donner l'accès à l'administrateur à l'administration et aux autres utilisateurs un menu simplifier.

Après avoir observé la page "checklogin.php", j'ai remarqué que xoops utilisait une variable de session appelée xoopsUserGroups à un moment donné.

Je ne sais pas ce qu'il devient de cette variable, mais je ne peux ni l'afficher, ni l'utiliser (logique si je ne peux pas l'afficher...)

La requête que j'utilise est :

$group=htmlspecialchars(getParam($_SESSION,'xoopsUserGroups', ''));
$theme=$_SESSION['xoopsUserTheme'];

Mais j'ai aussi essayer :

$group=$_SESSION['xoopsUserGroups'];



Je vous remercie d'avance de l'aide que vous m'apporterez, et si je réussi, je mettrais à disposition mon code, pour ceux qui désireraient l'utiliser.

Posté le : 16/08/2007 09:06
Partager Twitter Partagez cette article sur GG+
Re: Problèmes de variables de Session
Supporter Xoops
Inscrit: 09/01/2005 13:37
De Breizh
Messages: 16972
Bonjour,

Dans ta réflexion, as tu pris en compte qu'un user pouvait être dans plusieurs groupes ? Sinon tu peux regarder ce qu'il y a dans le fichier userbar.html du gabarit de thème Morphogenesis

@+

Posté le : 16/08/2007 09:49

La connaissance s'accroît quand on la partage ...
Partager Twitter Partagez cette article sur GG+
Re: Problèmes de variables de Session
Newbie
Inscrit: 03/08/2007 13:50
Messages: 18
Oui, j'ai pensé à cette éventualité. Merci pour ta réponse, très rapide en plus.

Je vais me pencher sur ton idée.

Merci encore

Posté le : 16/08/2007 09:53
Partager Twitter Partagez cette article sur GG+
Re: Problèmes de variables de Session
Newbie
Inscrit: 03/08/2007 13:50
Messages: 18
Après étude de "userbar.html", j'ai remarqué que ce menu utilisait juste cette ligne de code :

<{if $xoops_isadmin}>

Qui détécte uniquement si l'utilisateur est admin, ou pas.
(à condition de ne pas créer un fichier externe à xoops, autrement on ne peux pas l'utiliser, mon cas par exemple)

Je ne suis pas plus avancé, dans ma démarche. Merci d'avoir essayé de m'aider.

Posté le : 16/08/2007 10:13
Partager Twitter Partagez cette article sur GG+
Re: Problèmes de variables de Session
Newbie
Inscrit: 03/08/2007 13:50
Messages: 18
Je viens de relire mon premier post.

J'ai oublier quelques éléments. Le menu que j'essaye de créer est différent, que l'on soit admin (link administration), utilisateur (petit logo) ou utilisateur non enregistrer (rien).

Dans le but, après, est de mettre des news dans le menu personnalisé.

C'est pour cela qu'il me faut un lien avec une donnée sure que possède le surfeur. (que ce soit son uid, son pseudo, ou mieux, l'id du groupe à qui il appartient)


Là est tout le problème...

Posté le : 16/08/2007 12:01
Partager Twitter Partagez cette article sur GG+
Re: Problèmes de variables de Session
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
Messages: 2526
en fait tu as tout ce qu'il te faut dans le fichier "userbar.html"

$xoops_isadmin == administrateur
$xoops_isuser == membre

donc tout simplement dans le template de ton menu

<{if $xoops_isadmin}>
    
// code pour les admins
<{elseif $xoops_isuser}>
    
// code pour les membres
<{else}>
    
// code pour les visiteurs
<{/if}>


ou encore

<{if $xoops_isuser}>
    
// code pour les membres
    
<{if $xoops_isadmin}>
        
// code pour les admins
    
<{/if}>
<{else}>
    
// code pour les visiteurs
<{/if}>

Posté le : 16/08/2007 13:30
Partager Twitter Partagez cette article sur GG+
Re: Problèmes de variables de Session
Newbie
Inscrit: 03/08/2007 13:50
Messages: 18
Merci Dugris.

T'as solution est nickel.


J'ai finit par trouver avant que tu ne me répondes, comment on pouvait faire pour réussir à retrouver la variable de l'uid, et par conséquent joindre la table par défaut "*****_users" pour comparer et découvrir son groupe (INNER JOIN "*****_groups_users_link" et *****_xcgal_usergroups).

Maintenant, je n'ai plus qu'à lier les infos des tables en tt genre et les afficher en tenant compte du groupe auquel l'utilisateur appartient.


global $xoopsUser;
if ($xoopsUser) {
$userid = $xoopsUser->getVar('uid');
echo("l'user id est : ".$userid);
} else {
echo ("foiré à qq part...");
}


PS: Merci XOOPS.org

Posté le : 16/08/2007 14:59
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

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

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