Keine Cache-Version

Caching deaktiviert Standardeinstellung für diese Seite:aktiviert (code LNG204)
Wenn die Anzeige zu langsam ist, können Sie den Benutzermodus deaktivieren, um die zwischengespeicherte Version anzuzeigen.

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

Astuces de l’Infobrol (Développement)Article publié le 31/01/2008 19:48:26


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

Source : indéterminée


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]

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 13/09/2004, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/ast-rf-434.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.