Aide MDP PunBB & Pluxml !
Salut à tous !
Je vous écrit parce que je cherche à terminer un truc que quelqu'un m'a commencé concernant la synchronisation de certains mots de passe du Forum avec ceux de l'administration de Pluxml. Mais pour en savoir plus aller ici :
http://www.punbb.fr/forums/viewtopic.php?id=5603
En espérant qu'une bonne âme puisse m'aider o_O, merci d'avance...
Je vous écrit parce que je cherche à terminer un truc que quelqu'un m'a commencé concernant la synchronisation de certains mots de passe du Forum avec ceux de l'administration de Pluxml. Mais pour en savoir plus aller ici :
http://www.punbb.fr/forums/viewtopic.php?id=5603
En espérant qu'une bonne âme puisse m'aider o_O, merci d'avance...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Mais ça m'affiche l'erreur suivante quand je me connecte :
Parse error: syntax error, unexpected T_BOOLEAN_OR, expecting '(' in /home/olympe-network/scoperta/core/admin/prepend.php on line 33
ton problème actuel se situe ligne 33, instruction:
$pun_user != array
comme on te l'a indiqué sur PunBB (http://fr.php.net/manual/fr/function.in-array.php), array est un mot réservé en Php servant à définir un tableau de variables $auto = array (...), il faut donc tester si une valeur fait partie du tableau (in_array).
si tu veux progresser un minimum en php (et la tâche que tu veux faire le nécessite), tu trouveras tout sur php.net. dès que tu ne connais pas un terme, utilise la recherche en haut à droite, tu progresseras pas à pas.
sans savoir/comprendre où tu vas aboutir, tu devras donc employer:
... || !in_array($pun_user,$auto) || ...
ta condition veut grossièrement dire:
Si user pun n'est pas du groupe admin
ou bien si user pun ne fait pas partie du tableau des autorisations
ou bien si user pun n'est pas du groupe 5
alors tu le rediriges sur la page d'authentification de punBB (instruction header)
remarque: tu as placé des 'echo ...' pour tester la valeur de variables, pour le tableau utilises print_r($auto)
une fois testées, enlèves ces deux lignes, car _aucun_ affichage ne doit être fait avant une instruction header().
> faire en sorte de demander un MDP lorsque l'on clique sur les paramètres.
et si tu ne trouves pas ta solution dans un mod déjà fait (il me semble déjà avoir aperçu une gestion des droits), j'essayerai de jouer avec les droits sur core/admin/parametres.php avec un fichier .htaccess dans le répertoire core/admin, protégeant parametres.php.
c'est moins élégant que de modifier le code de pluxml, mais ça doit faire l'affaire.
Voici la page modifiée :
J'ai essayé sans les lignes de test et ça me fait la même chose.
quand tu dis:
> il me redirige sur le forum que je sois admin ou rédacteur...
tu parles de la page login.php de punbb j'imagine ?
en commentaire dans le programme, tu indiques:
# Si tu n'es pas loggé et admin ou un autorisée du forum, redirection ...
or dans le test, il y a des ou de partout (||).
le et en php, c'est: &&
problème de logique ? tu peux être admin mais dans ce cas comme aussi tu n'es pas dans les autorisés, tu passes par login.php quand même, c'est le comportement programmé.
attention les conditions utilisent des négations (!) ou des différences (!=). l'égalité dans un test c'est ==
à vue de nez, j'aurai trouvé plus logique:
if ( $pun_user != PUN_ADMIN
&& !in_array($pun_user,$auto)
&& $pun_user != '5' )
{ ....
pour revenir à un test plus compréhensible, ama, en inversant les instructions et le test, tu pourrais utiliser:
if (
$pun_user == PUN_ADMIN
|| in_array($pun_user,$auto)
|| $pun_user == '5'
)
{
# Création de l'objet 'admin' utile aux fonctions de pluxml
$admin = new admin(PLX_CONF);
$_SESSION = pun_htmlspecialchars($pun_user);
} else {
header('Location: '.PUN_ROOT.'login.php');
exit;
}
autrement dit, si tu es admin, ou bien si tu es dans les autorisés ou bien du groupe5, alors tu poursuis normalement pluxml, sinon login.php
est-ce mieux comme ça ?
par contre, je trouve la ligne suivante écrite en haut de l'administration : Array ( [0] => Azakronn [1] => Alfast ) Paeleben. Cette même ligen s'affiche quan dj'ouvre le fichier prepend.php.
Et sinon, j'essaie d me déconnecter et de me re-logger avec un autre identifiant mais il me garde l'ancien dans l'administration de Pluxml.
N'y aurait-il pas moyen de pouvoir se déconnecter de l'admin de Pluxml en même temps que se déonnecter du forum ?
à priori, la ligne, avec l'instruction de test print_r($auto); n'est pas commentée, rajoute // en début de ligne pour la mettre en commentaire ou bien supprime là.
>N'y aurait-il pas moyen de pouvoir se déconnecter...
heu, je te préviens que je n'ai pas d'install punbb pour tester, alors sans garantie:
dans le fichier core/admin/auth.php de pluxml, à la ligne 9, si tu rajoutes 3 lignes pour obtenir cette partie: qu'est-ce que cela donne?
Je te remercie énormément pour ton aide parce que qqn a pu finir ce que je voulais hier et tout marche parfaitement bien. Il avait pris ta dernière MAJ #7.
Eh c'est vrai que je n'avais pas pensé aux commentaires du tout, bien que tu me l'avais dit au dessus. Enfin je suis super content, maintenant, tout fonctionne bien. Ce qui va être moins évident, c'est d'essayer de refaire la même chose avec la prochaine v. de PLuxml. Mais on y est pas encore.
Merci encore, et @++
eh bien c'est parfait.
peut-être pourrais-tu publier la méthode de déconnexion automatique si elle diffère de celle que j'ai pu imaginer? cela pourrait intéresser d'autres personnes.
>refaire la même chose avec la prochaine v. de PLuxml
eh bien à la prochaine version alors