| | Demande d'aide pour gestion d'autorisation dans template | |
|
|
| Auteur | Message |
|---|
 | Sujet: Demande d'aide pour gestion d'autorisation dans template Mar 1 Nov - 23:23 | |
| Ressource: Mon forum Minami Kazoku| Problème que je veux résoudre: | | | | Citation: | Toto fait parti du groupe nomé grouptoto Tata fait parti du groupe nommé gouptata
Sur le forum, dans la panneau de gauche toto voit certaines choses, et tata, d'autres choses.
|
|
Bonsoir
Est ce que quelqu'un pourrait m'aider ? Je bloque sur les autorisations par rapport aux groupes directement dans les templates. Si vous regardez mon forum vous verrez que je l'ai mis dans un tableau. La colonne de gauche est faite main. Je sais donc à peu pres utiliser les trucs du genre
| Code: | <!-- IF S_USER_LOGGED_IN --> Ce que voit l'user online <!-- ELSE --> Ce que voit l'invité <!-- END --> <!-- IF S_USER_LEVEL == "ADMIN" || S_USER_LEVEL == "MOD" --> code affiché uniquement aux utilisateurs étant administrateur ou modérateur <!-- ENDIF --> |
J'ai essayer de taper çà:
| Code: | <!-- IF S_USER_LEVEL == "grouptoto" --> Ce que voit toto <!-- ENDIF -->
<!-- IF S_USER_LEVEL == "grouptata" --> Ce que voit tata <!-- ENDIF -->
|
Ca n'a pas marché. J'ai essayer sans succès de retrouver comment était gérer les affichages des sous forum par rapport aux permissions des utilisateurs. Je m'en remet donc à vous ^^
Merci d’avance.
Dark Schneider |
|
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 | Sujet: Re: Demande d'aide pour gestion d'autorisation dans template Jeu 3 Nov - 13:39 | |
| Coucou  Alors, j'ai regardé, j'ai fouillé les templates, j'ai testé toussa toussa, mais à priori, je dirai que ce que tu veux faire n'est pas possible. En effet, il faudrait qu'on puisse récupérer soit le nom soit l'id du groupe auquel appartient le membre. Et apparement, cette variable n'existe pas sous xooit. |
|
 | |
 | Sujet: Re: Demande d'aide pour gestion d'autorisation dans template Jeu 3 Nov - 16:45 | |
| aie dommage. Est il possible de prendre un raccourci alors ? Genre en utilisant l'ID des membres ? J'ai remarquer qu'en regardant le profil de mes membres, j'avais des trucs du genre: | Code: | http://votreforum/profile.php?mode=viewprofile&u=6 |
ou
| Code: | http://votreforum/profile.php?mode=viewprofile&u=23 |
En changeant juste les deux derniers numéro je peux naviguer de profil en profil. Il y a certainement de moyen d'utiliser ces chiffres non ? |
|
 | |
 | |
 | |
 | Sujet: Re: Demande d'aide pour gestion d'autorisation dans template Ven 4 Nov - 17:59 | |
| Voila exactement. Sinon une autre idée peut etre possible en javascript. J'ai deja trouvé un script qui me permet de sortir le nom d'utilisateur lorsqu'il est connecté sur un forum xooit. C'est ca: | Code: | <script type="text/javascript" > var username = "{L_LOGIN_LOGOUT}"; var username = username.match(/\[ ?(.+) ?\]/); var username = username[0].replace(/\[ ?(.+) ?\]/, "$1"); </script> |
et l'appel:
| Code: | <script type="text/javascript" >document.write(username);</script> |
Fabuleux script ^^ Est il possible de comparer "document.write(username)" à une chaine de caractère ?
du genre: si document.write(username)=='darkschneider' faire.... fin si |
|
 | |
 | |
 | |
 | Sujet: Re: Demande d'aide pour gestion d'autorisation dans template Dim 6 Nov - 0:13 | |
| | Miettes a écrit: | Euh...
C'est juste le mot "déconnexion" en aucun cas le nom de l'utilisateur 
Je regarde pour trouver la bonne variable (mais xooit est bien moins développé que FA...) |
Oui mais il me semble qu'il n'affiche pas toujours la même chose ^^
Voila comment je l'utilise sur mon forum
| Code: | <!-- Début profil --> <!-- Ecriture du script de la balise username (ESBU) --> <script type="text/javascript" > var username = "{L_LOGIN_LOGOUT}"; var username = username.match(/\[ ?(.+) ?\]/); var username = username[0].replace(/\[ ?(.+) ?\]/, "$1"); </script> <!-- Fin de l'ESBU -->
<!-- IF S_USER_LOGGED_IN --> <b><small><script type="text/javascript" >document.write(username);</script></small></b><br /> <!-- ELSE --> <b><small>Bienvenue invité</small></b><br /> <!-- Début du module de conexion pour invité --> <form method="post" action="{S_LOGIN_ACTION}"> <table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline"> <tr> <td class="bar" height="6"></td> </tr> <tr> <td class="row1" align="center" valign="middle" height="28"><span class="gensmall">Pseudo: <input class="post" type="text" name="username" size="6" /><br /> Login: <input class="post" type="password" name="password" size="8" maxlength="32" /><br /> <!-- BEGIN switch_allow_autologin --> Retenir le MdP <input type="checkbox" name="autologin" /> <!-- END switch_allow_autologin --> <input type="submit" class="mainoption" name="login" value="{L_LOGIN}" /> </span> </td> </tr> <tr> <td class="bar" height="6"></td> </tr> </table> </form> <!-- Fin du module de connexion pour invité --> <!-- ENDIF --> <!-- Fin profil -->
|
Ainsi {L_LOGIN_LOGOUT} est utilisé pour créer "username" |
|
 | |
 | |
 | |
 | |
 | |
 | |
 | |
 | Sujet: Re: Demande d'aide pour gestion d'autorisation dans template Mar 15 Nov - 9:36 | |
| Coucou  Bon ! J'ai une solution ^^ Ici, on va supposer que les blocs que tu veux afficher apparaissent sur toutes les pages  Pour cela, on va ouvrir le template "overall_header" (tout se passera ici) 1/ On va commencer par faire un bloc vide qui contiendra le texte désiré dans le cas où l'utilisateur est autorisé à voir le contenu. On va donc repérer dans le template
et juste après on va mettre
| Code: | <div id="bloc_gp1">&*nbsp;</div> |
(sans le *)
2/ Maintenant, le test.
a) on va commencer par "préparer le terrain". Juste après le code html qu'on vient d'écrire, on va mettre
| Code: | <!-- On test si le membre est autorisé à voir le contenu --> <script type="text/javascript" ><!-- le test sera ici
//--> </script> <!-- Fin du test --> |
b) On va maintenant commencer par récupérer le texte "Deconnexion [ Pseudo ]" pour connaitre le pseudo du membre
| Code: | var username = "{L_LOGIN_LOGOUT}"; |
c) On va tester si, dans le texte qu'on a récupéré on a le pseudo du membre qui peut voir notre bloc (ici, je prend mon pseudo comme exemple)
| Code: | var user1=new RegExp("Miettes", "gi"); |
nb : le gi signifie qu'on va regarder dans toute la chaine de caractère (g) et que ça ne doit pas respecter la casse (c'est à dire majuscule et minuscule) (i)
Dans le cas où tu veux le vérifier pour plusieurs membres, il suffit de changer le nom de la variable et le pseudo
| Code: | var user2=new RegExp("essai", "gi"); var user3=new RegExp("visiteur", "gi"); |
d) Maintenant, on va dire au code : "si tu as trouvé le pseudo"
| Code: | if (username.match(user1)){ |
~~> dans le cas où il y a plusieurs pseudos, on va devoir lui dire user1 ou user 2 ou user3... dans ce cas, ça s'écrit
| Code: | if ((username.match(user1)) || (username.match(user2)) || (username.match(user3))) { |
"Tu peux afficher le contenu du bloc gp1"
| Code: | document.getElementById('bloc_gp1').innerHTML = "<p>Mon contenu est ici</p>"; |
"Sinon"
"tu dis au membre qu'il n'est pas autorisé à voir le contenu"
| Code: | document.getElementById('bloc_gp1').innerHTML = "<p>Vous n'êtes pas autorisé à voir ce qu'il y a ici</p>"; |
nb : Comme c'est du javascript et qu'on commence à le lire avec des "..." on ne va pas pouvoir mettre des guillemets comme dans le code. Il faut les "masquer". Pour cela, on va juste ajouter un \ avant chaque " de notre code. Par exemple
| Code: | document.getElementById('bloc_gp1').innerHTML = "<p style=\"color:blue; font-weight:bold; font-size:12px;\">Mon contenu est ici</p>"; |
-------
Au final, on a donc ce javascript :
| Code: | <!-- On test si le membre est autorisé à voir le contenu --> <script type="text/javascript" ><!-- var username = "{L_LOGIN_LOGOUT}"; /* On récupére le texte "Deconnexion [ Pseudo ]"*/ var user1=new RegExp("Miettes", "gi"); /* On regarde dans la variable username si le pseudo apparait*/ var user2=new RegExp("essai", "gi"); if ((username.match(user1)) || (username.match(user2))) { /* Si le pseudo est ok, on affiche ce qu'on veut que le membre voit */ document.getElementById('bloc_gp1').innerHTML = "<p style=\"color:blue; font-weight:bold; font-size:12px;\">Mon contenu est ici</p>"; }else{ /* Sinon, on dit au membre qu'il n'est pas autorisé à voir le contenu du bloc */ document.getElementById('bloc_gp1').innerHTML = "<p>Vous n'êtes pas autorisé à voir ce qu'il y a ici</p>"; }
//--> </script> <!-- Fin du test --> |
|
|
 | |
| | Demande d'aide pour gestion d'autorisation dans template | |
|