[Astuce] Masquer toutes les catégories aux utilisateurs non enregistrés [Astuce] Masquer toutes les catégories aux utilisateurs non enregistrés
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

[Astuce] Masquer toutes les catégories aux utilisateurs non enregistrés

Started by RedMorgan, November 07, 2008, 03:34:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

RedMorgan

J'ai une galerie personnelle sur laquelle je souhaites avoir à la racine un ou plusieurs albums public
Les albums privés sont rangés dans des catégories.
Je souhaitais qu'un utilisateur non enregistré donc Guest, ne puisse pas voir qu'il existe des catégories

J'ai donc modifié la fonction theme_display_cat_list de tous mes theme.php.

Si vous n'avez pas de fonction theme_display_cat_list dans votre theme.php, rien de plus simple, il existe un dossier sample dans le dossier des thèmes do coppermine. Ouvrez le theme.php qui s'y trouve. Dedans vous chercher la fonction theme_display_cat_list, vous la copiez intégralement et vous la coller dans votre theme.php, vous modifiez ensuite la fonction comme expliqué ci-dessous.

votre fonction dois commencer par les lignes suivantes :

    global $template_cat_list, $lang_cat_list;
    if (count($cat_data) > 0) {


Remplacer les par celles-ci :

    global $template_cat_list, $lang_cat_list, $AUTHORIZED;
    if (stripslashes(USER_NAME) != 'Guest'){
    if (count($cat_data) > 0) {


Il faut ensuite refermer la condition if ($reguser != 'Guest'){ avec un } à la fin de la fonction $theme_display_cat_list.

Le code originale de fin de la fonction doit être celui-ci

echo template_extract_block($template_cat_list, 'spacer');
}

Remplacer le part celui-là

echo template_extract_block($template_cat_list, 'spacer');
}
}



Comment ça marche
On rajoute la variable global $AUTHORIZED dans notre fonction ce qui va nous permettre de connaitre le nom de l'utilisateur courant : stripslashes(USER_NAME)
On test le nom avec stripslashes(USER_NAME) != 'Guest' pour savoir s'il le nom de l'utilisateur courant est différent de Guest : != signifie différent
Si c'est le cas on affiche les catégories, sinon on affiche rien.

Résultat si l'utilisateur n'est pas connecté donc navigue avec l'identifiant Guest, il ne voit pas les catégories.

François Keller

merci pour ce partage qui permettra certainement à certains utilisateurs de personnaliser leur galerie.
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

François Keller

Cette astuce peut être adaptée en ajoutant des conditions pour n'afficher que certaines catégories...
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

François Keller

Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

RedMorgan

Merci beaucoup François Keller pour cet "upgrade"  ;D
Cela me donne t'il des devoirs ? Y'a t'il une page expliquant les différents "grades" ?

En tout cas ce "titre" honorifique me fais très plaisir...  8)

François Keller

Il n'y a pas de devoirs, mais simplement une reconnaisance pour le partage effectué.
Mais tu peux continuer à contribuer sans problèmes  ;)
Nous sommes toujours à la recherche de passionnés qui aident à améliorer coppermine
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog