Aide générale [Réglé] PhpFreeChat
Reprise du message précédent
non normalement le isadmin est pris en fonction du rang pbt.Code PHP :
if( $User->Check_level(ADMIN_LEVEL) ) { // Administrateur $params["debug"] = true ; $params["isadmin"] = true ; } //admin
cette partie sert justement a cela.
si tu m'expliquer plis précisément qui dois avoir acces a phpfreechat, je pourrais peut etre essayer de voir ce que l'on peut faire.
Accroche toi au clavier, je retire le shell...
sur ce coup là j'avai passé le "isadmin" à False (comme indiqué dans leur doc) pensant que sa gardait le même fonctionnement et que la personne connecté était par conséquant "admin".
J'ai vu pour la définition des admins ou modérateur dans le php de phpfreechat et les quelques options qui vont avec.
Me reste plus qu'a trouver la partie pour limiter les accès, pas en ecriture mais directement en "accessibilité", ne pas pouvoir l'afficher du tout, c'est pourquoi je comparais ça aux droits donnés pour les pages, car dans le domaine du gaming, pégase pourra affirmer, on a des boulets qui viendraient squater le chat pour se plaindre et autre en permanence.
La solution réside dans un chat "Ultra" privé inaccéssible à ceux n'étant pas dans des groupes (du site) définis.
Une fois ça opérationnel tout sera ok coté technique, je n'aurai plus qu' a finir avec le design du site et vous montrer ça ...
J'ai vu pour la définition des admins ou modérateur dans le php de phpfreechat et les quelques options qui vont avec.
Me reste plus qu'a trouver la partie pour limiter les accès, pas en ecriture mais directement en "accessibilité", ne pas pouvoir l'afficher du tout, c'est pourquoi je comparais ça aux droits donnés pour les pages, car dans le domaine du gaming, pégase pourra affirmer, on a des boulets qui viendraient squater le chat pour se plaindre et autre en permanence.
La solution réside dans un chat "Ultra" privé inaccéssible à ceux n'étant pas dans des groupes (du site) définis.
Une fois ça opérationnel tout sera ok coté technique, je n'aurai plus qu' a finir avec le design du site et vous montrer ça ...
pour cela il me faudrais le numero du groupe que tu souhaite autoriser.
pour conaitre le numero du groupe tu vas dans la gestion de ceux ci, c'est dans l'url.
par exemple sur csn, le groupe graphiste c'est le n°3 : /member-0.php?g=3
je regarderais les modifs a faire en php pour limité a ce groupe l'acces au chat. (miaou ... )
il me semble que la solution la plus sure pour limité l'acces.
pour conaitre le numero du groupe tu vas dans la gestion de ceux ci, c'est dans l'url.
par exemple sur csn, le groupe graphiste c'est le n°3 : /member-0.php?g=3
je regarderais les modifs a faire en php pour limité a ce groupe l'acces au chat. (miaou ... )
il me semble que la solution la plus sure pour limité l'acces.
Accroche toi au clavier, je retire le shell...
une ébauche vite fait donnerais sa :
Code PHP :
<?php //donées phpfreechat require_once "src/phpfreechat.class.php"; // chemin des sources du script $params["serverid"] = md5(__FILE__); // controle md5 $params["refresh_delay"] = 2000; // refresh pour l'affichage : 2000ms = 2s $params["language"] = "fr_FR"; // code langages $params["title"] ="Discution en ligne"; // nom du chat (serveur) $params["channels"] = array("Accueil"); // nom du chat principal /////////////////////////////////////////////////////// // valeur a modifier pour mettre le bon n° de groupe // /////////////////////////////////////////////////////// $group_access = '2' ; /////////////////////////////////////////////////////// // valeur a modifier pour mettre le bon n° de groupe // /////////////////////////////////////////////////////// // donée pbt include_once('../kernel/begin.php'); if ($User->check_level(MEMBER_LEVEL)) //Membre Connecté. { $login = $User->get_attribute('login') ; ////////// $result = $Sql->query_while("SELECT login, user_id, user_groups FROM " . PREFIX . "member WHERE login = '".$login."' ORDER BY user_id ", __LINE__, __FILE__); while ($row = $Sql->fetch_assoc($result)) { $user_groups = explode('|', $row['user_groups']); if (in_array($group_access, $user_groups)) { $allow_access= '1'; } } ////////// $params["nick"] = iconv("ISO-8859-1", "UTF-8", $login) ; if( $User->Check_level(ADMIN_LEVEL) ) { // Administrateur $params["debug"] = true ; $params["isadmin"] = true ; // access admin !!! $allow_access= '1'; } //admin } //membre connecté $chat = new phpFreeChat( $params ); $chat->printJavascript(); $chat->printStyle(); define('TITLE', $params["title"]); //Inclusion du header include_once('../kernel/header.php'); if($allow_access== '1'){ $chat->printChat(); }else{ $Errorh->handler('e_auth', E_USER_REDIRECT); } include_once('../kernel/footer.php'); ?>
Accroche toi au clavier, je retire le shell...
pourquoi un passe partout ?
tu parles de ça ? car l'admin se définit, de ce que j'ai lu, dans pfcglobalconfig.class.php.
Si c'est fais via ce que tu m'as mi, ça correspond au n° du membre concerné ?
on peut mettre plusieurs groupes ? Edité par Bloodric Le 07/12/2010 à 19h56
Code PHP :
// access admin !!! $allow_access= '1';
tu parles de ça ? car l'admin se définit, de ce que j'ai lu, dans pfcglobalconfig.class.php.
Si c'est fais via ce que tu m'as mi, ça correspond au n° du membre concerné ?
on peut mettre plusieurs groupes ? Edité par Bloodric Le 07/12/2010 à 19h56
que la mise en variable que tu a cité plus haut permet a l'admin d'avoir acces au tchat, c'est pas une fonctionalité de phpfreechat, juste de la page que tu as
j'ai fais diférant controle sur les user de pbt, en fonction des resultat il y a acces au chat, ou pas.
cette citation, permet a l'amin l'acces.
je suis pas sur d'etre clair
j'ai fais diférant controle sur les user de pbt, en fonction des resultat il y a acces au chat, ou pas.
cette citation, permet a l'amin l'acces.
je suis pas sur d'etre clair
Accroche toi au clavier, je retire le shell...
il suffit de dupliquer les lignes :
et de modifier dans la deuxieme pour le segond groupe. par exemple pour le groupe defini plus haut, plus un autre... le 8 par exemple :
sa devrais passer, on pourrais aussi définir un array dans la 1ere variable, mais c'est moins simple a modifier si par la suite tu change de groupe ... penser a repasser en variable sans tableau tout sa ...
c'est plus simple, plus long, moinsjolie esthétique, mais tout aussi fonctionnel, et sans pour au-temps avoir de faille.
Code PHP :
if (in_array($group_access, $user_groups)) { $allow_access= '1'; }
et de modifier dans la deuxieme pour le segond groupe. par exemple pour le groupe defini plus haut, plus un autre... le 8 par exemple :
Code PHP :
sa devrais passer, on pourrais aussi définir un array dans la 1ere variable, mais c'est moins simple a modifier si par la suite tu change de groupe ... penser a repasser en variable sans tableau tout sa ...
c'est plus simple, plus long, moins
Accroche toi au clavier, je retire le shell...
Test ok pour le modèle simple $group_access = '2' , j'ai tester avec d'autres profils en les changeant de groupe et l'accès n'est autorisé qu' au groupe 2 (nickel) + Administrateur et ce peut importe le groupe.
Par contre pour l'histoire du tableau, c'est plus flou.
Je retest ce soir car j'ai du merdouillé. Je reveins vers toi dès que je suis sur de ne pas avoir fait n'importe quoi pour te dire si ça passe. Edité par Bloodric Le 08/12/2010 à 10h42
Par contre pour l'histoire du tableau, c'est plus flou.
Je retest ce soir car j'ai du merdouillé. Je reveins vers toi dès que je suis sur de ne pas avoir fait n'importe quoi pour te dire si ça passe. Edité par Bloodric Le 08/12/2010 à 10h42
qul tableau ?¿ pour la variable, justement c'est pour ne pas l'utiliser.
les variable php peuvent etre organiser en tableau, elle peuvent contenir plus que de simple valeurs, et meme plusieurs, organiser en tableau ou pas.
mais sa n'a tien a voir avec un tableau html ou autre, c'est une architecture de donnée.
les variable php peuvent etre organiser en tableau, elle peuvent contenir plus que de simple valeurs, et meme plusieurs, organiser en tableau ou pas.
mais sa n'a tien a voir avec un tableau html ou autre, c'est une architecture de donnée.
Accroche toi au clavier, je retire le shell...
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie