Correction des erreurs de syntaxe PHP.
Il n'y en a pas autant que ce que je pensais \o/ .
This commit is contained in:
parent
b6d540832b
commit
10eef9a593
|
@ -25,7 +25,7 @@ class Chemin {
|
||||||
if ((count($motif) != count($this->segments)) && (end($motif) != CHEMIN_JOKER_MULTI_SEGMENTS)) {
|
if ((count($motif) != count($this->segments)) && (end($motif) != CHEMIN_JOKER_MULTI_SEGMENTS)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for ($i = 0; $i < count($motif); i++) {
|
for ($i = 0; $i < count($motif); $i++) {
|
||||||
if ($motif[$i] == CHEMIN_JOKER_MULTI_SEGMENTS) {
|
if ($motif[$i] == CHEMIN_JOKER_MULTI_SEGMENTS) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ class Chemin {
|
||||||
|
|
||||||
public function enfant($nom) {
|
public function enfant($nom) {
|
||||||
$s = $this->segments;
|
$s = $this->segments;
|
||||||
$x = self::nettoyer_segment($nom)
|
$x = self::nettoyer_segment($nom);
|
||||||
if ($x != '') {
|
if ($x != '') {
|
||||||
array_push($s, $x);
|
array_push($s, $x);
|
||||||
}
|
}
|
||||||
|
@ -98,7 +98,7 @@ class Chemin {
|
||||||
$chemin = preg_replace("/\\/*$/", '', $chemin);
|
$chemin = preg_replace("/\\/*$/", '', $chemin);
|
||||||
|
|
||||||
$segments = explode('/', $chemin);
|
$segments = explode('/', $chemin);
|
||||||
$segments = array_map("nettoyer_segment", $segments)
|
$segments = array_map("nettoyer_segment", $segments);
|
||||||
|
|
||||||
return $segments;
|
return $segments;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ require_once(dirname(__FILE__) . "/config.php");
|
||||||
require_once(dirname(__FILE__) . "/include.php");
|
require_once(dirname(__FILE__) . "/include.php");
|
||||||
|
|
||||||
class CMS {
|
class CMS {
|
||||||
public static function cms($chemin_str) {
|
public function cms($chemin_str) {
|
||||||
// TODO : appeller Modules::action($chemin, $action, $paramètres);
|
// TODO : appeller Modules::action($chemin, $action, $paramètres);
|
||||||
|
|
||||||
$chemin = new Chemin($chemin_str);
|
$chemin = new Chemin($chemin_str);
|
||||||
|
|
|
@ -20,8 +20,8 @@ $config_chemin_base_stockage = Path::combine($config_chemin_base, "modele");
|
||||||
|
|
||||||
// Chemin vers la partie visible du site.
|
// Chemin vers la partie visible du site.
|
||||||
// En général, c'est le chemin vers le dossier contenant __cms__
|
// En général, c'est le chemin vers le dossier contenant __cms__
|
||||||
$config_chemin_base_public = Path::combine($config_chemin_base "/..");
|
$config_chemin_base_public = Path::combine($config_chemin_base, "/..");
|
||||||
|
|
||||||
// ======== FIN CONFIGURATION =======
|
// ======== FIN CONFIGURATION =======
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -29,10 +29,10 @@ class AdminConnexion {
|
||||||
return formulaire_connexion();
|
return formulaire_connexion();
|
||||||
} else if ($vue == "connexion réussie") {
|
} else if ($vue == "connexion réussie") {
|
||||||
return "<h1>Connexion réussie</h1><p>Pour vous déconnecter, utilisez le lien «déconnexion» en haut à droite.</p><p><a href=\"" . $config_url_base . "\">Retour à la page d'accueil</a>.</p>";
|
return "<h1>Connexion réussie</h1><p>Pour vous déconnecter, utilisez le lien «déconnexion» en haut à droite.</p><p><a href=\"" . $config_url_base . "\">Retour à la page d'accueil</a>.</p>";
|
||||||
} else if ($vue == "connexion échouée") {
|
}else if ($vue == "connexion échouée") {
|
||||||
return formulaire_connexion("<p><strong>Mauvais mot de passe et/ou nom d'utilisateur. Ré-essayez ou retournez à la <a href=\"" . $config_url_base . "\">page d'accueil</a>.</strong></p>");
|
return formulaire_connexion("<p><strong>Mauvais mot de passe et/ou nom d'utilisateur. Ré-essayez ou retournez à la <a href=\"" . $config_url_base . "\">page d'accueil</a>.</strong></p>");
|
||||||
} else if ($vue == "déconnexion") {
|
}else if ($vue == "déconnexion") {
|
||||||
return "<h1>Déconnexion réussie</h1><p>Vous êtes déconnecté. Vous pouvez à présent retourner à la <a href=\"" . $config_url_base . "\">page d'accueil</a>.</p>"
|
return '<h1>Déconnexion réussie</h1><p>Vous êtes déconnecté. Vous pouvez à présent retourner à la <a href="' . $config_url_base . "\">page d'accueil</a>.</p>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ class AdminCouleurs {
|
||||||
$ret .= "<input ... Couleur A />";
|
$ret .= "<input ... Couleur A />";
|
||||||
$ret .= "<input ... Couleur B />";
|
$ret .= "<input ... Couleur B />";
|
||||||
$ret .= "<input ... Couleur C />";
|
$ret .= "<input ... Couleur C />";
|
||||||
$ret .= ...
|
// $ret .= ...
|
||||||
return "Vue normale de la page.";
|
return "Vue normale de la page.";
|
||||||
} else if ($vue == "css") {
|
} else if ($vue == "css") {
|
||||||
// TODO : où mettre ce gen_css... ?
|
// TODO : où mettre ce gen_css... ?
|
||||||
|
|
|
@ -64,15 +64,15 @@ class AdminUtilisateurs {
|
||||||
// afficher le lien "Nouvel utilisateur"
|
// afficher le lien "Nouvel utilisateur"
|
||||||
}
|
}
|
||||||
$ret .= '<table class="utilisateurs index"><thead><th>Nom</th><th>Prénom</th><th>Groupe</th><th>Mot de passe</th><th>Peut se connecter</th><th colspan="2"></th></thead><tbody>';
|
$ret .= '<table class="utilisateurs index"><thead><th>Nom</th><th>Prénom</th><th>Groupe</th><th>Mot de passe</th><th>Peut se connecter</th><th colspan="2"></th></thead><tbody>';
|
||||||
$listegroupes = // Construire la liste des groupes sous forme de menu drop-down.
|
$listegroupes = ""; // Construire la liste des groupes sous forme de menu drop-down.
|
||||||
foreach (Authentification::liste_utilisateurs()) {
|
foreach (Authentification::liste_utilisateurs() as $u) {
|
||||||
$ret .= '<tr>'
|
$ret .= '<tr>'
|
||||||
. '<form action="' . $chemin->get_url() . '">'
|
. '<form action="' . $chemin->get_url() . '">'
|
||||||
. '<td>' . $k . '</td>' // TODO : Nom
|
. '<td>' . $u . '</td>' // TODO : Nom
|
||||||
. '<td>' . $k . '</td>' // TODO : Prénom
|
. '<td>' . $u . '</td>' // TODO : Prénom
|
||||||
. '<td>' . Authentification::get_groupe($k) . '</td>'
|
. '<td>' . Authentification::get_groupe($u) . '</td>'
|
||||||
. '<td>' . Authentification::get_mot_de_passe($k) . '<input type="submit" value="Générer un nouveau mot de passe"/></td>'
|
. '<td>' . Authentification::get_mot_de_passe($u) . '<input type="submit" value="Générer un nouveau mot de passe"/></td>'
|
||||||
. '<td>' . Authentification::get_peut_se_connecter($k) . '</td>'
|
. '<td>' . Authentification::get_peut_se_connecter($u) . '</td>'
|
||||||
. '<td><input type="submit" value="appliquer"/></td>'
|
. '<td><input type="submit" value="appliquer"/></td>'
|
||||||
. '<td><input type="submit" value="supprimer"/></td>' // TODO
|
. '<td><input type="submit" value="supprimer"/></td>' // TODO
|
||||||
. '</form>'
|
. '</form>'
|
||||||
|
|
|
@ -43,9 +43,9 @@ class ForumSujet {
|
||||||
}
|
}
|
||||||
if (vérifier_permission($chemin, "supprimer", get_utilisateur())) {
|
if (vérifier_permission($chemin, "supprimer", get_utilisateur())) {
|
||||||
$ret .= '<form action="' . $chemin->get_url() . '">';
|
$ret .= '<form action="' . $chemin->get_url() . '">';
|
||||||
$ret .= '<input type="hidden" name="action" value="supprimer"/>'
|
$ret .= '<input type="hidden" name="action" value="supprimer"/>';
|
||||||
$ret .= '<input type="submit" value="Supprimer"/>'
|
$ret .= '<input type="submit" value="Supprimer"/>';
|
||||||
$ret .= '</form>'
|
$ret .= '</form>';
|
||||||
}
|
}
|
||||||
$ret .= '<ul class="forum sujet">';
|
$ret .= '<ul class="forum sujet">';
|
||||||
foreach (stockage::liste_enfants($chemin) as $k) {
|
foreach (stockage::liste_enfants($chemin) as $k) {
|
||||||
|
@ -54,9 +54,9 @@ class ForumSujet {
|
||||||
$ret .= '</ul>';
|
$ret .= '</ul>';
|
||||||
if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
|
if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
|
||||||
$ret .= '<form action="' . $chemin->get_url() . '">';
|
$ret .= '<form action="' . $chemin->get_url() . '">';
|
||||||
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'
|
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>';
|
||||||
$ret .= '<input type="submit" value="Nouvelle page"/>'
|
$ret .= '<input type="submit" value="Nouvelle page"/>';
|
||||||
$ret .= '</form>'
|
$ret .= '</form>';
|
||||||
}
|
}
|
||||||
return $ret;
|
return $ret;
|
||||||
} else if ($vue == "miniature") {
|
} else if ($vue == "miniature") {
|
||||||
|
|
|
@ -41,15 +41,15 @@ class GalerieÉvènement {
|
||||||
}
|
}
|
||||||
if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
|
if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
|
||||||
$ret .= '<form action="' . $chemin->get_url() . '">';
|
$ret .= '<form action="' . $chemin->get_url() . '">';
|
||||||
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'
|
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>';
|
||||||
$ret .= '<input type="submit" value="Nouvelle page"/>'
|
$ret .= '<input type="submit" value="Nouvelle page"/>';
|
||||||
$ret .= '</form>'
|
$ret .= '</form>';
|
||||||
}
|
}
|
||||||
if (vérifier_permission($chemin, "supprimer", get_utilisateur())) {
|
if (vérifier_permission($chemin, "supprimer", get_utilisateur())) {
|
||||||
$ret .= '<form action="' . $chemin->get_url() . '">';
|
$ret .= '<form action="' . $chemin->get_url() . '">';
|
||||||
$ret .= '<input type="hidden" name="action" value="supprimer"/>'
|
$ret .= '<input type="hidden" name="action" value="supprimer"/>';
|
||||||
$ret .= '<input type="submit" value="Supprimer"/>'
|
$ret .= '<input type="submit" value="Supprimer"/>';
|
||||||
$ret .= '</form>'
|
$ret .= '</form>';
|
||||||
}
|
}
|
||||||
$ret .= '<ul class="galerie evenement">';
|
$ret .= '<ul class="galerie evenement">';
|
||||||
foreach (Stockage::liste_enfants($chemin) as $k) {
|
foreach (Stockage::liste_enfants($chemin) as $k) {
|
||||||
|
|
|
@ -41,15 +41,15 @@ class GalerieIndex {
|
||||||
}
|
}
|
||||||
if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
|
if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
|
||||||
$ret .= '<form action="' . $chemin->get_url() . '">';
|
$ret .= '<form action="' . $chemin->get_url() . '">';
|
||||||
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'
|
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>';
|
||||||
$ret .= '<input type="submit" value="Nouvelle page"/>'
|
$ret .= '<input type="submit" value="Nouvelle page"/>';
|
||||||
$ret .= '</form>'
|
$ret .= '</form>';
|
||||||
}
|
}
|
||||||
if (vérifier_permission($chemin, "supprimer", get_utilisateur())) {
|
if (vérifier_permission($chemin, "supprimer", get_utilisateur())) {
|
||||||
$ret .= '<form action="' . $chemin->get_url() . '">';
|
$ret .= '<form action="' . $chemin->get_url() . '">';
|
||||||
$ret .= '<input type="hidden" name="action" value="supprimer"/>'
|
$ret .= '<input type="hidden" name="action" value="supprimer"/>';
|
||||||
$ret .= '<input type="submit" value="Supprimer"/>'
|
$ret .= '<input type="submit" value="Supprimer"/>';
|
||||||
$ret .= '</form>'
|
$ret .= '</form>';
|
||||||
}
|
}
|
||||||
$ret .= '<ul class="galerie index">';
|
$ret .= '<ul class="galerie index">';
|
||||||
foreach (Stockage::liste_enfants($chemin) as $k) {
|
foreach (Stockage::liste_enfants($chemin) as $k) {
|
||||||
|
|
|
@ -41,15 +41,15 @@ class GaleriePériode {
|
||||||
}
|
}
|
||||||
if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
|
if (vérifier_permission($chemin, "nouvelle_page", get_utilisateur())) {
|
||||||
$ret .= '<form action="' . $chemin->get_url() . '">';
|
$ret .= '<form action="' . $chemin->get_url() . '">';
|
||||||
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>'
|
$ret .= '<input type="hidden" name="action" value="nouvelle_page"/>';
|
||||||
$ret .= '<input type="submit" value="Nouvelle page"/>'
|
$ret .= '<input type="submit" value="Nouvelle page"/>';
|
||||||
$ret .= '</form>'
|
$ret .= '</form>';
|
||||||
}
|
}
|
||||||
if (vérifier_permission($chemin, "supprimer", get_utilisateur())) {
|
if (vérifier_permission($chemin, "supprimer", get_utilisateur())) {
|
||||||
$ret .= '<form action="' . $chemin->get_url() . '">';
|
$ret .= '<form action="' . $chemin->get_url() . '">';
|
||||||
$ret .= '<input type="hidden" name="action" value="supprimer"/>'
|
$ret .= '<input type="hidden" name="action" value="supprimer"/>';
|
||||||
$ret .= '<input type="submit" value="Supprimer"/>'
|
$ret .= '<input type="submit" value="Supprimer"/>';
|
||||||
$ret .= '</form>'
|
$ret .= '</form>';
|
||||||
}
|
}
|
||||||
$ret .= '<ul class="galerie période">';
|
$ret .= '<ul class="galerie période">';
|
||||||
foreach (Stockage::liste_enfants($chemin) as $k) {
|
foreach (Stockage::liste_enfants($chemin) as $k) {
|
||||||
|
|
|
@ -36,12 +36,12 @@ class GaleriePhoto {
|
||||||
if ($vue == "normal") {
|
if ($vue == "normal") {
|
||||||
$ret = '';
|
$ret = '';
|
||||||
if (vérifier_permission($chemin, "set_prop", get_utilisateur())) {
|
if (vérifier_permission($chemin, "set_prop", get_utilisateur())) {
|
||||||
$ret .= '<input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" />'
|
$ret .= '<input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" />';
|
||||||
$ret .= '<img src="' . $chemin->get_url("?vue=image") . '"></img>';
|
$ret .= '<img src="' . $chemin->get_url("?vue=image") . '"></img>';
|
||||||
$ret .= '<input type="filename" .../>';
|
$ret .= '<input type="filename" .../>';
|
||||||
$ret .= formulaire_édition_texte_enrichi(get_prop($chemin, "description"), "message");
|
$ret .= formulaire_édition_texte_enrichi(get_prop($chemin, "description"), "message");
|
||||||
} else {
|
} else {
|
||||||
$ret .= '<h1>' . Stockage::get_prop($chemin, "titre") . '</h1>'
|
$ret .= '<h1>' . Stockage::get_prop($chemin, "titre") . '</h1>';
|
||||||
$ret .= '<img src="' . $chemin->get_url("?vue=image") . '"></img>';
|
$ret .= '<img src="' . $chemin->get_url("?vue=image") . '"></img>';
|
||||||
$ret .= affichage_texte_enrichi(get_prop($chemin, "message"));
|
$ret .= affichage_texte_enrichi(get_prop($chemin, "message"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class Authentification {
|
class Authentification {
|
||||||
private $singleton = new Chemin("/admin/utilisateurs/");
|
private function singleton() {
|
||||||
|
return new Chemin("/admin/utilisateurs/");
|
||||||
|
}
|
||||||
|
|
||||||
public function connexion($nom_utilisateur, $mdp) {
|
public function connexion($nom_utilisateur, $mdp) {
|
||||||
$mdp_réel = Stockage::get_prop(self::$singleton->enfant($nom_utilisateur), "mot_de_passe");
|
$mdp_réel = Stockage::get_prop(self::singleton()->enfant($nom_utilisateur), "mot_de_passe");
|
||||||
$peut_se_connecter = Stockage::get_prop(self::$singleton->enfant($nom_utilisateur), "peut_se_connecter");
|
$peut_se_connecter = Stockage::get_prop(self::singleton()->enfant($nom_utilisateur), "peut_se_connecter");
|
||||||
if ($mdp == $mdp_réel && $peut_se_connecter === "true") { // Triple égale. Pas d'entourloupe avec des casts miteux !
|
if ($mdp == $mdp_réel && $peut_se_connecter === "true") { // Triple égale. Pas d'entourloupe avec des casts miteux !
|
||||||
// TODO : Vérifier si c'est sécurisé => stocké _uniquement_ sur le serveur.
|
// TODO : Vérifier si c'est sécurisé => stocké _uniquement_ sur le serveur.
|
||||||
Session::put("utilisateur", $nom_utilisateur);
|
Session::put("utilisateur", $nom_utilisateur);
|
||||||
|
@ -27,18 +29,18 @@ class Authentification {
|
||||||
|
|
||||||
public function nouvel_utilisateur($nom_utilisateur) {
|
public function nouvel_utilisateur($nom_utilisateur) {
|
||||||
// TODO : SECURITE : Si la page existe déjà, laisser tomber !
|
// TODO : SECURITE : Si la page existe déjà, laisser tomber !
|
||||||
Stockage::nouvelle_page(self::$singleton, $nom_utilisateur);
|
Stockage::nouvelle_page(self::singleton(), $nom_utilisateur);
|
||||||
self::set_mot_de_passe_aléatoire($nom_utilisateur);
|
self::set_mot_de_passe_aléatoire($nom_utilisateur);
|
||||||
self::set_groupe($nom_utilisateur, "Anonymes");
|
self::set_groupe($nom_utilisateur, "Anonymes");
|
||||||
self::set_peut_se_connecter($nom_utilisateur, false);
|
self::set_peut_se_connecter($nom_utilisateur, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function supprimer_utilisateur($nom_utilisateur) {
|
public function supprimer_utilisateur($nom_utilisateur) {
|
||||||
Stockage::supprimer(self::$singleton->enfant($nom_utilisateur));
|
Stockage::supprimer(self::singleton()->enfant($nom_utilisateur));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function renomer_utilisateur($nom_utilisateur, $nouveau_nom) {
|
public function renomer_utilisateur($nom_utilisateur, $nouveau_nom) {
|
||||||
Stockage::renomer(self::$singleton->enfant($nom_utilisateur), $nouveau_nom);
|
Stockage::renomer(self::singleton()->enfant($nom_utilisateur), $nouveau_nom);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function liste_utilisateurs() {
|
public function liste_utilisateurs() {
|
||||||
|
@ -52,15 +54,15 @@ class Authentification {
|
||||||
|
|
||||||
public function set_groupe($nom_utilisateur, $groupe) {
|
public function set_groupe($nom_utilisateur, $groupe) {
|
||||||
// TODO : Vérifier si le groupe existe ?
|
// TODO : Vérifier si le groupe existe ?
|
||||||
Stockage::set_pop(self::$singleton->enfant($nom_utilisateur), "groupe", $groupe);
|
Stockage::set_pop(self::singleton()->enfant($nom_utilisateur), "groupe", $groupe);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_groupe($nom_utilisateur) {
|
public function get_groupe($nom_utilisateur) {
|
||||||
return Stockage::get_prop(self::$singleton->enfant($nom_utilisateur), "groupe");
|
return Stockage::get_prop(self::singleton()->enfant($nom_utilisateur), "groupe");
|
||||||
}
|
}
|
||||||
|
|
||||||
public function set_mot_de_passe($nom_utilisateur, $mot_de_passe) {
|
public function set_mot_de_passe($nom_utilisateur, $mot_de_passe) {
|
||||||
Stockage::set_pop(self::$singleton->enfant($nom_utilisateur), "mot_de_passe", $mot_de_passe);
|
Stockage::set_pop(self::singleton()->enfant($nom_utilisateur), "mot_de_passe", $mot_de_passe);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function set_mot_de_passe_aléatoire($utilisateur) {
|
public function set_mot_de_passe_aléatoire($utilisateur) {
|
||||||
|
@ -68,15 +70,15 @@ class Authentification {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_mot_de_passe($nom_utilisateur) {
|
public function get_mot_de_passe($nom_utilisateur) {
|
||||||
return Stockage::get_prop(self::$singleton->enfant($nom_utilisateur), "mot_de_passe");
|
return Stockage::get_prop(self::singleton()->enfant($nom_utilisateur), "mot_de_passe");
|
||||||
}
|
}
|
||||||
|
|
||||||
public function set_peut_se_connecter($nom_utilisateur, $valeur) {
|
public function set_peut_se_connecter($nom_utilisateur, $valeur) {
|
||||||
Stockage::set_pop(self::$singleton->enfant($nom_utilisateur), "peut_se_connecter", $valeur ? "true" : "false");
|
Stockage::set_pop(self::singleton()->enfant($nom_utilisateur), "peut_se_connecter", $valeur ? "true" : "false");
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_peut_se_connecter($nom_utilisateur) {
|
public function get_peut_se_connecter($nom_utilisateur) {
|
||||||
return (Stockage::get_pop(self::$singleton->enfant($nom_utilisateur), "peut_se_connecter") == "true") ? true : false;
|
return (Stockage::get_pop(self::singleton()->enfant($nom_utilisateur), "peut_se_connecter") == "true") ? true : false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,9 @@
|
||||||
// - autorisation : true ou false.
|
// - autorisation : true ou false.
|
||||||
|
|
||||||
class Permissions {
|
class Permissions {
|
||||||
private $singleton = new Chemin("/admin/permissions/");
|
private function singleton() {
|
||||||
|
return new Chemin("/admin/utilisateurs/");
|
||||||
|
}
|
||||||
|
|
||||||
// Vérifie si $utilisateur a la permission d'effectuer $action sur $chemin.
|
// Vérifie si $utilisateur a la permission d'effectuer $action sur $chemin.
|
||||||
public function vérifier_permission($chemin, $action, $utilisateur = null) {
|
public function vérifier_permission($chemin, $action, $utilisateur = null) {
|
||||||
|
@ -48,14 +50,14 @@ class Permissions {
|
||||||
$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.
|
||||||
}
|
}
|
||||||
|
|
||||||
return Stockage::get_prop(self::$singleton, "regles", $str_regles);
|
return Stockage::get_prop(self::singleton(), "regles", $str_regles);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_regles() {
|
public function get_regles() {
|
||||||
// Renvoie un tableau de quadruplets
|
// Renvoie un tableau de quadruplets
|
||||||
// (chemin, action, groupe, autorisation).
|
// (chemin, action, groupe, autorisation).
|
||||||
// ou false si erreur.
|
// ou false si erreur.
|
||||||
$str_regles = Stockage::get_prop(self::$singleton, "regles");
|
$str_regles = Stockage::get_prop(self::singleton(), "regles");
|
||||||
// TODO erreur si la propriété n'existe pas.
|
// TODO erreur si la propriété n'existe pas.
|
||||||
$str_regles = preg_replace('/\r\n|\r/', "\n", $str_regles);
|
$str_regles = preg_replace('/\r\n|\r/', "\n", $str_regles);
|
||||||
$regles = array();
|
$regles = array();
|
||||||
|
@ -65,12 +67,12 @@ class Permissions {
|
||||||
if (count($r) != 4) {
|
if (count($r) != 4) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
array_push(array(
|
$regles[] = array(
|
||||||
"chemin" => self::unescape_element_regle(new Chemin($r[0])),
|
"chemin" => self::unescape_element_regle(new Chemin($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")
|
||||||
));
|
);
|
||||||
}
|
}
|
||||||
return $regles;
|
return $regles;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once("util.php");
|
|
||||||
require_once("path.php");
|
|
||||||
require_once("controleur/page.php");
|
|
||||||
|
|
||||||
class Squelette {
|
class Squelette {
|
||||||
public static function enrober($page, $contenu) {
|
public static function enrober($page) {
|
||||||
return ''
|
return ''
|
||||||
. Squelette::en_tete($page)
|
. Squelette::en_tete($page)
|
||||||
. $contenu
|
. $page->contenu
|
||||||
. Squelette::pied($page);
|
. Squelette::pied($page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,13 +13,13 @@ class Squelette {
|
||||||
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
|
||||||
<head>
|
<head>
|
||||||
<title>' . $page->get_prop("titre") . '</title>
|
<title>' . $page->titre . '</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<meta http-equiv="Content-Language" content="fr" />
|
<meta http-equiv="Content-Language" content="fr" />
|
||||||
<link href="../style.css" rel="stylesheet" type="text/css" /><!-- TODO : chemin incorrect -->
|
<link href="../style.css" rel="stylesheet" type="text/css" /><!-- TODO : chemin incorrect -->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>' . $page->get_prop("titre") . '</h1>';
|
<h1>' . $page->titre . '</h1>';
|
||||||
// <meta name="keywords" lang="fr" content="motcle1,mocle2" />
|
// <meta name="keywords" lang="fr" content="motcle1,mocle2" />
|
||||||
// <meta name="description" content="Description de ma page web." />
|
// <meta name="description" content="Description de ma page web." />
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,10 +20,10 @@ class Stockage {
|
||||||
// Imitation de l'url rewriting lorsque ce n'est pas disponible sur
|
// Imitation de l'url rewriting lorsque ce n'est pas disponible sur
|
||||||
// le serveur.
|
// le serveur.
|
||||||
public function activer_réécriture($chemin_vers) {
|
public function activer_réécriture($chemin_vers) {
|
||||||
$php_str = "<?php\n"
|
$php_str = "<?php\n=";
|
||||||
$php_str .= "require_once(" . Path::combine($config_chemin_base, "cms.php") . ");\n"
|
$php_str .= "require_once(" . Path::combine($config_chemin_base, "cms.php") . ");\n";
|
||||||
$php_str .= "CMS::cms(" . $chemin_vers->get() . ");\n"
|
$php_str .= "CMS::cms(" . $chemin_vers->get() . ");\n";
|
||||||
$php_str .= "?>\n"
|
$php_str .= "?>\n";
|
||||||
return SystemeFichiers::écrire($chemin_vers->get_fs_public(), $php_str);
|
return SystemeFichiers::écrire($chemin_vers->get_fs_public(), $php_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ class Stockage {
|
||||||
|
|
||||||
public function set_prop($chemin, $prop, $valeur) {
|
public function set_prop($chemin, $prop, $valeur) {
|
||||||
if (vérifier_permission($chemin, "set_prop")) {
|
if (vérifier_permission($chemin, "set_prop")) {
|
||||||
return SystemeFichiers::écrire(Path::combine($chemin->get_fs_stockage(), $prop), $valeur)
|
return SystemeFichiers::écrire(Path::combine($chemin->get_fs_stockage(), $prop), $valeur);
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -94,13 +94,13 @@ class Stockage {
|
||||||
public function liste_enfants($chemin) {
|
public function liste_enfants($chemin) {
|
||||||
// TODO : SECURITE : vérifier la permission. Mais pour quelle action ?
|
// TODO : SECURITE : vérifier la permission. Mais pour quelle action ?
|
||||||
// get_prop ? ou une nouvelle (?) : liste_enfants ?
|
// get_prop ? ou une nouvelle (?) : liste_enfants ?
|
||||||
$enfants = Array();
|
$enfants = Array();
|
||||||
foreach (SystemeFichiers::liste_fichiers() as $k => $v) {
|
foreach (SystemeFichiers::liste_fichiers() as $k => $v) {
|
||||||
if (strpos($v, "__prop__") !== 0 && is_dir($chemin->enfant($v)->get_fs_stockage()) && $v != "." && $v != "..") {
|
if (strpos($v, "__prop__") !== 0 && is_dir($chemin->enfant($v)->get_fs_stockage()) && $v != "." && $v != "..") {
|
||||||
$enfants[] = $chemin->enfant($v);
|
$enfants[] = $chemin->enfant($v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $enfants;
|
return $enfants;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function renomer($chemin, $nouveau_nom) {
|
public function renomer($chemin, $nouveau_nom) {
|
||||||
|
|
|
@ -25,7 +25,7 @@ class SystèmeFichiers {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function lire($chemin_fs) {
|
public function lire($chemin_fs) {
|
||||||
file_get_contents($chermin_fs)
|
file_get_contents($chermin_fs);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function écrire($chemin_fs, $données) {
|
public function écrire($chemin_fs, $données) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user