FAQ : Développement de modules

De HackBBS
Révision datée du 1 décembre 2023 à 16:29 par Korigan (discussion | contributions) (A protégé « FAQ : Développement de modules » : Pages devant etre protegees car incluse dans l'IHM de HackBBS Reloaded ([Modifier = Autoriser uniquement les administrateurs] (infini) [Renommer = Autoriser uniquement les administrateurs] (infini)) [protection en cascade])
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 :

Py

Authentification

Cat

Chat

FindProxy

Help

Ls

Nft

NoHelper

Reset

Rm

SetProxy