Champ commentaire pour les règles.
This commit is contained in:
parent
963f8230d0
commit
472511e0a7
|
@ -1,4 +1,3 @@
|
|||
Possibilité d'avoir un commentaire à la fin de chaque ligne des règles.
|
||||
Sécurité : les noms de propriétés passés à stockage ne doivent pas
|
||||
contenir de '/' (doivent valider "nettoyer_segment()".
|
||||
Renomer SystèmeFichiers : seuls les modules ont deux bosses dans leur CamelCase
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
/**|*|Administrateurs|oui
|
||||
/admin/**|*|Administrateurs|oui
|
||||
/admin/**|*|*|non
|
||||
/forum/|nouvelle_page|Utilisateurs|oui
|
||||
/forum/*|nouvelle_page|Utilisateurs|oui
|
||||
/galerie/**|*|Utilisateurs|oui
|
||||
/galerie/**|*|Anonymes|non
|
||||
/**|get_prop|Anonymes|oui
|
||||
/**|*|Administrateurs|oui|Les administrateurs ont tous les droits
|
||||
/admin/**|*|Administrateurs|oui|Les administrateurs peuvent administer (redondant avec la règle ci-dessus).
|
||||
/admin/**|*|*|non|Les non-administrateur n'ont pas accès à la section "admin".
|
||||
/forum/|nouvelle_page|Utilisateurs|oui|Les utilisateurs peuvent créer de nouveaux sujets de discussion dans le forum.
|
||||
/forum/*|nouvelle_page|Utilisateurs|oui|Les utilisateurs peuvent créer des messages dans les sujets de discussion.
|
||||
/forum/*/*|set_prop|Propriétaire|oui|L'auteur d'un message peut en définir le contenu (pas les autres, ce n'est pas un wiki).
|
||||
/galerie/**|get_prop|Utilisateurs|oui|Les utilisateurs peuvent consulter la galerie.
|
||||
/galerie/**|*|Anonymes|non|Mais le reste du monde ne peut pas voir la galerie (photos privées par ex.)
|
||||
/**|get_prop|Anonymes|oui|Le reste du monde peut consulter le site.
|
|
@ -63,6 +63,7 @@ class Permissions {
|
|||
$str_regles .= '|' . self::escape_element_regle($r["action"]);
|
||||
$str_regles .= '|' . self::escape_element_regle($r["groupe"]);
|
||||
$str_regles .= '|' . ($r["autorisation"] ? "oui" : "non");
|
||||
$str_regles .= '|' . self::escape_element_regle($r["commentaire"]);
|
||||
$str_regles .= "\n"; // TODO vérifier que la séquence d'échappement est bien comprise.
|
||||
}
|
||||
|
||||
|
@ -70,8 +71,8 @@ class Permissions {
|
|||
}
|
||||
|
||||
public function get_regles() {
|
||||
// Renvoie un tableau de quadruplets
|
||||
// (chemin, action, groupe, autorisation).
|
||||
// Renvoie un tableau de quintuplets
|
||||
// (chemin, action, groupe, autorisation, commentaire).
|
||||
// ou false si erreur.
|
||||
|
||||
$str_regles = Stockage::get_prop(self::singleton(), "regles", true); // true => forcer permissions.
|
||||
|
@ -82,14 +83,15 @@ class Permissions {
|
|||
// TODO : ignorer les lignes vides !
|
||||
foreach (explode("\n", $str_regles) as $k => $v) {
|
||||
$r = explode('|',$v);
|
||||
if (count($r) != 4) {
|
||||
if (count($r) != 5) {
|
||||
return false;
|
||||
}
|
||||
$regles[] = array(
|
||||
"chemin" => new Chemin(self::unescape_element_regle($r[0])),
|
||||
"action" => self::unescape_element_regle($r[1]),
|
||||
"groupe" => self::unescape_element_regle($r[2]),
|
||||
"autorisation" => ($r[3] == "oui")
|
||||
"autorisation" => ($r[3] == "oui"),
|
||||
"commentaire" => self::unescape_element_regle($r[4]);
|
||||
);
|
||||
}
|
||||
return $regles;
|
||||
|
|
Loading…
Reference in New Issue
Block a user