admin.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Functions
- inc_admin_dist() : string
- Teste qu'un utilisateur a des droits sur les fichiers du site et exécute l'action (en base) demandée si c'est le cas.
- admin_verifie_session() : string
- Gestion dans la meta "admin" du script d'administation demandé, pour éviter des exécutions en parallèle, notamment après Time-Out.
- dir_admin() : string
- Retourne l'emplacement du répertoire où sera testé l'accès utilisateur
- fichier_admin() : string
- Retourne le nom d'un fichier de teste d'authentification par accès aux fichiers
- debut_admin() : string
- Demande la création d'un répertoire (pour tester l'accès de l'utilisateur) et sort ou quitte sans rien faire si le répertoire est déjà là.
- fin_admin() : mixed
- Clôture la phase d'administration en supprimant le répertoire testant l'accès au fichiers ainsi que les metas d'exécution
- copy_request() : string
- Génère un formulaire avec les données postées
Functions
inc_admin_dist()
Teste qu'un utilisateur a des droits sur les fichiers du site et exécute l'action (en base) demandée si c'est le cas.
inc_admin_dist(string $script, string $titre[, string $comment = '' ][, bool $anonymous = false ]) : string
Demande / vérifie le droit de création de répertoire par le demandeur; Mémorise dans les meta que ce script est en cours d'exécution. Si elle y est déjà c'est qu'il y a eu suspension du script, on reprend.
Parameters
- $script : string
-
Script d'action (en base) à exécuter si on a des droits d'accès aux fichiers
- $titre : string
-
Titre de l'action demandée
- $comment : string = ''
-
Commentaire supplémentaire
- $anonymous : bool = false
-
?
Tags
Return values
string —Code HTML de la page (pour vérifier les droits), sinon code HTML de la page après le traitement effectué.
admin_verifie_session()
Gestion dans la meta "admin" du script d'administation demandé, pour éviter des exécutions en parallèle, notamment après Time-Out.
admin_verifie_session(string $script[, bool $anonymous = false ]) : string
Cette meta contient le nom du script et, à un hachage près, du demandeur. Le code de ecrire/index.php dévie toute demande d'exécution d'un script vers le script d'administration indiqué par cette meta si elle est là.
Au niveau de la fonction inc_admin, on controle la meta 'admin'.
- Si la meta n'est pas là, c'est le début on la crée.
- Sinon, si le hachage actuel est le même que celui en base, c'est une reprise, on continue.
- Sinon, si le hachage diffère à cause du connect, c'est une arrivée inoppotune, on refuse sa connexion.
- Enfin, si hachage diffère pour une autre raison, c'est que l'operation se passe mal, on la stoppe
Parameters
- $script : string
-
Script d'action (en base)
- $anonymous : bool = false
-
?
Tags
Return values
string —Code HTML si message d'erreur, '' sinon;
dir_admin()
Retourne l'emplacement du répertoire où sera testé l'accès utilisateur
dir_admin() : string
Dans le répertoire temporaire si on est admin, sinon dans le répertoire de transfert des admins restreints
Return values
string —Chemin du répertoire.
fichier_admin()
Retourne le nom d'un fichier de teste d'authentification par accès aux fichiers
fichier_admin(string $action[, string $pref = 'admin_' ]) : string
Le nom calculé est un hash basé sur l’heure, l’action et l’auteur.
Parameters
- $action : string
-
Nom du script d'action (en base)
- $pref : string = 'admin_'
-
Préfixe au nom du fichier calculé
Tags
Return values
string —Nom du fichier
debut_admin()
Demande la création d'un répertoire (pour tester l'accès de l'utilisateur) et sort ou quitte sans rien faire si le répertoire est déjà là.
debut_admin(string $script[, string $action = '' ][, string $corps = '' ]) : string
Si l'on est webmestre, la plupart des actions n'ont pas besoin de tester la création du répertoire (toutes sauf repair ou delete_all). On considère qu'un webmestre a déjà du prouver ses droits sur les fichiers. Dans ce cas, on quitte sans rien faire également.
Parameters
- $script : string
-
Script d'action (en base) à exécuter ensuite
- $action : string = ''
-
Titre de l'action demandée
- $corps : string = ''
-
Commentaire supplémentaire
Tags
Return values
string —Code HTML de la page (pour vérifier les droits), sinon chaîne vide si déjà fait.
fin_admin()
Clôture la phase d'administration en supprimant le répertoire testant l'accès au fichiers ainsi que les metas d'exécution
fin_admin(string $action) : mixed
Parameters
- $action : string
-
Nom de l'action (en base) qui a été exécutée
Tags
copy_request()
Génère un formulaire avec les données postées
copy_request(string $script, string $suite[, string $submit = '' ]) : string
Chaque donnée est mise en input hidden pour les soumettre avec la validation du formulaire.
Parameters
- $script : string
-
Nom du script (pour l'espace privé) de destination
- $suite : string
-
Corps du formulaire
- $submit : string = ''
-
texte du bouton de validation
Return values
string —Code HTML du formulaire