CheminPage utilise maintenant une tableau de segments de chemin.
["Chemin", "Vers", "Page"]
This commit is contained in:
parent
3e62897e66
commit
e12d09a999
|
@ -1,19 +1,21 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Note : L'implémentation de CheminPage pourrait utiliser une pile au lieu des chaînes de caractère :
|
// Note : L'implémentation de CheminPage utilise une pile au lieu de chaînes de caractère :
|
||||||
// ["Chemin", "Vers", "Page"] == "/Chemin/Vers/Page"
|
// ["Chemin", "Vers", "Page"] == "/Chemin/Vers/Page"
|
||||||
|
|
||||||
|
require_once("path.php");
|
||||||
|
|
||||||
class CheminPage {
|
class CheminPage {
|
||||||
public function __construct($chemin) {
|
public function __construct($chemin) {
|
||||||
$this->chemin = CheminPage::nettoyer_chemin($chemin);
|
$this->chemin = explode('/', CheminPage::nettoyer_chemin($chemin));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get() {
|
public function get() {
|
||||||
return $this->chemin;
|
return '/'.join($this->chemin, '/');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function enfant($nom) {
|
public function enfant($nom) {
|
||||||
return $this->chemin . '/' . CheminPage::nettoyer_chemin($nom);
|
return '/'.join($this->chemin, '/') . '/' . CheminPage::nettoyer_chemin($nom);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function parent() {
|
public function parent() {
|
||||||
|
@ -30,10 +32,15 @@ class CheminPage {
|
||||||
// * Ne contient pas '\0'
|
// * Ne contient pas '\0'
|
||||||
// * Ne contient pas '../'
|
// * Ne contient pas '../'
|
||||||
// * Ne contient pas de double occurence de '/'
|
// * Ne contient pas de double occurence de '/'
|
||||||
// * Ni d'autres bizarreries des chemins de fichiers.
|
|
||||||
// * Ne contient pas _prop_
|
// * Ne contient pas _prop_
|
||||||
// * Ne se termine pas par '/'
|
// * Ne se termine pas par '/'
|
||||||
// * Commence 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
|
// TODO
|
||||||
return $chemin;
|
return $chemin;
|
||||||
|
|
|
@ -2,6 +2,6 @@
|
||||||
|
|
||||||
require_once("../__cms__/cms.php");
|
require_once("../__cms__/cms.php");
|
||||||
|
|
||||||
CMS::affiche("/galerie");
|
CMS::affiche("/galerie", $_GET);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user