« FAQ : Développement de modules » : différence entre les versions

De HackBBS
Aller à la navigation Aller à la recherche
Tortukitu (discussion | contributions)
Page créée avec « == 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... »
 
Aucun résumé des modifications
 
(11 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 10 : Ligne 10 :
<code>
<code>
/*Sette une variable de session*/
/*Sette une variable de session*/
SessionService::setSessionVarForModule($instancedeIModule, "nomVariableDeSession", $variableDeSession);
SessionService::setSessionVarForModule($instancedeIModule, "nomVariableDeSession", $variableDeSession);
/*Recupere une variable de session*/
/*Recupere une variable de session*/
SessionService::getSessionVarForModule($instancedeIModule, "nomVariableDeSession");
SessionService::getSessionVarForModule($instancedeIModule, "nomVariableDeSession");
</code>
</code>
== 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]]

Dernière version du 9 janvier 2024 à 01:33

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