FAQ : Développement de modules

De HackBBS
Aller à la navigation Aller à la recherche

Utiliser les sessions

Le noyau gère une pseudo isolation des variables de session. Ceci empèche un module d'écraser accidentellement une variable de session d'un autre module.

Il est donc prohibé d'utiliser directement le $_SESSION de php. Pour setter / getter des variables de session, vous devez passer le service SessionService.

Pour setter une variable de session, il vous faudra une instance de votre implémentation de IModule ou a défaut le nom de la classe qui implémente IModule dans votre module.


/*Sette une variable de session*/

SessionService::setSessionVarForModule($instancedeIModule, "nomVariableDeSession", $variableDeSession);

/*Recupere une variable de session*/

SessionService::getSessionVarForModule($instancedeIModule, "nomVariableDeSession");

Récupérer l'utilisateur actuellement identifié

SessionService::getAuthenticatedUsed();

Renvoie un objet du type User contenant les informations de l'utilisateur actuellement loggé.

Vérifier si un utilisateur est connecté

UserService::getInstance()->isUserLoggedIn();

Renvoie true si un utilisateur est loggué, false sinon.

Vérifier les permissions d'un utilisateur

UserService::getInstance()->isUserAllowed($permission);

Renvoie true si l'utilisateur actuellement loggué dispose de la permission envoyée en argument. False sinon.

Documentation des modules pour les utilisateurs

Certaines commandes doivent être expliquées aux utilisateurs les plus débutants.

La documentation de ces commandes peut être hébergée sur ce wiki, ce qui facilite la mise à jour du contenu. Pour accéder au contenu du wiki, Reloaded peut utiliser l'API de MediaWiki. Voici un exemple de page :

HackBBS:Py

HackBBS:Authentification

HackBBS:Cat

HackBBS:Chat

HackBBS:FindProxy

HackBBS:Help

HackBBS:Ls

HackBBS:Nft

HackBBS:NoHelper

HackBBS:Reset

HackBBS:Rm

HackBBS:SetProxy

HackBBS:Edit

HackBBS:Msg