Compatibilité free.fr : suite et fin. Pas de clôtures (fonctions anonymes), pas de __callStatic, ... :( *haine profonde*
This commit is contained in:
parent
fc654bde1c
commit
91de3f81c9
1
cms2/.htaccess
Normal file
1
cms2/.htaccess
Normal file
|
@ -0,0 +1 @@
|
||||||
|
php 5
|
|
@ -1,8 +1,11 @@
|
||||||
- Debug : grouper les erreurs, améliorer l'affichage.
|
|
||||||
|
|
||||||
- Valeur de retour des res_t_xxx ?
|
- Valeur de retour des res_t_xxx ?
|
||||||
Lorsqu'on appelle GalerieIndex::res_i_icône_nouvelle_page(), ça fait un sendfile alors que GalerieIndex::res_h_page() renvoie un objet
|
Lorsqu'on appelle GalerieIndex::res_i_icône_nouvelle_page(), ça fait un sendfile alors que GalerieIndex::res_h_page() renvoie un objet
|
||||||
ElementDocument, et GalerieIndex::res_c_style() renvoie du texte (CSS) pour inclusion dans le CSS principal... alors que
|
ElementDocument, et GalerieIndex::res_c_style() renvoie du texte (CSS) pour inclusion dans le CSS principal... alors que
|
||||||
res_c_style_supplémentaire() fait je-sais-pas-quoi...
|
res_c_style_supplémentaire() fait je-sais-pas-quoi...
|
||||||
|
|
||||||
Comment gérer tout ça ? Selon le type de ressource on envoie direct ou on récupère (html,css => récup, img => envoi).
|
Comment gérer tout ça ? Selon le type de ressource on envoie direct ou on récupère (html,css => récup, img => envoi).
|
||||||
|
|
||||||
|
- 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).
|
|
@ -15,7 +15,7 @@ class BDD {
|
||||||
Config::get('db_mot_de_passe')
|
Config::get('db_mot_de_passe')
|
||||||
);
|
);
|
||||||
if (!is_resource(self::$handle)) {
|
if (!is_resource(self::$handle)) {
|
||||||
Debug::erreur("Échec à la connexion à la base de données");
|
Debug("erreur", "Échec à la connexion à la base de données");
|
||||||
}
|
}
|
||||||
// TODO : begin transaction à la 1ere écriture.
|
// TODO : begin transaction à la 1ere écriture.
|
||||||
self::begin_transaction();
|
self::begin_transaction();
|
||||||
|
@ -42,10 +42,10 @@ class BDD {
|
||||||
|
|
||||||
public static function init() {
|
public static function init() {
|
||||||
self::unbuf_query("create database if not exists " . Config::get('db_base'));
|
self::unbuf_query("create database if not exists " . Config::get('db_base'));
|
||||||
mysql_select_db(Config::get('db_base'), self::$handle) or Debug::erreur_sql();
|
mysql_select_db(Config::get('db_base'), self::$handle) or Debug("erreur_sql");
|
||||||
|
|
||||||
if (count(self::select("show tables like '" . self::table("_pages") . "'")) == 1) {
|
if (count(self::select("show tables like '" . self::table("_pages") . "'")) == 1) {
|
||||||
Debug::info("La base de données est déjà initialisée, on continue...");
|
Debug("info", "La base de données est déjà initialisée, on continue...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,13 +113,13 @@ class BDD {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function unbuf_query($q) {
|
public static function unbuf_query($q) {
|
||||||
debug::sql($q . ";");
|
Debug("sql", $q . ";");
|
||||||
mysql_unbuffered_query($q . ";", self::get()) or Debug::erreur_sql();
|
mysql_unbuffered_query($q . ";", self::get()) or Debug("erreur_sql");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function select($q) {
|
public static function select($q) {
|
||||||
debug::sql($q);
|
Debug("sql", $q);
|
||||||
$qres = mysql_query($q, BDD::get()) or Debug::erreur_sql();
|
$qres = mysql_query($q, BDD::get()) or Debug("erreur_sql");
|
||||||
$ret = array();
|
$ret = array();
|
||||||
while ($row = mysql_fetch_array($qres)) {
|
while ($row = mysql_fetch_array($qres)) {
|
||||||
$ret[] = $row;
|
$ret[] = $row;
|
||||||
|
@ -131,18 +131,18 @@ class BDD {
|
||||||
public static function select_one($q, $strict = true) {
|
public static function select_one($q, $strict = true) {
|
||||||
$res = self::select($q);
|
$res = self::select($q);
|
||||||
if ($strict && count($res) != 1) {
|
if ($strict && count($res) != 1) {
|
||||||
Debug::erreur("Un rang de la base de données a été demmandé, mais, soit aucun rang correspondant aux critères n'a été trouvé, soit plusieurs ont été trouvés.");
|
Debug("erreur", "Un rang de la base de données a été demmandé, mais, soit aucun rang correspondant aux critères n'a été trouvé, soit plusieurs ont été trouvés.");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (count($res) == 0) {
|
if (count($res) == 0) {
|
||||||
Debug::erreur("Un rang de la base de données a été demmandé, mais, aucun rang correspondant aux critères n'a été trouvé.");
|
Debug("erreur", "Un rang de la base de données a été demmandé, mais, aucun rang correspondant aux critères n'a été trouvé.");
|
||||||
}
|
}
|
||||||
return $res[0][0];
|
return $res[0][0];
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function modify($q) {
|
public static function modify($q) {
|
||||||
debug::sql($q . ";");
|
Debug("sql", $q . ";");
|
||||||
mysql_unbuffered_query($q . ";", self::get()) or Debug::erreur_sql();
|
mysql_unbuffered_query($q . ";", self::get()) or Debug("erreur_sql");
|
||||||
// http://stackoverflow.com/questions/621369/sql-insert-and-catch-the-id-auto-increment-value
|
// http://stackoverflow.com/questions/621369/sql-insert-and-catch-the-id-auto-increment-value
|
||||||
return mysql_insert_id(self::get());
|
return mysql_insert_id(self::get());
|
||||||
}
|
}
|
||||||
|
@ -154,7 +154,7 @@ class BDD {
|
||||||
public static function close() {
|
public static function close() {
|
||||||
if (is_resource(self::$handle)) {
|
if (is_resource(self::$handle)) {
|
||||||
self::commit();
|
self::commit();
|
||||||
mysql_close(self::get()) or Debug::erreur_sql();
|
mysql_close(self::get()) or Debug("erreur_sql");
|
||||||
self::$handle = null;
|
self::$handle = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -178,8 +178,8 @@ class BDDCell {
|
||||||
public function valeur() {
|
public function valeur() {
|
||||||
return $this->valeur;
|
return $this->valeur;
|
||||||
}
|
}
|
||||||
public function __toString() {
|
public function toString() {
|
||||||
return "".$this->valeur;
|
return toString($this->valeur);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ class Config {
|
||||||
|
|
||||||
public static function get($nom) {
|
public static function get($nom) {
|
||||||
if (!isset(self::$config[$nom])) {
|
if (!isset(self::$config[$nom])) {
|
||||||
// Utilisation de die() plutôt que de Debug::erreur car Debug n'est peut-être pas encore chargé.
|
// Utilisation de die() plutôt que de $Debug->erreur car Debug n'est peut-être pas encore chargé.
|
||||||
echo "Variable de configuration manquante : $nom";
|
echo "Variable de configuration manquante : $nom";
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class Debug {
|
class _Debug {
|
||||||
public static $types_erreur = array(
|
public static $types_erreur = array(
|
||||||
"erreur" => '<span style="color:red">Erreur</span>',
|
"erreur" => '<span style="color:red">Erreur</span>',
|
||||||
"niy" => '<span style="color:brown">Pas encore implémenté</span>',
|
"niy" => '<span style="color:brown">Pas encore implémenté</span>',
|
||||||
|
@ -20,11 +20,11 @@ class Debug {
|
||||||
public static $toutes_erreurs = false; // true <=> ignorer le filtre.
|
public static $toutes_erreurs = false; // true <=> ignorer le filtre.
|
||||||
public static $erreurs = array();
|
public static $erreurs = array();
|
||||||
|
|
||||||
public static function __callStatic($nom, $args) {
|
public function __call($nom, $args) {
|
||||||
if (!array_key_exists($nom, self::$types_erreur)) {
|
if (!array_key_exists($nom, self::$types_erreur)) {
|
||||||
self::erreur("Type d'erreur inconnu : " . $nom . "\nArguments de Debug::$nom() : " . var_export($args, true));
|
self::erreur("Type d'erreur inconnu : " . $nom . "\nArguments de Debug->$nom : " . var_export($args, true));
|
||||||
} elseif (count($args) != 1) {
|
} elseif (count($args) != 1) {
|
||||||
self::erreur("Mauvais nombre d'arguments pour Debug::$nom().\nArguments : " . var_export($args, true));
|
self::erreur("Mauvais nombre d'arguments pour Debug->$nom.\nArguments : " . var_export($args, true));
|
||||||
} else {
|
} else {
|
||||||
self::push($nom, $args[0]);
|
self::push($nom, $args[0]);
|
||||||
}
|
}
|
||||||
|
@ -67,8 +67,15 @@ class Debug {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function Debug($fn) {
|
||||||
|
$args = func_get_args();
|
||||||
|
array_shift($args);
|
||||||
|
$d = new _Debug();
|
||||||
|
call_user_func_array(array($d, $fn), $args);
|
||||||
|
}
|
||||||
|
|
||||||
function niy($name) {
|
function niy($name) {
|
||||||
Debug::niy($name);
|
Debug("niy", $name);
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -112,7 +112,7 @@ class ElementDocument {
|
||||||
$max = 0;
|
$max = 0;
|
||||||
foreach (self::$types[$type]["attributs_oblig"] as $i => $nom) {
|
foreach (self::$types[$type]["attributs_oblig"] as $i => $nom) {
|
||||||
if (!isset($args[$i])) {
|
if (!isset($args[$i])) {
|
||||||
Debug::erreur("Argument manquant : $nom pour " . $elem->type);
|
Debug("erreur", "Argument manquant : $nom pour " . $elem->type);
|
||||||
}
|
}
|
||||||
$elem->attr($nom, $args[$i]);
|
$elem->attr($nom, $args[$i]);
|
||||||
$max = $i;
|
$max = $i;
|
||||||
|
@ -142,7 +142,7 @@ class ElementDocument {
|
||||||
} elseif (self::has_widget($fn)) {
|
} elseif (self::has_widget($fn)) {
|
||||||
return $this->créer_widget($fn, $args);
|
return $this->créer_widget($fn, $args);
|
||||||
} else {
|
} else {
|
||||||
Debug::erreur("Impossible d'ajouter un élément $fn à " . $this->type);
|
Debug("erreur", "Impossible d'ajouter un élément $fn à " . $this->type);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -188,98 +188,98 @@ ElementDocument::add_type("text", "", "text");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("titre", function($d, $cell){
|
ElementDocument::add_widget("titre", create_function('$d, $cell', '
|
||||||
// renvoie un <h2> ou un <input> selon les droits
|
// renvoie un <h2> ou un <input> selon les droits
|
||||||
$d->header()->title()->text("".$cell);
|
$d->header()->title()->text(toString($cell));
|
||||||
// TODO : modification si on a les droits.
|
// TODO : modification si on a les droits.
|
||||||
$d->article()->hX()->text("".$cell);
|
$d->article()->hX()->text(toString($cell));
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("en_tete", function($d, $cell_titre, $cell_description){
|
ElementDocument::add_widget("en_tete", create_function('$d, $cell_titre, $cell_description', '
|
||||||
$d->w_titre($cell_titre);
|
$d->w_titre($cell_titre);
|
||||||
$d->w_description($cell_description);
|
$d->w_description($cell_description);
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("description", function($d, $cell){
|
ElementDocument::add_widget("description", create_function('$d, $cell', '
|
||||||
// TODO : modification si on a les droits.
|
// TODO : modification si on a les droits.
|
||||||
return $d->article()->p()->text("".$cell);
|
return $d->article()->p()->text(toString($cell));
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("field", function($d, $cell){
|
ElementDocument::add_widget("field", create_function('$d, $cell', '
|
||||||
$f = $d->span("field");
|
$f = $d->span("field");
|
||||||
$f->text("NIY : " . $cell);
|
$f->text("NIY : " . toString($cell));
|
||||||
return $f;
|
return $f;
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("text_line", function($d, $cell){
|
ElementDocument::add_widget("text_line", create_function('$d, $cell', '
|
||||||
// TODO : modification si on a les droits.
|
// TODO : modification si on a les droits.
|
||||||
return $d->text("".$cell);
|
return $d->text(toString($cell));
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("text_nix", function($d, $cell){
|
ElementDocument::add_widget("text_nix", create_function('$d, $cell', '
|
||||||
// Texte naze (sans espaces etc.) à la *nix.
|
// Texte naze (sans espaces etc.) à la *nix.
|
||||||
// TODO : modification si on a les droits.
|
// TODO : modification si on a les droits.
|
||||||
// TODO : vérifier que ça match [a-zA-Z][-a-zA-Z0-9_]*
|
// TODO : vérifier que ça match [a-zA-Z][-a-zA-Z0-9_]*
|
||||||
return $d->text("".$cell);
|
return $d->text(toString($cell));
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("text_rich", function($d, $cell){
|
ElementDocument::add_widget("text_rich", create_function('$d, $cell', '
|
||||||
// TODO : modification si on a les droits.
|
// TODO : modification si on a les droits.
|
||||||
// TODO : rendu du texte riche.
|
// TODO : rendu du texte riche.
|
||||||
return $d->p()->text("".$cell);
|
return $d->p()->text(toString($cell));
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("bool", function($d, $cell){
|
ElementDocument::add_widget("bool", create_function('$d, $cell', '
|
||||||
// checkbox
|
// checkbox
|
||||||
return $d->text("Not Implemented Yet : w_bool($cell)");
|
return $d->text("Not Implemented Yet : w_bool($cell)");
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("bouton", function($d, $texte, $page_callback, $ressource_callback, $action_callback){
|
ElementDocument::add_widget("bouton", create_function('$d, $texte, $page_callback, $ressource_callback, $action_callback', '
|
||||||
// afficher un input[type=button]
|
// afficher un input[type=button]
|
||||||
// lors du clic, appeller $action_callback sur $page_callback/?res=$ressource_callback ?
|
// 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)");
|
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,
|
// 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.
|
// la création de la miniature et le stockage dans la BDD du chemin vers l'image.
|
||||||
ElementDocument::add_widget("img_file", function($d, $cell_description, $cell_img){
|
ElementDocument::add_widget("img_file", create_function('$d, $cell_description, $cell_img', '
|
||||||
// TODO : modification si on a les droits.
|
// TODO : modification si on a les droits.
|
||||||
// input[file] et <img>
|
// input[file] et <img>
|
||||||
$img = $d->img("".$cell_description, "".$cell_img);
|
$img = $d->img(toString($cell_description), toString($cell_img));
|
||||||
$d->w_description($cell_description);
|
$d->w_description($cell_description);
|
||||||
return $img;
|
return $img;
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("date", function($d, $select){
|
ElementDocument::add_widget("date", create_function('$d, $select', '
|
||||||
// affichage localisé.
|
// affichage localisé.
|
||||||
return $d->text("Not Implemented Yet : date($select)");
|
return $d->text("Not Implemented Yet : date($select)");
|
||||||
});
|
'));
|
||||||
|
|
||||||
|
|
||||||
ElementDocument::add_widget("liste", function($d, $list_cells, $function_formattage_elements) {
|
ElementDocument::add_widget("liste", create_function('$d, $list_cells, $function_formattage_elements', '
|
||||||
$ul = $d->ul();
|
$ul = $d->ul();
|
||||||
foreach ($list_cells as $cell) {
|
foreach ($list_cells as $cell) {
|
||||||
$li = $ul->li();
|
$li = $ul->li();
|
||||||
$function_formattage_elements($cell, $li);
|
$function_formattage_elements($cell, $li);
|
||||||
}
|
}
|
||||||
return $ul;
|
return $ul;
|
||||||
});
|
'));
|
||||||
|
|
||||||
ElementDocument::add_widget("tableau", function($d, $select, $function_formattage_elements) {
|
ElementDocument::add_widget("tableau", create_function('$d, $select, $function_formattage_elements', '
|
||||||
$t = $d->table();
|
$t = $d->table();
|
||||||
$tr = $t->tbody()->tr();
|
$tr = $t->tbody()->tr();
|
||||||
$tr->td()->text("Not Implemented Yet");
|
$tr->td()->text("Not Implemented Yet");
|
||||||
return $t;
|
return $t;
|
||||||
});
|
'));
|
||||||
|
|
||||||
?>
|
?>
|
|
@ -22,7 +22,7 @@ function main() {
|
||||||
$rendu = $page->rendu($res);
|
$rendu = $page->rendu($res);
|
||||||
BDD::close();
|
BDD::close();
|
||||||
|
|
||||||
$rendu->erreurs()->litteral(Debug::afficher());
|
$rendu->erreurs()->litteral(_Debug::afficher());
|
||||||
$rendu = $rendu->to_XHTML_5();
|
$rendu = $rendu->to_XHTML_5();
|
||||||
|
|
||||||
echo $rendu;
|
echo $rendu;
|
||||||
|
|
|
@ -70,7 +70,7 @@ function type_liens($groupe, $type = null) {
|
||||||
mPage::$limitation_infos_module = $lim;
|
mPage::$limitation_infos_module = $lim;
|
||||||
} else {
|
} else {
|
||||||
if ($type === null) {
|
if ($type === null) {
|
||||||
Debug::erreur('fonction type_liens() : le paramètres $type est obligatoire.');
|
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)).
|
// TODO : ... jusqu'ici (mPage::$modules[$m]['types_enfants'] peut être factorisé aussi (pas pour attribut)).
|
||||||
mPage::$modules[$m]['type_liens'][$groupe] = $type;
|
mPage::$modules[$m]['type_liens'][$groupe] = $type;
|
||||||
|
@ -90,10 +90,10 @@ function attribut($nom, $type = null, $defaut = null) {
|
||||||
mPage::$limitation_infos_module = $lim;
|
mPage::$limitation_infos_module = $lim;
|
||||||
} else {
|
} else {
|
||||||
if ($type === null || $defaut === null) {
|
if ($type === null || $defaut === null) {
|
||||||
Debug::erreur('fonction attribut() : les paramètres $type et $defaut est obligatoire.');
|
Debug("erreur", 'fonction attribut() : les paramètres $type et $defaut est obligatoire.');
|
||||||
}
|
}
|
||||||
if (!Document::has_widget("w_" . $type)) {
|
if (!Document::has_widget("w_" . $type)) {
|
||||||
Debug::erreur("L'attribut $nom a le type $type, mais aucun widget w_$type n'existe.");
|
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);
|
mPage::$modules[$m]['attributs'][$nom] = array("global" => false, "type" => $type, "defaut" => $defaut);
|
||||||
}
|
}
|
||||||
|
@ -392,7 +392,7 @@ class mPage {
|
||||||
public function set_prop_direct($nom, $val) {
|
public function set_prop_direct($nom, $val) {
|
||||||
// Modifie l'attribut "$nom" dans la BDD.
|
// Modifie l'attribut "$nom" dans la BDD.
|
||||||
$update_table = (self::est_propriete_globale($nom)) ? "_pages" : $this->nom_module();
|
$update_table = (self::est_propriete_globale($nom)) ? "_pages" : $this->nom_module();
|
||||||
$update = "update " . BDD::table($update_table) . " set $nom = '" . mysql_real_escape_string("".$val) . "' where _uid_page = " . $this->uid();
|
$update = "update " . BDD::table($update_table) . " set $nom = '" . mysql_real_escape_string(toString($val)) . "' where _uid_page = " . $this->uid();
|
||||||
BDD::unbuf_query($update);
|
BDD::unbuf_query($update);
|
||||||
if ($nom != "date_modification") {
|
if ($nom != "date_modification") {
|
||||||
$this->date_modification = time();
|
$this->date_modification = time();
|
||||||
|
|
|
@ -37,6 +37,14 @@ function applyXSLT($xml, $xslt_file) {
|
||||||
return $xslt->transformToXML($dom);
|
return $xslt->transformToXML($dom);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toString($obj) {
|
||||||
|
if (is_object($obj) && method_exists($obj, "toString")) {
|
||||||
|
return $obj->toString();
|
||||||
|
} else {
|
||||||
|
return "".$obj;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**** Début PATH ****/
|
/**** Début PATH ****/
|
||||||
|
|
||||||
// http://www.liranuna.com/php-path-resolution-class-relative-paths-made-easy/
|
// http://www.liranuna.com/php-path-resolution-class-relative-paths-made-easy/
|
||||||
|
|
1
cms2/index.php
Normal file
1
cms2/index.php
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<?php require_once(dirname(__FILE__) . "/index.php5"); ?>
|
|
@ -18,9 +18,9 @@ class mAdminListeUtilisateurs extends mPage {
|
||||||
public function res_h_page($d) {
|
public function res_h_page($d) {
|
||||||
$d->w_titre("Utilisateurs");
|
$d->w_titre("Utilisateurs");
|
||||||
|
|
||||||
$l = $d->article()->w_tableau($this->enfants(true, "+nom +prenom"), function($e, $tr) {
|
$l = $d->article()->w_tableau($this->enfants(true, "+nom +prenom"), create_function('$e, $tr', '
|
||||||
$e->rendu("h_admin", $tr);
|
$e->rendu("h_admin", $tr);
|
||||||
});
|
'));
|
||||||
$nouveau = $l->tbody(0)->tr()->td(6);
|
$nouveau = $l->tbody(0)->tr()->td(6);
|
||||||
$nouveau->text("Nouvel utilisateur");
|
$nouveau->text("Nouvel utilisateur");
|
||||||
return $d;
|
return $d;
|
||||||
|
@ -29,9 +29,9 @@ class mAdminListeUtilisateurs extends mPage {
|
||||||
public function res_h_liste_mots_de_passe($d) {
|
public function res_h_liste_mots_de_passe($d) {
|
||||||
$d->w_titre("Liste de mots de passe.");
|
$d->w_titre("Liste de mots de passe.");
|
||||||
|
|
||||||
$l = $d->article()->w_liste($this->enfants("groupe_permissions = 'utilisateurs'", "+nom +prenom"), function($e, $li) {
|
$l = $d->article()->w_liste($this->enfants("groupe_permissions = 'utilisateurs'", "+nom +prenom"), create_function('$e, $li', '
|
||||||
$e->rendu("h_admin_mdp", $li);
|
$e->rendu("h_admin_mdp", $li);
|
||||||
});
|
'));
|
||||||
return $d;
|
return $d;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,26 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
abstract class mGalerieBase extends mPage {
|
abstract class mGalerieBase extends mPage {
|
||||||
protected static $texte_titre = "Galerie";
|
public static $texte_titre = "Galerie";
|
||||||
protected static $texte_nouvelle_page = "Nouvel élément";
|
public static $texte_nouvelle_page = "Nouvel élément";
|
||||||
protected static $icone_nouvelle_page = "nouvelle_periode.png";
|
public static $icone_nouvelle_page = "nouvelle_periode.png";
|
||||||
protected static $type_enfants = "mGaleriePeriode";
|
public static $type_enfants = "mGaleriePeriode";
|
||||||
|
|
||||||
public static function info($module) {
|
public static function info($module) {
|
||||||
|
$cvars = get_class_vars($module);
|
||||||
|
/* echo "<pre>";
|
||||||
|
var_dump($module);
|
||||||
|
var_dump($cvars);
|
||||||
|
echo "\n\n\n";
|
||||||
|
$cvars = get_class_vars("mGalerieBase");
|
||||||
|
var_dump($cvars);
|
||||||
|
echo "</pre>";
|
||||||
|
exit;*/
|
||||||
ressources_statiques("i_icone_nouvelle_page c_style");
|
ressources_statiques("i_icone_nouvelle_page c_style");
|
||||||
ressources_dynamiques("h_page h_miniature h_mini_miniature");
|
ressources_dynamiques("h_page h_miniature h_mini_miniature");
|
||||||
type_liens("enfants", $module::$type_enfants);
|
type_liens("enfants", $cvars['type_enfants']);
|
||||||
type_liens("liens", "*");
|
type_liens("liens", "*");
|
||||||
attribut("titre", "text_line", $module::$texte_titre);
|
attribut("titre", "text_line", $cvars['texte_titre']);
|
||||||
attribut("description", "text_rich", "");
|
attribut("description", "text_rich", "");
|
||||||
attribut("publier", "bool", "true");
|
attribut("publier", "bool", "true");
|
||||||
attribut("apercu", "bool", "false"); // TODO !
|
attribut("apercu", "bool", "false"); // TODO !
|
||||||
|
@ -27,10 +36,10 @@ abstract class mGalerieBase extends mPage {
|
||||||
|
|
||||||
public function res_h_page($d) {
|
public function res_h_page($d) {
|
||||||
$d->w_en_tete($this->titre, $this->description); // En-tête standard.
|
$d->w_en_tete($this->titre, $this->description); // En-tête standard.
|
||||||
$l = $d->article()->w_liste($this->enfants(true, "-date_creation"), function($e, $li) {
|
$l = $d->article()->w_liste($this->enfants(true, "-date_creation"), create_function('$e, $li', '
|
||||||
$a = $li->a($e->url());
|
$a = $li->a($e->url());
|
||||||
$e->rendu("h_miniature", $a);
|
$e->rendu("h_miniature", $a);
|
||||||
});
|
'));
|
||||||
$nouveau = $l->li();
|
$nouveau = $l->li();
|
||||||
// TODO : nouveau devrait être un lien, bouton, ...
|
// TODO : nouveau devrait être un lien, bouton, ...
|
||||||
$nouveau->span("miniature")->img("", $this->url("i_icone_nouvelle_page"));
|
$nouveau->span("miniature")->img("", $this->url("i_icone_nouvelle_page"));
|
||||||
|
@ -69,28 +78,28 @@ abstract class mGalerieBase extends mPage {
|
||||||
}
|
}
|
||||||
|
|
||||||
class mGalerieIndex extends mGalerieBase {
|
class mGalerieIndex extends mGalerieBase {
|
||||||
protected static $texte_titre = "Galerie";
|
public static $texte_titre = "Galerie";
|
||||||
protected static $texte_nouvelle_page = "Nouvelle période";
|
public static $texte_nouvelle_page = "Nouvelle période";
|
||||||
protected static $icone_nouvelle_page = "nouvelle_periode.png";
|
public static $icone_nouvelle_page = "nouvelle_periode.png";
|
||||||
protected static $type_enfants = "mGaleriePeriode";
|
public static $type_enfants = "mGaleriePeriode";
|
||||||
}
|
}
|
||||||
|
|
||||||
class mGaleriePeriode extends mGalerieBase {
|
class mGaleriePeriode extends mGalerieBase {
|
||||||
protected static $texte_titre = "Période";
|
public static $texte_titre = "Période";
|
||||||
protected static $texte_nouvelle_page = "Nouvel événement";
|
public static $texte_nouvelle_page = "Nouvel événement";
|
||||||
protected static $icone_nouvelle_page = "nouvel_evenement.png";
|
public static $icone_nouvelle_page = "nouvel_evenement.png";
|
||||||
protected static $type_enfants = "mGalerieEvenement";
|
public static $type_enfants = "mGalerieEvenement";
|
||||||
}
|
}
|
||||||
|
|
||||||
class mGalerieEvenement extends mGalerieBase {
|
class mGalerieEvenement extends mGalerieBase {
|
||||||
protected static $texte_titre = "Événement";
|
public static $texte_titre = "Événement";
|
||||||
protected static $texte_nouvelle_page = "Nouvelle photo";
|
public static $texte_nouvelle_page = "Nouvelle photo";
|
||||||
protected static $icone_nouvelle_page = "nouvelle_photo.png";
|
public static $icone_nouvelle_page = "nouvelle_photo.png";
|
||||||
protected static $type_enfants = "mGaleriePhoto";
|
public static $type_enfants = "mGaleriePhoto";
|
||||||
}
|
}
|
||||||
|
|
||||||
class mGaleriePhoto extends mGalerieBase {
|
class mGaleriePhoto extends mGalerieBase {
|
||||||
protected static $texte_titre = "Photo";
|
public static $texte_titre = "Photo";
|
||||||
|
|
||||||
public static function info($module) {
|
public static function info($module) {
|
||||||
ressources_statiques("c_style");
|
ressources_statiques("c_style");
|
||||||
|
@ -115,7 +124,7 @@ class mGaleriePhoto extends mGalerieBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function res_h_page($d) {
|
public function res_h_page($d) {
|
||||||
$d->w_en_tete($this->titre, "".$this->description); // En-tête standard.
|
$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($this->description, $this->i_image);
|
||||||
return $d;
|
return $d;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,12 +21,12 @@ class mNouveautes extends mPage {
|
||||||
public function res_h_page($d) {
|
public function res_h_page($d) {
|
||||||
$d->w_en_tete(); // En-tête standard.
|
$d->w_en_tete(); // En-tête standard.
|
||||||
|
|
||||||
$l = $d->article()->w_liste($this->enfants(true, "-date_creation", 10), function($e, $li) {
|
$l = $d->article()->w_liste($this->enfants(true, "-date_creation", 10), create_function('$e, $li', '
|
||||||
$a = $li->a($e->uid());
|
$a = $li->a($e->uid());
|
||||||
// TODO : h_miniature_nouveautes s'il existe sinon h_miniature sinon juste un lien.
|
// TODO : h_miniature_nouveautes s\'il existe sinon h_miniature sinon juste un lien.
|
||||||
// Comme ça le h_miniature_nouveautes d'une période de la galerie, c'est 3 ou 4 images alors que normalement c'en est juste une seule.
|
// Comme ça le h_miniature_nouveautes d\'une période de la galerie, c\'est 3 ou 4 images alors que normalement c\'en est juste une seule.
|
||||||
$e->rendu("h_miniature", $a);
|
$e->rendu("h_miniature", $a);
|
||||||
});
|
'));
|
||||||
$nouveau = $l->li();
|
$nouveau = $l->li();
|
||||||
$nouveau->span("miniature")->img("", $this->url("i_icône_nouvelle_page"));
|
$nouveau->span("miniature")->img("", $this->url("i_icône_nouvelle_page"));
|
||||||
$nouveau->span("action")->text("Ajouter un article aux nouveautés.");
|
$nouveau->span("action")->text("Ajouter un article aux nouveautés.");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user