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