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:
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