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
Article publié le 31/01/2008 19:48:26Les 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 :
Code php (8 lignes)
{ } $phpbb_root_path=’forum/’; include_once($phpbb_root_path.’common.php’); $user-›session_begin(); $auth-›acl($user-›data);
Si nous ne définissons pas cette variable, le forum renverra immédiatement une page vide.
Code php (1 ligne)
$phpbb_root_path=’forum/’;
Ici, nous définissons le chemin pour atteindre la racine du forum
Code php (1 ligne)
$user-›session_begin();
Nous démarrons la session phpBB. Nous pouvons donc accéder aux informations relatives à l’utilisateur en cours.
Par exemple,
Code php (1 ligne)
echo $user-›data[’username’];
permet d’afficher le nom d’utilisateur.
Code php (1 ligne)
$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 :
- soit ne chercher que dans les forums permis (indiqué quand il existe plus de forums cachés que de forums visibles)
- 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 :
Code php (2 lignes)
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 :
Code php (6 lignes)
$sql .=’ WHERE topic_moved_id = 0’; { }
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.
Un article de Steph
Source : indéterminée
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.