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
|
Sécurité : les noms de propriétés passés à stockage ne doivent pas
|
||||||
contenir de '/' (doivent valider "nettoyer_segment()".
|
contenir de '/' (doivent valider "nettoyer_segment()".
|
||||||
Renomer SystèmeFichiers : seuls les modules ont deux bosses dans leur CamelCase
|
Renomer SystèmeFichiers : seuls les modules ont deux bosses dans leur CamelCase
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
/**|*|Administrateurs|oui
|
/**|*|Administrateurs|oui|Les administrateurs ont tous les droits
|
||||||
/admin/**|*|Administrateurs|oui
|
/admin/**|*|Administrateurs|oui|Les administrateurs peuvent administer (redondant avec la règle ci-dessus).
|
||||||
/admin/**|*|*|non
|
/admin/**|*|*|non|Les non-administrateur n'ont pas accès à la section "admin".
|
||||||
/forum/|nouvelle_page|Utilisateurs|oui
|
/forum/|nouvelle_page|Utilisateurs|oui|Les utilisateurs peuvent créer de nouveaux sujets de discussion dans le forum.
|
||||||
/forum/*|nouvelle_page|Utilisateurs|oui
|
/forum/*|nouvelle_page|Utilisateurs|oui|Les utilisateurs peuvent créer des messages dans les sujets de discussion.
|
||||||
/galerie/**|*|Utilisateurs|oui
|
/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/**|*|Anonymes|non
|
/galerie/**|get_prop|Utilisateurs|oui|Les utilisateurs peuvent consulter la galerie.
|
||||||
/**|get_prop|Anonymes|oui
|
/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["action"]);
|
||||||
$str_regles .= '|' . self::escape_element_regle($r["groupe"]);
|
$str_regles .= '|' . self::escape_element_regle($r["groupe"]);
|
||||||
$str_regles .= '|' . ($r["autorisation"] ? "oui" : "non");
|
$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.
|
$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() {
|
public function get_regles() {
|
||||||
// Renvoie un tableau de quadruplets
|
// Renvoie un tableau de quintuplets
|
||||||
// (chemin, action, groupe, autorisation).
|
// (chemin, action, groupe, autorisation, commentaire).
|
||||||
// ou false si erreur.
|
// ou false si erreur.
|
||||||
|
|
||||||
$str_regles = Stockage::get_prop(self::singleton(), "regles", true); // true => forcer permissions.
|
$str_regles = Stockage::get_prop(self::singleton(), "regles", true); // true => forcer permissions.
|
||||||
|
@ -82,14 +83,15 @@ class Permissions {
|
||||||
// TODO : ignorer les lignes vides !
|
// TODO : ignorer les lignes vides !
|
||||||
foreach (explode("\n", $str_regles) as $k => $v) {
|
foreach (explode("\n", $str_regles) as $k => $v) {
|
||||||
$r = explode('|',$v);
|
$r = explode('|',$v);
|
||||||
if (count($r) != 4) {
|
if (count($r) != 5) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$regles[] = array(
|
$regles[] = array(
|
||||||
"chemin" => new Chemin(self::unescape_element_regle($r[0])),
|
"chemin" => new Chemin(self::unescape_element_regle($r[0])),
|
||||||
"action" => self::unescape_element_regle($r[1]),
|
"action" => self::unescape_element_regle($r[1]),
|
||||||
"groupe" => self::unescape_element_regle($r[2]),
|
"groupe" => self::unescape_element_regle($r[2]),
|
||||||
"autorisation" => ($r[3] == "oui")
|
"autorisation" => ($r[3] == "oui"),
|
||||||
|
"commentaire" => self::unescape_element_regle($r[4]);
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return $regles;
|
return $regles;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user