diff --git a/cms2/code/TODO b/cms2/code/TODO index 5f4c67c..24ffc4c 100644 --- a/cms2/code/TODO +++ b/cms2/code/TODO @@ -8,4 +8,6 @@ - PHP5.3 chez ovh : http://guide.ovh.com/Php5ChezOvh (.htaccess avec "SetEnv PHP_VER 5_TEST") - Compatibilité free.fr : soit il faut supprimer le fichier index.php (pour que index.php5 ait la priorité), - soit il faut transférer .htaccess (qui spécifie qu'il faut utiliser php5). \ No newline at end of file + soit il faut transférer .htaccess (qui spécifie qu'il faut utiliser php5). + +- Pouvoir ajouter des types plutôt que des widgets. Type = widget affichage + wiget modification (affichage/modification) + sérialisation (stockage) (+ autre chose ?) \ No newline at end of file diff --git a/cms2/code/bdd.php5 b/cms2/code/bdd.php5 index 48f05b2..d53c477 100644 --- a/cms2/code/bdd.php5 +++ b/cms2/code/bdd.php5 @@ -1,5 +1,7 @@ $m) { + foreach (Module::$modules as $nom_module => $m) { $table = "create table if not exists " . self::table($nom_module) . " (_uid_page integer"; foreach ($m['attributs'] as $nom => $attr) { if (!$attr['global']) { @@ -75,7 +77,7 @@ class BDD { $table = "create table if not exists " . self::table("_pages") . " (" . "_uid_page integer auto_increment primary key" . ", _type varchar(50)"; - foreach (mPage::$attributs_globaux as $nom => $attr) { + foreach (Module::$attributs_globaux as $nom => $attr) { $table .= ", $nom varchar(50)"; } $table .= ")"; @@ -173,21 +175,21 @@ class BDD { } class BDDCell { - private $uid_page; - private $propriete; + private $page; + private $nom_attribut; private $type; private $valeur; - public function __construct($uid_page, $propriete, $type, $valeur) { - $this->uid_page = $uid_page; - $this->propriete = $propriete; + public function __construct($page, $nom_attribut, $type, $valeur) { + $this->page = $page; + $this->nom_attribut = $nom_attribut; $this->type = $type; $this->valeur = $valeur; } - public function uid_page() { - return $this->uid_page; + public function page() { + return $this->page; } - public function propriete() { - return $this->propriete; + public function nom_attribut() { + return $this->nom_attribut; } public function type() { return $this->type; diff --git a/cms2/code/document.php5 b/cms2/code/document.php5 index cb9dd47..700d64b 100644 --- a/cms2/code/document.php5 +++ b/cms2/code/document.php5 @@ -1,5 +1,7 @@ ), on restreindra les enfants et (parents) possibles à quelque chose de sensé. // Plutôt que d'avoir plein de sous-classes, ElementDocument a une méthode __call(), qui vérifie ce qu'on peut appeller en fonction du type de l'élément. @@ -31,8 +33,8 @@ class ElementDocument { ); } - public static function add_widget($nom, $callback) { - self::$widgets["w_" . $nom] = $callback; + public static function add_widget($nom) { + self::$widgets["w_" . $nom] = "fn_w_" . $nom; } public function type() { @@ -187,97 +189,115 @@ ElementDocument::add_type("p", $inline_elems); ElementDocument::add_type("text", "", "text"); +function fn_w_titre($d, $cell) { + // renvoie un

ou un selon les droits + $d->header()->title()->text(toString($cell)); + // TODO : modification si on a les droits. + $d->article()->hX()->text(toString($cell)); +} -ElementDocument::add_widget("titre", create_function('$d, $cell', ' - // renvoie un

ou un selon les droits - $d->header()->title()->text(toString($cell)); - // TODO : modification si on a les droits. - $d->article()->hX()->text(toString($cell)); - ')); +function fn_w_en_tete($d, $cell_titre, $cell_description) { + $d->w_titre($cell_titre); + $d->w_description($cell_description); +} + +function fn_w_description($d, $cell) { + // TODO : modification si on a les droits. + return $d->article()->p()->text(toString($cell)); +} + +function fn_w_bouton($d, $texte, $page_callback, $ressource_callback, $action_callback) { + // afficher un input[type=button] + // lors du clic, appeller $action_callback sur $page_callback/?res=$ressource_callback ? + $a = $d->a($page_callback->url($ressource_callback, + "act_" . $page_callback->uid() . "_" . $action_callback)); + $a->text($texte); + return $a; +} + +function fn_w_liste($d, $liste_pages, $function_formattage_elements) { + $ul = $d->ul(); + foreach ($liste_pages as $page) { + $li = $ul->li(); + $function_formattage_elements($page, $li); + } + return $ul; +} + +function fn_w_tableau($d, $select, $function_formattage_elements) { + $t = $d->table(); + $tr = $t->tbody()->tr(); + $tr->td()->text("Not Implemented Yet"); + return $t; +} + +function fn_w_img_file_desc($d, $cell_img, $cell_description) { + // TODO : modification si on a les droits. + $d->w_img_file($cell_img); + $d->w_description($cell_description); + return $img; +} -ElementDocument::add_widget("en_tete", create_function('$d, $cell_titre, $cell_description', ' - $d->w_titre($cell_titre); - $d->w_description($cell_description); - ')); +function fn_w_field($d, $cell) { + if ($cell->page()->if_perm("w", $cell->nom_attribut())) { + return call_user_func(array($d, "w_w_" . $cell->type()), $cell); + } else { + return call_user_func(array($d, "w_r_" . $cell->type()), $cell); + } +} +function fn_w_r_text_line($d, $cell) { + // TODO : modification si on a les droits. + return $d->text(toString($cell)); +} -ElementDocument::add_widget("description", create_function('$d, $cell', ' - // TODO : modification si on a les droits. - return $d->article()->p()->text(toString($cell)); - ')); +function fn_w_r_text_nix($d, $cell) { + // Texte naze (sans espaces etc.) à la *nix. + // TODO : modification si on a les droits. + // TODO : vérifier que ça match [a-zA-Z][-a-zA-Z0-9_]* + return $d->text(toString($cell)); +} +function fn_w_r_text_rich($d, $cell) { + // TODO : modification si on a les droits. + // TODO : rendu du texte riche. + return $d->p()->text(toString($cell)); +} -ElementDocument::add_widget("field", create_function('$d, $cell', ' - return call_user_func(array($d, "w_" . $cell->type()), $cell); - ')); +function fn_w_r_bool($d, $cell) { + // checkbox + return $d->text("w_bool(" . toString($cell) . ")"); +} +function fn_w_r_img_file($d, $cell) { + // Le widget w_img_file doit gérer le stockage de l'image dans un dossier, + // la création de la miniature et le stockage dans la BDD du chemin vers l'image. -ElementDocument::add_widget("text_line", create_function('$d, $cell', ' - // TODO : modification si on a les droits. - return $d->text(toString($cell)); - ')); + // TODO : modification si on a les droits. + // input[file] et + return $d->img(toString($cell_description), toString($cell_img)); +} +function fn_w_r_date($d, $cell) { + // affichage localisé. + return $d->text("w_date(" . toString($cell) . ")"); +} -ElementDocument::add_widget("text_nix", create_function('$d, $cell', ' - // Texte naze (sans espaces etc.) à la *nix. - // TODO : modification si on a les droits. - // TODO : vérifier que ça match [a-zA-Z][-a-zA-Z0-9_]* - return $d->text(toString($cell)); - ')); +ElementDocument::add_widget("titre", "fn_w_titre"); +ElementDocument::add_widget("en_tete", "fn_w_en_tete"); +ElementDocument::add_widget("description", "fn_w_description"); +ElementDocument::add_widget("bouton", "fn_w_bouton"); +ElementDocument::add_widget("liste", "fn_w_liste"); +ElementDocument::add_widget("tableau", "fn_w_tableau"); +ElementDocument::add_widget("img_file_desc", "fn_w_img_file_desc"); - -ElementDocument::add_widget("text_rich", create_function('$d, $cell', ' - // TODO : modification si on a les droits. - // TODO : rendu du texte riche. - return $d->p()->text(toString($cell)); - ')); - - -ElementDocument::add_widget("bool", create_function('$d, $cell', ' - // checkbox - return $d->text("w_bool(" . toString($cell) . ")"); - ')); - - -ElementDocument::add_widget("bouton", create_function('$d, $texte, $page_callback, $ressource_callback, $action_callback', ' - // afficher un input[type=button] - // lors du clic, appeller $action_callback sur $page_callback/?res=$ressource_callback ? - return $d->text("Not Implemented Yet : w_bouton($texte, $page_callback, $ressource_callback, $action_callback)"); - ')); - - -// Le widget w_img_file doit gérer le stockage de l'image dans un dossier, -// la création de la miniature et le stockage dans la BDD du chemin vers l'image. -ElementDocument::add_widget("img_file", create_function('$d, $cell_description, $cell_img', ' - // TODO : modification si on a les droits. - // input[file] et - $img = $d->img(toString($cell_description), toString($cell_img)); - $d->w_description($cell_description); - return $img; - ')); - - -ElementDocument::add_widget("date", create_function('$d, $select', ' - // affichage localisé. - return $d->text("Not Implemented Yet : date($select)"); - ')); - - -ElementDocument::add_widget("liste", create_function('$d, $list_cells, $function_formattage_elements', ' - $ul = $d->ul(); - foreach ($list_cells as $cell) { - $li = $ul->li(); - $function_formattage_elements($cell, $li); - } - return $ul; - ')); - -ElementDocument::add_widget("tableau", create_function('$d, $select, $function_formattage_elements', ' - $t = $d->table(); - $tr = $t->tbody()->tr(); - $tr->td()->text("Not Implemented Yet"); - return $t; - ')); +ElementDocument::add_widget("field"); +Module::add_type("text_line"); +Module::add_type("text_nix"); +Module::add_type("text_rich"); +Module::add_type("bool"); +Module::add_type("img_file"); +Module::add_type("date"); ?> \ No newline at end of file diff --git a/cms2/code/main.php5 b/cms2/code/main.php5 index bf7d65e..5711267 100644 --- a/cms2/code/main.php5 +++ b/cms2/code/main.php5 @@ -7,7 +7,7 @@ function verifications() { verifications(); function main() { - initModules(); + Module::initModules(); Debug("warn", "BDD::reset() est toujours activé, ne pas le garder en production !"); if (array_key_exists("reset_bdd", $_GET) && $_GET['reset_bdd'] == 'true') { diff --git a/cms2/code/module.php5 b/cms2/code/module.php5 new file mode 100644 index 0000000..bee441f --- /dev/null +++ b/cms2/code/module.php5 @@ -0,0 +1,134 @@ +inherit = $module; + } +} + +class Module { + public static $types = array(); + public static $modules = array(); + public static $attributs_globaux = array(); + public static $module_en_cours = null; + public static $limitation_infos_module = true; + + public static function is_inherit($i) { + return is_object($i) && get_class($i) == "Inherit"; + } + + public static function ressources_statiques($res) { + // TODO : factoriser d'ici... + $lim = self::$limitation_infos_module; + $m = self::$module_en_cours; + if ($lim !== true && $lim != "ressources_statiques") + return; + + if (self::is_inherit($res)) { + $i = $res->inherit; + self::$limitation_infos_module = "ressources_statiques"; + call_user_func(array($i, "info"), $i); + self::$limitation_infos_module = $lim; + } else { + // TODO : ... jusqu'ici (self::$modules[$m]['ressources_statiques'] peut être factorisé aussi. (pas pour attribut)) + self::$modules[$m]['ressources_statiques'] = qw(self::$modules[$m]['ressources_statiques'], $res); + } + } + + public static function ressources_dynamiques($res) { + // TODO : factoriser d'ici... + $lim = self::$limitation_infos_module; + $m = self::$module_en_cours; + if ($lim !== true && $lim != "ressources_dynamiques") + return; + + if (self::is_inherit($res)) { + $i = $res->inherit; + self::$limitation_infos_module = "ressources_dynamiques"; + call_user_func(array($i, "info"), $i); + self::$limitation_infos_module = $lim; + } else { + // TODO : ... jusqu'ici (self::$modules[$m]['ressources_dynamiques'] peut être factorisé aussi. (pas pour attribut)) + self::$modules[$m]['ressources_dynamiques'] = qw(self::$modules[$m]['ressources_dynamiques'], $res); + } + } + + public static function type_liens($groupe, $type = null) { + // TODO : factoriser d'ici... + $lim = self::$limitation_infos_module; + $m = self::$module_en_cours; + if ($lim !== true && $lim != "type_liens") + return; + + if (self::is_inherit($groupe)) { + $i = $res->inherit; + self::$limitation_infos_module = "type_liens"; + call_user_func(array($i, "info"), $i); + self::$limitation_infos_module = $lim; + } else { + if ($type === null) { + Debug("erreur", 'fonction type_liens() : le paramètres $type est obligatoire.'); + } + // TODO : ... jusqu'ici (self::$modules[$m]['types_enfants'] peut être factorisé aussi (pas pour attribut)). + self::$modules[$m]['type_liens'][$groupe] = $type; + } + } + + public static function attribut($nom, $type = null, $defaut = null) { + $lim = self::$limitation_infos_module; + $m = self::$module_en_cours; + if ($lim !== true && $lim != "attribut") + return; + + if (self::is_inherit($nom)) { + $i = $nom->inherit; + self::$limitation_infos_module = "attribut"; + call_user_func(array($i, "info"), $i); + self::$limitation_infos_module = $lim; + } else { + if ($type === null || $defaut === null) { + Debug("erreur", 'fonction attribut() : les paramètres $type et $defaut est obligatoire.'); + } + if (!array_key_exists($type, self::$types)) { + Debug("erreur", "L'attribut $nom a le type $type, mais ce type n'existe pas."); + } + self::$modules[$m]['attributs'][$nom] = array("global" => false, "type" => $type, "defaut" => $defaut); + } + } + + public static function attribut_global($nom, $type, $defaut) { + self::$attributs_globaux[$nom] = array('type' => $type, 'defaut' => $defaut); + } + + public static function add_module($m) { + self::$modules[$m] = array( + 'ressources_statiques' => qw(), + 'ressources_dynamiques' => qw(), + 'type_liens' => array('enfants' => false), + 'attributs' => array() + ); + } + + public static function initModules() { + foreach (self::$modules as $nom_module => $m) { + self::$module_en_cours = $nom_module; + call_user_func(array($nom_module, "info"), $nom_module); + } + self::$module_en_cours = null; + foreach (self::$attributs_globaux as $nom_ag => $ag) { + foreach (self::$modules as &$m) { + if (array_key_exists($nom_ag, $m['attributs'])) { + $m['attributs'][$nom_ag]['global'] = true; + } + } + } + } + + public static function add_type($nom) { + ElementDocument::add_widget("r_" . $nom); + ElementDocument::add_widget("w_" . $nom); + self::$types[$nom] = array(); + } +} + +?> \ No newline at end of file diff --git a/cms2/code/page.php5 b/cms2/code/page.php5 index dc16c70..92348ef 100644 --- a/cms2/code/page.php5 +++ b/cms2/code/page.php5 @@ -12,137 +12,17 @@ require_once(dirname(__FILE__) . "/util.php5"); // qw require_once(dirname(__FILE__) . "/document.php5"); // widgets pour la vérification des types. -function inherit($m) { - return array("inherit" => $m); -} - -function is_inherit($i) { - return (is_array($i) && array_key_exists("inherit", $i)); -} - -function ressources_statiques($res) { - // TODO : factoriser d'ici... - $lim = mPage::$limitation_infos_module; - $m = mPage::$module_en_cours; - if ($lim !== true && $lim != "ressources_statiques") - return; - - if (is_inherit($res)) { - $i = $res["inherit"]; - mPage::$limitation_infos_module = "ressources_statiques"; - call_user_func(array($i, "info"), $i); - mPage::$limitation_infos_module = $lim; - } else { - // TODO : ... jusqu'ici (mPage::$modules[$m]['ressources_statiques'] peut être factorisé aussi. (pas pour attribut)) - mPage::$modules[$m]['ressources_statiques'] = qw(mPage::$modules[$m]['ressources_statiques'], $res); - } -} - -function ressources_dynamiques($res) { - // TODO : factoriser d'ici... - $lim = mPage::$limitation_infos_module; - $m = mPage::$module_en_cours; - if ($lim !== true && $lim != "ressources_dynamiques") - return; - - if (is_inherit($res)) { - $i = $res["inherit"]; - mPage::$limitation_infos_module = "ressources_dynamiques"; - call_user_func(array($i, "info"), $i); - mPage::$limitation_infos_module = $lim; - } else { - // TODO : ... jusqu'ici (mPage::$modules[$m]['ressources_dynamiques'] peut être factorisé aussi. (pas pour attribut)) - mPage::$modules[$m]['ressources_dynamiques'] = qw(mPage::$modules[$m]['ressources_dynamiques'], $res); - } -} - -function type_liens($groupe, $type = null) { - // TODO : factoriser d'ici... - $lim = mPage::$limitation_infos_module; - $m = mPage::$module_en_cours; - if ($lim !== true && $lim != "type_liens") - return; - - if (is_inherit($groupe)) { - $i = $res["inherit"]; - mPage::$limitation_infos_module = "type_liens"; - call_user_func(array($i, "info"), $i); - mPage::$limitation_infos_module = $lim; - } else { - if ($type === null) { - Debug("erreur", 'fonction type_liens() : le paramètres $type est obligatoire.'); - } - // TODO : ... jusqu'ici (mPage::$modules[$m]['types_enfants'] peut être factorisé aussi (pas pour attribut)). - mPage::$modules[$m]['type_liens'][$groupe] = $type; - } -} - -function attribut($nom, $type = null, $defaut = null) { - $lim = mPage::$limitation_infos_module; - $m = mPage::$module_en_cours; - if ($lim !== true && $lim != "attribut") - return; - - if (is_inherit($nom)) { - $i = $nom["inherit"]; - mPage::$limitation_infos_module = "attribut"; - call_user_func(array($i, "info"), $i); - mPage::$limitation_infos_module = $lim; - } else { - if ($type === null || $defaut === null) { - Debug("erreur", 'fonction attribut() : les paramètres $type et $defaut est obligatoire.'); - } - if (!Document::has_widget("w_" . $type)) { - Debug("erreur", "L'attribut $nom a le type $type, mais aucun widget w_$type n'existe."); - } - mPage::$modules[$m]['attributs'][$nom] = array("global" => false, "type" => $type, "defaut" => $defaut); - } -} - -function attribut_global($nom, $type, $defaut) { - mPage::$attributs_globaux[$nom] = array('type' => $type, 'defaut' => $defaut); -} - -function module($m) { - mPage::$modules[$m] = array( - 'ressources_statiques' => qw(), - 'ressources_dynamiques' => qw(), - 'type_liens' => array('enfants' => false), - 'attributs' => array() - ); -} - -function initModules() { - foreach (mPage::$modules as $nom_module => $m) { - mPage::$module_en_cours = $nom_module; - call_user_func(array($nom_module, "info"), $nom_module); - } - mPage::$module_en_cours = null; - foreach (mPage::$attributs_globaux as $nom_ag => $ag) { - foreach (mPage::$modules as &$m) { - if (array_key_exists($nom_ag, $m['attributs'])) { - $m['attributs'][$nom_ag]['global'] = true; - } - } - } -} - class mPage { - public static $modules = array(); - public static $attributs_globaux = array(); - public static $module_en_cours = null; - public static $limitation_infos_module = true; - public static function info($module) { - attribut_global("date_creation", "date", "0"); - attribut_global("date_modification", "date", "0"); - attribut_global("publier", "bool", "false"); - attribut_global("nom_systeme", "text_nix", ""); - attribut_global("composant_url", "text_nix", "page"); + Module::attribut_global("date_creation", "date", "0"); + Module::attribut_global("date_modification", "date", "0"); + Module::attribut_global("publier", "bool", "false"); + Module::attribut_global("nom_systeme", "text_nix", ""); + Module::attribut_global("composant_url", "text_nix", "page"); } public static function est_attribut_global($prop) { - return array_key_exists($prop, self::$attributs_globaux); + return array_key_exists($prop, Module::$attributs_globaux); } public function nom_module() { @@ -150,7 +30,7 @@ class mPage { } public function module() { - return self::$modules[$this->nom_module()]; + return Module::$modules[$this->nom_module()]; } public function type_liens($groupe) { @@ -207,7 +87,7 @@ class mPage { } public function has_prop($nom) { - return array_key_exists($nom, self::$attributs_globaux) + return array_key_exists($nom, Module::$attributs_globaux) || array_key_exists($nom, $this->module['attributs']); } @@ -269,13 +149,13 @@ class mPage { } public static function créer_page($nom_module) { - $module = self::$modules[$nom_module]; + $module = Module::$modules[$nom_module]; // Insert dans la table _pages. $insert = "insert into " . BDD::table("_pages") . " set "; $insert .= "_uid_page = null"; $insert .= ", _type = '" . $nom_module . "'"; - foreach (self::$attributs_globaux as $nom => $attr) { + foreach (Module::$attributs_globaux as $nom => $attr) { if (array_key_exists($nom, $module['attributs'])) { $insert .= ", $nom = '" . BDD::escape($module['attributs'][$nom]['defaut']) . "'"; } else { @@ -343,21 +223,21 @@ class mPage { public function get_permissions_enfants($groupe) { niy("get_permissions_enfants"); } - public function if_perm($action, $nom_propriété) { + public function if_perm($action, $nom_attribut) { niy("if_perm"); - return true; + return false; // @param $action = suite de lettre parmi les suivantes : - // R = Read prop - // W = Write prop - // L = Lister les enfants ($nom_propriété désigne alors le groupe) - // C = Créer des enfants ($nom_propriété désigne alors le groupe) - // D = Delete la page ($nom_propriété est ignoré) + // R = Read attribut + // W = Write attribut + // L = Lister les enfants ($nom_attribut désigne alors le groupe) + // C = Créer des enfants ($nom_attribut désigne alors le groupe) + // D = Delete la page ($nom_attribut est ignoré) // @return true si on a l'autorisation pour TOUTES les actions demandées, false sinon. // Squelette du code : $action = strtolower($action); - $permissions_prop = strtolower($this->get_permissions_prop($nom_propriété)); - $permissions_enfants = strtolower($this->get_permissions_enfants($nom_propriété)); + $permissions_prop = strtolower($this->get_permissions_prop($nom_attribut)); + $permissions_enfants = strtolower($this->get_permissions_enfants($nom_attribut)); if (str_contains($action, "r") && !str_contains($permissions_prop, "r")) { return false; } if (str_contains($action, "w") && !str_contains($permissions_prop, "w")) { return false; } if (str_contains($action, "l") && !str_contains($permissions_enfants, "l")) { return false; } @@ -381,13 +261,13 @@ class mPage { // Récupère l'attribut "$nom" depuis la BDD. if (self::est_attribut_global($nom)) { $select_table = "_pages"; - $type = self::$attributs_globaux[$nom]['type']; + $type = Module::$attributs_globaux[$nom]['type']; } else { $select_table = $this->nom_module(); $type = $this->module['attributs'][$nom]['type']; } $select = "select $nom from " . BDD::table($select_table) . " where _uid_page = " . BDD::escape_int($this->uid()) . ";"; - return new BDDCell($this->uid(), $nom, $type, BDD::select_one($select)); + return new BDDCell($this, $nom, $type, BDD::select_one($select)); } public function __set($nom, $val) { @@ -417,6 +297,6 @@ class mPage { } } -module("mPage"); +Module::add_module("mPage"); ?> \ No newline at end of file diff --git a/cms2/modules/admin/admin-utilisateurs.php5 b/cms2/modules/admin/admin-utilisateurs.php5 index 146e9d3..0e95e40 100644 --- a/cms2/modules/admin/admin-utilisateurs.php5 +++ b/cms2/modules/admin/admin-utilisateurs.php5 @@ -2,9 +2,9 @@ class mAdminListeUtilisateurs extends mPage { public static function info($module) { - ressources_statiques("i_icône_nouvelle_page c_style"); - ressources_dynamiques("h_page h_liste_mots_de_passe"); - type_liens("enfants", "mAdminUtilisateur"); + Module::ressources_statiques("i_icône_nouvelle_page c_style"); + Module::ressources_dynamiques("h_page h_liste_mots_de_passe"); + Module::type_liens("enfants", "mAdminUtilisateur"); } public function res_i_icône_nouvelle_page() { @@ -38,18 +38,18 @@ class mAdminListeUtilisateurs extends mPage { class mAdminUtilisateur extends mPage { public static function info($module) { - ressources_statiques("c_style"); + Module::ressources_statiques("c_style"); // TODO : h_page = affichage "en grand" de l'utilisateur (~= page perso, par ex. destination d'un lien de la page contacts). - ressources_dynamiques("h_admin"); + Module::ressources_dynamiques("h_admin"); // TODO : le couple (nom,prenom) doit être unique. - attribut("nom", "text_line", "Dupondt"); - attribut("prenom", "text_line", "Jean"); - attribut("equipe", "uid", "null"); - attribut("mot_de_passe", "password", ""); + Module::attribut("nom", "text_line", "Dupondt"); + Module::attribut("prenom", "text_line", "Jean"); + Module::attribut("equipe", "uid", "null"); + Module::attribut("mot_de_passe", "password", ""); // TODO : permissions différentes pour les propriétés peut_se_connecter et groupe_permissions. // L'utilisateur ne doit pas pouvoir les modifier. - attribut("groupe_permissions", "groupe_permissions", "utilisateurs"); - attribut("peut_se_connecter", "bool", "false"); + Module::attribut("groupe_permissions", "groupe_permissions", "utilisateurs"); + Module::attribut("peut_se_connecter", "bool", "false"); } public function res_c_style() { @@ -84,6 +84,6 @@ class mAdminUtilisateur extends mPage { } } -module("mAdminListeUtilisateurs"); +Module::add_module("mAdminListeUtilisateurs"); ?> \ No newline at end of file diff --git a/cms2/modules/galerie/galerie.php5 b/cms2/modules/galerie/galerie.php5 index 11ab79c..749e4df 100644 --- a/cms2/modules/galerie/galerie.php5 +++ b/cms2/modules/galerie/galerie.php5 @@ -8,14 +8,14 @@ abstract class mGalerieBase extends mPage { public static function info($module) { $cvars = get_class_vars($module); - ressources_statiques("i_icone_nouvelle_page c_style"); - ressources_dynamiques("h_page h_miniature h_mini_miniature"); - type_liens("enfants", $cvars['type_enfants']); - type_liens("liens", "*"); - attribut("titre", "text_line", $cvars['texte_titre']); - attribut("description", "text_rich", ""); - attribut("publier", "bool", "true"); - attribut("apercu", "bool", "false"); // TODO ! + Module::ressources_statiques("i_icone_nouvelle_page c_style"); + Module::ressources_dynamiques("h_page h_miniature h_mini_miniature"); + Module::type_liens("enfants", $cvars['type_enfants']); + Module::type_liens("liens", "*"); + Module::attribut("titre", "text_line", $cvars['texte_titre']); + Module::attribut("description", "text_rich", ""); + Module::attribut("publier", "bool", "true"); + Module::attribut("apercu", "bool", "false"); // TODO ! } public function res_i_icone_nouvelle_page() { @@ -94,10 +94,10 @@ class mGaleriePhoto extends mGalerieBase { public static $texte_titre = "Photo"; public static function info($module) { - ressources_statiques("c_style"); - ressources_dynamiques(inherit(get_parent_class()), "i_grande i_image i_miniature"); - attribut(inherit(get_parent_class())); - attribut("image", "img_file", ""); + Module::ressources_statiques("c_style"); + Module::ressources_dynamiques(new Inherit(get_parent_class()), "i_grande i_image i_miniature"); + Module::attribut(new Inherit(get_parent_class())); + Module::attribut("image", "img_file", ""); } public function set_titre($titre) { @@ -117,7 +117,7 @@ class mGaleriePhoto extends mGalerieBase { public function res_h_page($d) { $d->w_en_tete($this->titre, toString($this->description)); // En-tête standard. - $d->w_img_file($this->description, $this->i_image); + $d->w_img_file_desc($this->image, $this->description); return $d; } @@ -167,9 +167,9 @@ class mGaleriePhoto extends mGalerieBase { } } -module("mGalerieIndex"); -module("mGaleriePeriode"); -module("mGalerieEvenement"); -module("mGaleriePhoto"); +Module::add_module("mGalerieIndex"); +Module::add_module("mGaleriePeriode"); +Module::add_module("mGalerieEvenement"); +Module::add_module("mGaleriePhoto"); ?> \ No newline at end of file diff --git a/cms2/modules/include.php5 b/cms2/modules/include.php5 index 9a479d4..fdcc9fe 100644 --- a/cms2/modules/include.php5 +++ b/cms2/modules/include.php5 @@ -1,6 +1,7 @@ \ No newline at end of file diff --git a/cms2/modules/squelette/squelette.php5 b/cms2/modules/squelette/squelette.php5 index a4c204b..cd2f61a 100644 --- a/cms2/modules/squelette/squelette.php5 +++ b/cms2/modules/squelette/squelette.php5 @@ -4,7 +4,7 @@ class mSquelette extends mPage { // Trouver un moyen pour que mSquelette soit appellé après avoir généré la page, pour qu'il puisse l'emballer. public static function info($module) { - ressources_dynamiques("c_css_principal text/css"); + Module::ressources_dynamiques("c_css_principal text/css"); } public function res_c_css_principal() { @@ -13,6 +13,6 @@ class mSquelette extends mPage { } } -module("mSquelette"); +Module::add_module("mSquelette"); ?> \ No newline at end of file