Vous devez être membre et vous identifier pour publier un article.
Les visiteurs peuvent toutefois commenter chaque article par une réponse.

[phpBB3] Permissions des forums

Sommaire du document

Astuces de l’Infobrol (Développement)Article publié le Jeudi 31 Janvier 2008, 19:48


Les méthodes



$auth-›acl_get(’f_’); Permissions du forum (généralité)
$auth-›acl_get(’f_announce’); Peut poster des annonces
$auth-›acl_get(’f_attach’); Peut attacher des fichiers
$auth-›acl_get(’f_bbcode’); Peut utiliser le BBCode
$auth-›acl_get(’f_bump’); Peut remonter les sujets
$auth-›acl_get(’f_delete’); Peut détruire ses messages
$auth-›acl_get(’f_download’); Peut télécharger des fichiers
$auth-›acl_get(’f_edit’); Peut éditer ses messages
$auth-›acl_get(’f_email’); Peut envoyer des sujets par mail
$auth-›acl_get(’f_flash’); Peut poster du Flash
$auth-›acl_get(’f_icons’); Peut utiliser les icônes des messages
$auth-›acl_get(’f_ignoreflood’); Peut ignorer la limite de flood
$auth-›acl_get(’f_img’); Peut poster des images
$auth-›acl_get(’f_list’); Peut accéder au forum
$auth-›acl_get(’f_noapprove’); Peut poster sans devoir être approuvé
$auth-›acl_get(’f_poll’); Peut créer des sondages
$auth-›acl_get(’f_post’); Peut créer des nouveaux sujets
$auth-›acl_get(’f_postcount’); Incrémente le nombre de messages postés (appliqué aux nouveaux messages)
$auth-›acl_get(’f_print’); Peut imprimer les sujets
$auth-›acl_get(’f_read’); Peut lire le forum
$auth-›acl_get(’f_reply’); Peut répondre aux sujets
$auth-›acl_get(’f_report’); Peut rapporter les messages
$auth-›acl_get(’f_search’); Peut chercher dans le forum
$auth-›acl_get(’f_sigs’); Peut utiliser sa signature
$auth-›acl_get(’f_smilies’); Peut poster des émoticônes
$auth-›acl_get(’f_sticky’); Peut poster des post-it
$auth-›acl_get(’f_subscribe’); Peut souscrire au forum
$auth-›acl_get(’f_user_lock’); Peut verrouiller ses propres sujets
$auth-›acl_get(’f_vote’); Peut voter dans les sondages
$auth-›acl_get(’f_votechg’); Peut modifier un vote existant

Exemples


Récupérer l’utilisateur phpBB3


Pour rappel, il est possible de récupérer l’utilisateur phpBB3 de cette manière :

  1. if(!defined(’IN_PHPBB’))
  2. {
  3. define(’IN_PHPBB’, true);
  4. }
  5. $phpbb_root_path=’forum/;
  6. include_once($phpbb_root_path.’common.php’);
  7. $user->session_begin();
  8. $auth->acl($user->data);


  1. if(!defined(’IN_PHPBB’))
  2. {
  3. define(’IN_PHPBB’, true);
  4. }

Si nous ne définissons pas cette variable, le forum renverra immédiatement une page vide.

  1. $phpbb_root_path=’forum/;

Ici, nous définissons le chemin pour atteindre la racine du forum

  1. $user->session_begin();

Nous démarrons la session phpBB. Nous pouvons donc accéder aux informations relatives à l’utilisateur en cours.

Par exemple,
  1. echo $user->data[’username’];

permet d’afficher le nom d’utilisateur.


  1. $auth->acl($user->data);

Cette partie est facultative, et permet d’utiliser les permissions de phpBB

Restriction d’accès des forums


Nous devons parfois déterminer quels sont les forums que le visiteur peut lire, pour masquer les forums cachés. Il suffit de demander à l’objet $auth que le forum nous fournit (voir le fichier includes/auth.php) et d’invoquer sur lui la méthode acl_get. Nous passons en argument à cette méthode ’f_’ pour signaler que nous désirons accéder aux permissions des forums, puis ’read’ pour signaler que nous désirons consulter les permissions en lecture.

Deux approches sont possibles :
  1. soit ne chercher que dans les forums permis (indiqué quand il existe plus de forums cachés que de forums visibles)
  2. soit exclure les forums cachés (recommandé dans le cas où il existe plus de forums visibles que de forums cachés)


Le code suivant nous fournit donc un tableau avec les identifiants des forums à masquer au visiteur :
  1. $notAllowedForums = array();
  2. $notAllowedForums = array_keys($auth->acl_getf(!f_read’, true));

Nous pouvons remarquer le signe ! pour demander seulement ceux pour lesquels l’utilisateur ne possède pas de droit de lecture.

Si nous avons une requête sql contenue dans la variable $sql, nous pouvons ajouter à la clause WHERE une condition supplémentaire en excluant les forums cachés :
  1. $sql .=’ WHERE topic_moved_id = 0;
  2.  
  3. if(sizeof($notAllowedForums))
  4. {
  5. $sql .=’ AND forum_id NOT IN(. implode(,, $notAllowedForums) .);
  6. }


Erreur ???


Si vous rencontrez l’erreur suivante : The config. file could not be found. Click here to install phpBB, pensez avant tout à vérifier que vous avez préalablement déclaré la variable $phpEx et que vous lui avez affecté la valeur de l’extension (ex : $phpEx = ’php’;).

Avancé


Nous pouvons travailler de cette manière pour intégrer les sessions phpBB à notre site, mais nous sommes alors entièrement dépendants des modifications apportées au forum.
Il est préférable de créer notre propre classe utilisateur, et affecter les valeurs de l’utilisateur phpBB aux variables de cette classe. Il faut aussi redéfinir les méthodes relatives à la sécurité.

De cette manière, nous sommes indépendants du forum, et il suffit de modifier à un seul endroit le cargement des données pour ne plus utiliser phpBB, ou si les méthodes de phpBB sont modifiées.

Avatar :: Steph Un article de Steph, lu 1362 fois.


Source : indéterminée


Commentaires

Sélection, tri et recherche d'articles
FILTRER :
TRIER :1er critère : 2e critère :
CHERCHER : Dans les titres Dans le contenu


[Afficher les liens en fonction des critères du formulaire ci-dessus]

 

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

212 mots clés dont 1 définis manuellement (plus d'information...).

define !defined !f_read $auth->acl $auth->acl_get $auth->acl_getf $notAllowedForums $phpbb_root_path. $phpbb_root_path= $phpEx $user->data $user->session_begin /syntax accès accéder acl_get affecter affecté afficher ajouter annonces appliqué apportées approches approuvé argument array_keys astuce attacher atteindre Avancé BBCode cachés cachés. cargement chemin chercher classe classe. clause common.php condition config. consulter contenue cours. créer demander devoir devons données déclaré définissons démarrons dépendants désirons déterminer détruire endroit entièrement envoyer Erreur excluant exclure exemple Exemples existant existe extension f_announce f_attach f_bbcode f_bump f_delete f_download f_edit f_email f_flash f_icons f_ignoreflood f_list f_noapprove f_poll f_post f_postcount f_print f_read f_reply f_report f_search f_sigs f_smilies f_sticky f_subscribe f_user_lock f_vote f_votechg facultative fichier fichiers forum forum. forum/ forum_id forums found. fournit Gaudry généralité icônes identifiants ignorer images immédiatement implode imprimer IN_PHPBB include_once includes/auth.php Incrémente indiqué indépendants informations install intégrer invoquer lecture. lesquels limite manière masquer messages modifications modifier modifiées. méthode méthodes nombre nouveaux parfois partie passons pensez permet permis Permissions phpBB phpBB. phpBB3 possible possibles possède post-it poster postés pouvons propre propres préalablement préférable racine rappel rapporter recommandé redéfinir relatives remarquer remonter rencontrez renverra requête Restriction Récupérer répondre session sessions seulement signaler Signaler une erreur signature sizeof sommes sondages souscrire Stéphane Gaudry suffit suivant suivante sujets supplémentaire syntax= sécurité. tableau tip topic_moved_id travailler télécharger username utilisateur utilisateur. utiliser valeur valeurs variable variables verrouiller vide. visibles visiteur vérifier éditer émoticônes

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-419
Document créé le 12/09/04 23:00, dernière modification le Vendredi 17 Juin 2011, 11:11
Source du document imprimé : http://www.gaudry.be/ast.html Document affiché 2064 fois ce mois de Février.
St.Gaudry©07.01.02
 
l'infobrol
Nous sommes le Jeudi 09 Février 2012, 21:37, toutes les heures sont au format GMT+1.00 Heure, heure d'hiver