27/05/2010, 09:39:03
On pourrait faire quelque chose d'assez simple pour récupérer le nom d'utilisateur à afficher avant de poster dans la shootbox.
On pourrait charger à la demande (grâce à une fonctionnalité dans le panneau d'admin) un fichier de classes php. L'utilisateur averti ou la communauté pourrait alors créer ces fichiers classes en fonction des gestionnaires de forums existants.
Je m'explique et prend pour exemple vBulletin 3.7.
Je créé un fichier class.vbulletin-3.7.php dans le répertoire du module.
Le script de la shootbox va chercher un fichier nommé class.*.php et stocke dans la variable $forum_class le nom du fichier (sans extension) et le charge :
Ce fichier comportera une seule fonction "static" : UserReturn()
Et le script de la Shootbox lancera l'appel à cette fonction par :
Le script récupère alors simplement le nom d'utilisateur.
Si aucun fichier class ou si le retour de la fonction renvoi "null" alors on affiche un input text pour saisir son pseudo.
Toute la partie "compliquée" de récupération du pseudo est décentralisée dans chaque fichier class.*.php
La communauté de développeur aura ainsi la possibilité de faire évoluer la shootbox grâce à un fichier.
Si à terme le module se voit doté de 10 fichiers classes différents, il suffira par défaut de les nommer "_class.*.php" et de supprimer le premier underscore pour activer la classe choisie.
Ca te semble plus simple ou pas ?
On pourrait charger à la demande (grâce à une fonctionnalité dans le panneau d'admin) un fichier de classes php. L'utilisateur averti ou la communauté pourrait alors créer ces fichiers classes en fonction des gestionnaires de forums existants.
Je m'explique et prend pour exemple vBulletin 3.7.
Je créé un fichier class.vbulletin-3.7.php dans le répertoire du module.
Le script de la shootbox va chercher un fichier nommé class.*.php et stocke dans la variable $forum_class le nom du fichier (sans extension) et le charge :
Code :
require_once('class.' . $forum_class . '.php') ;
Et le script de la Shootbox lancera l'appel à cette fonction par :
Code :
$shootbox_user = call_user_func($forum_class .'::UserReturn');
Si aucun fichier class ou si le retour de la fonction renvoi "null" alors on affiche un input text pour saisir son pseudo.
Toute la partie "compliquée" de récupération du pseudo est décentralisée dans chaque fichier class.*.php
La communauté de développeur aura ainsi la possibilité de faire évoluer la shootbox grâce à un fichier.
Si à terme le module se voit doté de 10 fichiers classes différents, il suffira par défaut de les nommer "_class.*.php" et de supprimer le premier underscore pour activer la classe choisie.
Ca te semble plus simple ou pas ?