diff --git a/controleur/page.php b/controleur/page.php index 3087239..176e9bc 100644 --- a/controleur/page.php +++ b/controleur/page.php @@ -16,6 +16,18 @@ require_once("controleur/chemin_page.php"); // /article_2 // Sous article class Page { + private static $types = Array(); + + public static function ajouterType($nom, $classe) { + self::$types[$nom] = $classe; + } + + public static function _new($chemin) { + // TODO : détecter le type à partir de _prop_type + // Problème : pour pouvoir faire un get_prop, il faut qu'on ait déjà instancié la classe... + return new self::$types["Galerie"]($chemin); + } + public function __construct($chemin) { $this->chemin = new CheminPage($chemin); } @@ -32,17 +44,19 @@ class Page { $enfants = Array(); foreach ($scandir as $k => $v) { - $enfants[] = $this->enfant($v); + if (is_dir(concaténer_chemin_fs($this->chemin_fs(), $v)) && $v != "." && $v != "..") { + $enfants[] = $this->enfant($v); + } } return $enfants; } public function enfant($nom) { - return new Page($this->chemin->enfant($nom)); + return Page::_new($this->chemin->enfant($nom)); } public function parent() { - return new Page($this->chemin->parent()); + return Page::_new($this->chemin->parent()); } public function nouveau($nom) { diff --git a/index.php b/index.php index 69a97b4..f2bcc64 100644 --- a/index.php +++ b/index.php @@ -3,7 +3,7 @@ require_once("types/galerie.php"); -$p = new Galerie("."); +$p = new Galerie("/modele"); print_r($p->vue()); diff --git a/modele/galerie/.gitignore b/modele/galerie/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/modele/galerie/evenement 1/.gitignore b/modele/galerie/evenement 1/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/modele/galerie/evenement 2/.gitignore b/modele/galerie/evenement 2/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/modele/galerie/evenement 2/photo a/.gitignore b/modele/galerie/evenement 2/photo a/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/modele/galerie/evenement 2/photo b/.gitignore b/modele/galerie/evenement 2/photo b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/modele/galerie/evenement 2/photo c/.gitignore b/modele/galerie/evenement 2/photo c/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/types/galerie.php b/types/galerie.php index 3d10a3e..504c9b3 100644 --- a/types/galerie.php +++ b/types/galerie.php @@ -8,7 +8,7 @@ class Galerie extends Page { $ret .= '