From 4645b692ccbb73f95e2347631a5ed611db36a9cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Wed, 23 Jun 2010 14:41:03 +0200 Subject: [PATCH] =?UTF-8?q?Code=20d'une=20partie=20du=20contr=C3=B4leur=20?= =?UTF-8?q?:=20liste=5Fenfants=20et=20constructeur.=20Permet=20presque=20d?= =?UTF-8?q?'afficher=20de=20mani=C3=A8re=20sch=C3=A9matique=20la=20page=20?= =?UTF-8?q?principale=20de=20la=20galerie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.php | 5 +++++ controleur/page.php | 44 +++++++++++++++++++++++++++++++------------- index.php | 10 ++++++++++ types/galerie.php | 37 +++++++++++++++++++++---------------- 4 files changed, 67 insertions(+), 29 deletions(-) create mode 100644 config.php create mode 100644 index.php diff --git a/config.php b/config.php new file mode 100644 index 0000000..662b976 --- /dev/null +++ b/config.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/controleur/page.php b/controleur/page.php index 471dc0e..226dbb3 100644 --- a/controleur/page.php +++ b/controleur/page.php @@ -1,8 +1,10 @@ chemin = $chemin; + } + public function liste_enfants() { - // Ouvrir le dossier (fopen). - // Lister les dossiers. - // Construire un objet Page pour chacun (code commun avec Page::enfant(nom)). - // renvoyer la liste. + $lst = scandir($this->chemin); + $lst_enfants = Array(); + if ($lst !== false) { + foreach ($lst as $k => $v) { + // Construire un objet Page pour chacun (code commun avec Page::enfant(nom)). + $lst_enfants[] = new Page($this->chemin . '/' . $v); // TODO : . '/' . n'est pas portable ! + } + } + return $lst_enfants; } - public function enfant(nom) { + public function enfant($nom) { // Récupéere le sous-dossier "nom" // Construire un objet Page (code commun avec Page::liste_enfants()). } @@ -30,30 +42,36 @@ class Page { // Construire un objet Page (code commun avec Page::enfant(nom)). } - public function nouveau(nom) { + public function nouveau($nom) { // Si nom est null, utiliser "Article" + numéro // Créer un sous-dossier "nom" // L'initialiser avec le modèle donné dans prop_modele_enfants // Construire un objet Page (code commun avec Page::enfant(nom)). } - public function supprimer(récursif) { + public function supprimer($récursif) { // Si récursif || il n'y a pas de sous-dossiers // alors supprimer récursivement le dossier courant // sinon renvoyer FAUX } - public function get_prop(nom_propriété) { + public function get_prop($nom_propriété) { // lire le contenu du fichier prop_nom_propriété } - public function set_prop(nom_propriété, valeur) { + public function set_prop($nom_propriété, $valeur) { // écrire le contenu du fichier prop_nom_propriété } public function url() { // calculer l'url de cette page en fonction de son chemin et de l'url de base + global $config_url_base; + return $config_url_base . $this->chemin; } - } + + public function vue() { + return "Aucune vue pour «" . $this->chemin . "» ."; + } +} ?> \ No newline at end of file diff --git a/index.php b/index.php new file mode 100644 index 0000000..69a97b4 --- /dev/null +++ b/index.php @@ -0,0 +1,10 @@ +

Test

+vue()); + +?> \ No newline at end of file diff --git a/types/galerie.php b/types/galerie.php index a055d92..3d10a3e 100644 --- a/types/galerie.php +++ b/types/galerie.php @@ -1,24 +1,29 @@ '; - foreach ($this->liste_sous_articles() as $k) { - $ret += '
  • ' + afficher($k, 'miniature') + '
  • '; - } - $ret += ''; + $ret .= ''; - if ($edition) { - $ret += 'Nouvelle période.'; + if ($edition) { + $ret .= 'Nouvelle période.'; + } + + return $ret; } - } -// TODO : -// Chaque page est un objet PHP, avec les méthodes suivantes : -// $page->vue(nom_vue, nom_vue_fallback_1, nom_vue_fallback_2, …); // nom_vue = normal, edition, miniature, … -// -// + Méthodes définies dans modele/page.php + // TODO : + // Chaque page est un objet PHP, avec les méthodes suivantes : + // $page->vue(nom_vue, nom_vue_fallback_1, nom_vue_fallback_2, …); // nom_vue = normal, edition, miniature, … + // + // + Méthodes définies dans modele/page.php +} ?>