valeur de retour admin ou pas

valeur de retour admin ou pas

par Jean-François PETIT,
Nombre de réponses : 4

Bonjour

Je souhaiterai connaitre la fonction qui permet de verifier que l'on est admin ou eventuellement une valeur que je ne trouve pas de maniere a pouvoir laisser executer un script uniquement par un administrateur .

 

 

Moyenne des évaluations  -
En réponse à Jean-François PETIT

Re: valeur de retour admin ou pas

par Valery Fremaux,
Avatar Développeurs de plugins
Le plus simple est de tester la capacité moodle/site:config :

   $contextsystem = context_system::instance();
   require_capability('moodle/site:config', $contextsystem);

Il faut que le script ait endossé l'identité de l'admin s'il est lancé par une console. ou alors le require_login() fournit la variable $USER correcte de la session administrateur.


En réponse à Valery Fremaux

Re: valeur de retour admin ou pas

par Jean-François PETIT,

le contextsystem me renvoie ca

object(context_system)#24 (5) { ["_id":protected]=> int(1) ["_contextlevel":protected]=> int(10) ["_instanceid":protected]=> string(1) "0" ["_path":protected]=> string(2) "/1" ["_depth":protected]=> string(1) "1" }

Mais je ne peux pas évaluer si la personne qui se connecte est un admin ou pas quelle valeur dans $USER me renvoi une identité admin , un var_dump ne me renvoi que des info utilisateur et pas la capabilité admin....ou alors je le vois pas?

 

JFP

En réponse à Jean-François PETIT

Re: valeur de retour admin ou pas

par Arnaud Trouvé,
Avatar Développeurs Avatar Développeurs de plugins
Afin de déterminer si un utilisateur est dans la liste des administrateurs du site vous pouvez utiliser la fonction is_siteadmin() définie dans lib/accesslib.php (https://github.com/moodle/moodle/blob/a15c7459360f220a34c138f808340e3848c85b7c/lib/accesslib.php#L643)
Moyenne des évaluations Utile (1)
En réponse à Arnaud Trouvé

Re: valeur de retour admin ou pas

par Jean-François PETIT,

Merci pour votre réponse, en effet en activant les fonctions de Valery j ai le code de retour true a la fonction  is_siteadmin()

JFP