diff --git a/__cms__/code/chemin/chemin.php b/__cms__/code/chemin/chemin.php index b4c6293..74621df 100644 --- a/__cms__/code/chemin/chemin.php +++ b/__cms__/code/chemin/chemin.php @@ -36,7 +36,7 @@ class Chemin { if ($motif[$i] == CHEMIN_JOKER_SEGMENT) { continue; } - if ($motif[$i] == $this->segments[$i]) { + if ($i < count($this->segments) && $motif[$i] == $this->segments[$i]) { continue; } return false; @@ -103,7 +103,7 @@ class Chemin { $chemin = preg_replace("/^\\/*/", '', $chemin); $chemin = preg_replace("/\\/*$/", '', $chemin); - $segments = explode('/', $chemin); + $segments = qw($chemin, '/'); if ($est_un_motif) { $segments = array_map(array("self", "nettoyer_segment_motif"), $segments); } else { @@ -115,12 +115,13 @@ class Chemin { public static function nettoyer_segment($segment, $est_un_motif = false) { // SÉCURITÉ : $segment nettoyé : - // * /!\ Peut être vide /!\ + // * /!\ Ne peut pas être vide /!\ // * Ne doit pas contenir '\0' (octet NULL). // * Ne doit pas contenir '/' non plus, remplacer par '-'. // * Ne doit pas contenir '*' non plus, remplacer par '-'. // * Ne contient pas "__prop__", remplacer par "___prop___". + if ($segment == "") $segment = "_vide_"; $segment = preg_replace("/\\0/", '', $segment); // TODO : vérifier si c'est bien ça ! (supprime _toutes_ les occurences ???) $segment = preg_replace("/\\//", '-', $segment); // TODO : vérifier si c'est bien ça ! (supprime _toutes_ les occurences ???) if (!$est_un_motif) $segment = preg_replace("/\\*/", '-', $segment); // TODO : vérifier ... diff --git a/__cms__/code/cms/util.php b/__cms__/code/cms/util.php index 99c423b..945c8e5 100644 --- a/__cms__/code/cms/util.php +++ b/__cms__/code/cms/util.php @@ -1,9 +1,9 @@ Connexion réussie"; + $ret = "
Pour vous déconnecter, utilisez le lien «déconnexion» en haut à droite.
"; $ret .= ""; return $ret; @@ -38,7 +38,7 @@ class AdminConnexion { $msg .= "."; return formulaire_connexion($msg); }else if ($vue == "déconnexion") { - $ret = "Vous êtes déconnecté. Vous pouvez à présent retourner à la "; $ret .= "page d'accueil"; $ret .= ".
"; @@ -48,7 +48,7 @@ class AdminConnexion { public static function formulaire_connexion($message = "") { // TODO - return "La première règle correspondant à une action de l'utilisateur est appliquée. Bla-bla blabla sur le fonctionnement.
"; if (Permissions::vérifier_permission($singleton, "set_prop", Authentification::get_utilisateur())) { $ret .= ""; // TODO : html escape chars etc. diff --git a/__cms__/code/modules/admin/utilisateurs.php b/__cms__/code/modules/admin/utilisateurs.php index 6c400d3..f9f0989 100644 --- a/__cms__/code/modules/admin/utilisateurs.php +++ b/__cms__/code/modules/admin/utilisateurs.php @@ -59,7 +59,7 @@ class AdminUtilisateurs { $singleton = new Chemin("/admin/utilisateurs/"); if ($vue == "normal") { $ret = ''; - $ret .= "