et voila pour la réponse :
http://fr.piwigo.org/forum/viewtopic.php?id=19203
bug en 2.1.5 et antérieur => bientôt corriger en 2.1.6
Merci bcp !! Ça fonctionne au poil :)
le seul petit bémol :
la categorie "lien" reste afficher quand elle contient rien pour certain groupe.
Je vais faire une recherche la dessus
Petite modification effectuée dans le message précédent de la fonction in_group pour mettre en cache les groupes de l'utilisateur (évitant ainsi de faire une requete SQL à chaque appel).
Il va falloir rajouter une petite fonction dans le fichier de configuration local (ou en plugin perso):
function in_group() { global $user; $args = func_get_args(); if (!isset($user['groups'])) { $query = ' SELECT g.name AS name FROM '.GROUPS_TABLE.' AS g INNER JOIN '.USER_GROUP_TABLE.' AS ug ON g.id = ug.group_id WHERE ug.user_id = '.$user['id'].';'; $user['groups'] = array_from_query($query, 'name'); } foreach($user['groups'] as $group) { if (in_array($group, $args)) return true; } return false; }
Ensuite, pour mettre un lien qui est visible pour les groupes "Toto" et "Tata", il suffira de mettre:
$conf['links'] = array( 'mon site' => array( 'label' => 'ma description', 'new_window' => false, 'eval_visible' => 'return in_group("Toto", "Tata");', ) );
bon ben j'ai été le configurer dans "configuration > menus"...
en fait ça ne fonctionne pas comme je souhaiterais
j'imagine que le champs "Position" du plugin sert à le situer dans la bar de menu. Mais quelquesoit la valeur que je rentre il reste tout en bas, alors qu'évidement je veux qu'il s'affiche en haut.
Hello
le pluging fonctionne effectivement bien, j'ai mis un redirect en html sur ma page voulu. C'est pas super propre mais ça le fait.
Merci :)
Je prends quand même le code de gestion de groupe des liens si il existe :p
Je ne retrouve plus la trace mais il était possible il me semble bien dans des versions inférieurs (v1.7 ou v1.6) d'afficher des liens en fonction de l'appartenance à un groupe.
Malheureusement je n'arrive plus à remettre la main dessus.
Par contre, pour contourner le problème, pourquoi ne pas se servir des pages additionnelles (extension:153) pour rediriger non pas vers une page interne mais via une URL ?
Ca fonctionne bien et il y a la gestion des groupes pour chaque lien ;-)
Merci pour ta réponse.
Je cherche quelque chose de plus fin que ça.
par exemple, j'ai 4 groupes d'utilisateur, le lien doit être visible par le groupe 1 et 2 et invisible pour le reste (3 et 4)
Bonjour,
On m'avait fourni ce test pour interdire la lecture à guest :
'eval_visible' => 'return !is_a_guest();
Hello
reponse : oui j'ai cherché
je cherche à afficher les liens du menu lien en fonction de mes groupes d'utilisateur.
j'ai rajouté dans mon fichier local/config/config.inc.php ces lignes :
$conf['links'] = array(
'mon site' =>
array('label' => 'ma description',
'new_window' => false,
'eval_visible' => CONDITION MANQUE;
'),
mais donc il me manque la condition ou l'un ou plusieurs groupe puisse voir le lien.
(version 2.1.5)
Merci d'avance