www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit e279e497ab9df8d786d90fc5f65cef01849ee559
parent 662106dfd023f69f93f94c0ff9a0527f7ab0f427
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Thu, 29 Jul 2010 16:28:13 +0200

Fin de l'import de chemin_page dans la nouvelle structure du code.

chemin_page a donc été supprimé.

Diffstat:
M__cms__/chemin/chemin.php | 11++++++++++-
D__cms__/controleur/chemin_page.php | 49-------------------------------------------------
2 files changed, 10 insertions(+), 50 deletions(-)

diff --git a/__cms__/chemin/chemin.php b/__cms__/chemin/chemin.php @@ -34,9 +34,18 @@ class Chemin { array_push($s, self::nettoyer_segment($nom)); return new self($s); } + + public function parent() { + return new self(array_slice($this->segments, 0, -1)); + } + + public function dernier() { + return end($this->segments); + } + public static function nettoyer_chemin($chemin) { - // SECURITE : $chemin_nettoyé + // SECURITE : $chemin nettoyé // * Ne contient pas '\0' // * Ne contient pas '../' // * Ne contient pas de double occurence de '/' diff --git a/__cms__/controleur/chemin_page.php b/__cms__/controleur/chemin_page.php @@ -1,48 +0,0 @@ -<?php - -// Note : L'implémentation de CheminPage utilise une pile au lieu de chaînes de caractère : -// ["Chemin", "Vers", "Page"] == "/Chemin/Vers/Page" - -require_once("path.php"); - -class CheminPage { - public function __construct($chemin) { - $this->chemin = explode('/', CheminPage::nettoyer_chemin($chemin)); - } - - public function get() { - return '/'.join($this->chemin, '/'); - } - - public function enfant($nom) { - return '/'.join($this->chemin, '/') . '/' . CheminPage::nettoyer_chemin($nom); - } - - public function parent() { - return '/'.array_slice($this->chemin, 0, count($this->chemin) - 1); - } - - public function dernier() { - return $this->chemin[count($this->chemin) - 1]; - } - - public static function nettoyer_chemin($chemin) { - // SECURITE : $chemin_nettoyé - // * Ne contient pas '\0' - // * Ne contient pas '../' - // * Ne contient pas de double occurence de '/' - // * Ne contient pas _prop_ - // * Ne se termine pas par '/' - // * Ne commence pas par '/' - // * Ni d'autres bizarreries des chemins de fichiers. - - $chemin = preg_replace("/\\0/", '', $chemin); // TODO : vérifier si c'est bien ça ! - $chemin = Path::normalize($chemin); - $chemin = preg_replace("/^\/*/", '', $chemin); - $chemin = preg_replace("/\/*$/", '', $chemin); - - // TODO - return $chemin; - } - -} -\ No newline at end of file