Gros nettoyage / débogage / etc.

This commit is contained in:
Georges Dupéron 2010-09-14 19:11:36 +02:00
parent 0db01aaf23
commit ba33e6524b
45 changed files with 76 additions and 107 deletions

View File

@ -32,6 +32,7 @@ class AdminApparence {
// on affiche la version modifiable plutôt que la "vue". // on affiche la version modifiable plutôt que la "vue".
$ret = ''; $ret = '';
if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) { if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) {
$ret .= '<p><strong>Attention :</strong> Les couleurs du site ne peuvent pas encore être modifiées...</p>';
$ret .= '<form method="post" action="' . $chemin->get_url() . '">'; $ret .= '<form method="post" action="' . $chemin->get_url() . '">';
$ret .= '<ul>'; $ret .= '<ul>';
$ret .= '<li><label for="Couleur_A">Couleur A : </label><input type="text" id="Couleur_A" name="Couleur_A" value="#000" /></li>'; $ret .= '<li><label for="Couleur_A">Couleur A : </label><input type="text" id="Couleur_A" name="Couleur_A" value="#000" /></li>';

View File

@ -21,9 +21,10 @@ class AdminPermissions {
public static function vue($chemin, $vue = "normal") { public static function vue($chemin, $vue = "normal") {
$singleton = new Chemin("/admin/permissions/"); $singleton = new Chemin("/admin/permissions/");
if ($vue == "normal") { if ($vue == "normal") {
$ret = ""; $ret = '';
$ret .= "<h2>Règles de sécurité</h2>"; $ret .= '<h2>Règles de sécurité</h2>';
$ret .= "<p>La première règle correspondant à une action de l'utilisateur est appliquée. TODO Bla-bla blabla sur le fonctionnement.</p>"; $ret .= '<p><strong>Attention ! Ne modifiez pas ces paramètres si vous ne comprennez pas <em>complètement</em> à quoi ça sert !!!</strong></p>';
$ret .= '<p>La première règle correspondant à une action de l\'utilisateur est appliquée. TODO Bla-bla blabla sur le fonctionnement.</p>';
if (Permissions::vérifier_permission($singleton, "set_prop", Authentification::get_utilisateur())) { if (Permissions::vérifier_permission($singleton, "set_prop", Authentification::get_utilisateur())) {
$ret .= '<textarea class="admin permissions regles" cols="200" rows="20">' . Stockage::get_prop($singleton, "regles") . "</textarea>"; // TODO : html escape chars etc. $ret .= '<textarea class="admin permissions regles" cols="200" rows="20">' . Stockage::get_prop($singleton, "regles") . "</textarea>"; // TODO : html escape chars etc.
} else { } else {

View File

@ -63,7 +63,8 @@ class AdminUtilisateurs {
if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) { if (Permissions::vérifier_permission($chemin, "nouvelle_page", Authentification::get_utilisateur())) {
// afficher le lien "Nouvel utilisateur" // afficher le lien "Nouvel utilisateur"
} }
$ret .= '<table class="utilisateurs index"><thead><th>Nom</th><th>Prénom</th><th>Groupe</th><th>Mot de passe</th><th>Peut se connecter</th><th colspan="2"></th></thead><tbody>'; $ret .= '<p><strong>Attention :</strong> On ne peut pas encore ajouter des utilisateurs au site...</p>';
$ret .= '<table class="admin utilisateurs liste"><thead><th>Nom</th><th>Prénom</th><th>Groupe</th><th colspan="2">Mot de passe</th><th>Peut se connecter</th><th colspan="2"></th></thead><tbody>';
$listegroupes = ""; // Construire la liste des groupes sous forme de menu drop-down. $listegroupes = ""; // Construire la liste des groupes sous forme de menu drop-down.
foreach (Authentification::liste_utilisateurs() as $u) { foreach (Authentification::liste_utilisateurs() as $u) {
$ret .= '<tr>' $ret .= '<tr>'
@ -71,7 +72,8 @@ class AdminUtilisateurs {
. '<td>' . $u . '</td>' // TODO : Nom . '<td>' . $u . '</td>' // TODO : Nom
. '<td>' . $u . '</td>' // TODO : Prénom . '<td>' . $u . '</td>' // TODO : Prénom
. '<td>' . Authentification::get_groupe($u) . '</td>' . '<td>' . Authentification::get_groupe($u) . '</td>'
. '<td>' . Authentification::get_mot_de_passe($u) . '<input type="submit" value="Générer un nouveau mot de passe"/></td>' . '<td>' . Authentification::get_mot_de_passe($u) . '</td>'
. '<td>' . '<input type="submit" value="Générer un nouveau mot de passe"/>' . '</td>'
. '<td>' . (Authentification::get_peut_se_connecter($u) ? "oui" : "non") . '</td>' . '<td>' . (Authentification::get_peut_se_connecter($u) ? "oui" : "non") . '</td>'
. '<td><input type="submit" value="appliquer"/></td>' . '<td><input type="submit" value="appliquer"/></td>'
. '<td><input type="submit" value="supprimer"/></td>' // TODO . '<td><input type="submit" value="supprimer"/></td>' // TODO

View File

@ -9,7 +9,6 @@ class ArticlesIndex {
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "titre", "Nouvel article"); Stockage::set_prop($np, "titre", "Nouvel article");
Stockage::set_prop($np, "contenu", "Bla bla bla."); Stockage::set_prop($np, "contenu", "Bla bla bla.");
enregistrer_nouveaute($np);
return new Page($np, '', "redirect"); return new Page($np, '', "redirect");
} else { } else {
if (isset($paramètres["description"])) { if (isset($paramètres["description"])) {

View File

@ -14,7 +14,6 @@ class ContactIndex {
Stockage::set_prop($np, "nom", "Dupondt"); Stockage::set_prop($np, "nom", "Dupondt");
Stockage::set_prop($np, "prenom", "Jean"); Stockage::set_prop($np, "prenom", "Jean");
Stockage::set_prop($np, "description", ""); Stockage::set_prop($np, "description", "");
enregistrer_nouveaute($np);
return new Page($np, '', "redirect"); return new Page($np, '', "redirect");
} else { } else {
if (isset($paramètres["description"])) { if (isset($paramètres["description"])) {

View File

@ -14,7 +14,6 @@ class ÉquipesÉquipe {
Stockage::set_prop($np, "nom", "Dupondt"); Stockage::set_prop($np, "nom", "Dupondt");
Stockage::set_prop($np, "prenom", "Jean"); Stockage::set_prop($np, "prenom", "Jean");
Stockage::set_prop($np, "description", ""); Stockage::set_prop($np, "description", "");
enregistrer_nouveaute($np);
return new Page($chemin, '', "redirect"); return new Page($chemin, '', "redirect");
} else if ($action == "supprimer") { } else if ($action == "supprimer") {

View File

@ -9,7 +9,6 @@ class ÉquipesIndex {
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "titre", "Nouvelle équipe"); Stockage::set_prop($np, "titre", "Nouvelle équipe");
Stockage::set_prop($np, "dernier_numero", 0); Stockage::set_prop($np, "dernier_numero", 0);
enregistrer_nouveaute($np);
return new Page($np, '', "redirect"); return new Page($np, '', "redirect");
} else { } else {
if (isset($paramètres["description"])) { if (isset($paramètres["description"])) {

View File

@ -9,7 +9,6 @@ class ForumIndex {
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "titre", "Nouveau sujet"); Stockage::set_prop($np, "titre", "Nouveau sujet");
Stockage::set_prop($np, "dernier_numero", 0); Stockage::set_prop($np, "dernier_numero", 0);
enregistrer_nouveaute($np);
return new Page($np, '', "redirect"); return new Page($np, '', "redirect");
} else { } else {
if (isset($paramètres["description"])) { if (isset($paramètres["description"])) {

View File

@ -12,7 +12,6 @@ class ForumSujet {
$np = Stockage::nouvelle_page($chemin, "" . $numéro_message, "forum-message"); $np = Stockage::nouvelle_page($chemin, "" . $numéro_message, "forum-message");
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "message", ""); Stockage::set_prop($np, "message", "");
enregistrer_nouveaute($np);
return new Page($chemin, "#message" . $numéro_message, "redirect"); return new Page($chemin, "#message" . $numéro_message, "redirect");
} else if ($action == "supprimer") { } else if ($action == "supprimer") {

View File

@ -9,7 +9,6 @@ class GalerieÉvènement {
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "titre", "Nouvelle photo"); Stockage::set_prop($np, "titre", "Nouvelle photo");
Stockage::set_prop($np, "description", ""); Stockage::set_prop($np, "description", "");
enregistrer_nouveaute($np);
return new Page($np, '', "redirect"); return new Page($np, '', "redirect");
} else if ($action == "supprimer") { } else if ($action == "supprimer") {
Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif

View File

@ -9,7 +9,6 @@ class GalerieIndex {
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "titre", "Nouvelle période"); Stockage::set_prop($np, "titre", "Nouvelle période");
Stockage::set_prop($np, "description", ""); Stockage::set_prop($np, "description", "");
enregistrer_nouveaute($np);
return new Page($np, '', "redirect"); return new Page($np, '', "redirect");
} else { } else {
if (isset($paramètres["description"])) { if (isset($paramètres["description"])) {

View File

@ -9,7 +9,6 @@ class GaleriePériode {
Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur()); Stockage::set_prop($np, "proprietaire", Authentification::get_utilisateur());
Stockage::set_prop($np, "titre", "Nouvel évènement"); Stockage::set_prop($np, "titre", "Nouvel évènement");
Stockage::set_prop($np, "description", ""); Stockage::set_prop($np, "description", "");
enregistrer_nouveaute($np);
return new Page($np, '', "redirect"); return new Page($np, '', "redirect");
} else if ($action == "supprimer") { } else if ($action == "supprimer") {
Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif Stockage::supprimer($chemin, true); // TODO ! gérer correctement le récursif

View File

@ -6,10 +6,9 @@ require_once(dirname(__FILE__) . "/site/include.php");
require_once(dirname(__FILE__) . "/admin/include.php"); require_once(dirname(__FILE__) . "/admin/include.php");
require_once(dirname(__FILE__) . "/forum/include.php"); require_once(dirname(__FILE__) . "/forum/include.php");
require_once(dirname(__FILE__) . "/galerie/include.php"); require_once(dirname(__FILE__) . "/galerie/include.php");
require_once(dirname(__FILE__) . "/nouveautes/include.php");
require_once(dirname(__FILE__) . "/articles/include.php"); require_once(dirname(__FILE__) . "/articles/include.php");
require_once(dirname(__FILE__) . "/equipes/include.php"); require_once(dirname(__FILE__) . "/equipes/include.php");
require_once(dirname(__FILE__) . "/liens/include.php"); require_once(dirname(__FILE__) . "/liens/include.php");
require_once(dirname(__FILE__) . "/contact/include.php"); require_once(dirname(__FILE__) . "/contact/include.php");
?> ?>

View File

@ -14,7 +14,6 @@ class LiensIndex {
Stockage::set_prop($np, "texte", "Un lien"); Stockage::set_prop($np, "texte", "Un lien");
Stockage::set_prop($np, "cible", "http://www.example.com/page/"); Stockage::set_prop($np, "cible", "http://www.example.com/page/");
Stockage::set_prop($np, "description", "Un lien d'exemple très utile."); Stockage::set_prop($np, "description", "Un lien d'exemple très utile.");
enregistrer_nouveaute($np);
return new Page($np, '', "redirect"); return new Page($np, '', "redirect");
} else { } else {
if (isset($paramètres["description"])) { if (isset($paramètres["description"])) {

View File

@ -1,3 +0,0 @@
<?php
require_once(dirname(__FILE__) . "/nouveautes-index.php");
?>

View File

@ -1,84 +0,0 @@
<?php
// TODO : accents pour nouveauté.
class NouveautesIndex {
public static function action($chemin, $action, $paramètres) {
if ($action == "anuler") {
return new Page($chemin, '', "redirect");
} else {
if (isset($paramètres["titre"])) {
Stockage::set_prop($chemin, "titre", $paramètres["titre"]);
}
if (isset($paramètres["vue"])) {
return self::vue($chemin, $paramètres["vue"]);
} else {
return self::vue($chemin);
}
}
}
public static function vue($chemin, $vue = "normal") {
if ($vue == "normal") {
$ret = '';
if (Permissions::vérifier_permission($chemin, "set_prop", Authentification::get_utilisateur())) {
$ret .= '<form class="articles infos" method="post" action="' . $chemin->get_url() . '">';
$ret .= '<h2><input type="text" name="titre" value="' . Stockage::get_prop($chemin, "titre") . '" /></h2>';
$ret .= '<p><input type="submit" value="appliquer" /></p>';
$ret .= '</form>';
} else {
$ret .= '<h2>' . Stockage::get_prop($chemin, "titre") . '</h2>';
}
$ret .= '<div class="nouveautes list index">';
$ret .= '<ul>';
/*foreach (Stockage::liste_enfants(new Chemin("/forum")) as $k) {
$date = Stockage::get_prop($k, "date_modif");
if (Erreur::is_erreur($date)) $date = "0";
$date = (int)$date;
var_dump($date);
}*/
// TODO : faire dans l'ordre décroissant les 5 dernières nouveautés.
foreach (Stockage::liste_enfants($chemin) as $n) {
$k = new Chemin(Stockage::get_prop($n, "chemin"));
$mini = Modules::vue($k, 'miniature');
$ret .= '<li>';
// TODO : mettre une ancre "#message<numéro>"
$ret .= '<a href="' . $k->get_url() . '">'; // TODO : escape l'url !
$ret .= '<span class="titre">';
$ret .= $mini->titre;
$ret .= '</span>';
$ret .= '</a>';
$ret .= '<p class="contenu">';
$ret .= $mini->contenu;
$ret .= '</p>';
$ret .= '</li>';
}
$ret .= '</ul>';
return new Page($ret, Stockage::get_prop($chemin, "titre"));
}
}
}
// TODO : maintenir la liste à jour lors des renomages, suppressions, ...
function enregistrer_nouveaute($chemin) {
$singleton = new Chemin("/nouveautes");
Stockage::set_prop($chemin, "date_modif", "".time());
// SECURITE : On ne doit PAS pouvoir modifier dernier_numero arbitrairement
// CONCURENCE : Faire un lock quelque part...
$numéro_nouveauté = 1 + Stockage::get_prop($singleton, "dernier_numero");
Stockage::set_prop($singleton, "dernier_numero", $numéro_nouveauté);
$nouv = Stockage::nouvelle_page($singleton, "" . $numéro_nouveauté, "nouveaute-element-liste");
Stockage::set_prop($nouv, "chemin", $chemin->get());
}
Modules::enregister_module("NouveautesIndex", "nouveautes-index", "vue", "titre");
?>

View File

@ -0,0 +1 @@
Anonyme

View File

@ -1 +0,0 @@
Nouveau sujet

View File

@ -0,0 +1 @@
Ce sujet est une polémique !

View File

@ -0,0 +1 @@
grand___chef

View File

@ -0,0 +1 @@
forum-message

View File

@ -0,0 +1 @@
Mais non !

View File

@ -0,0 +1 @@
grand___chef

View File

@ -0,0 +1 @@
forum-message

View File

@ -0,0 +1 @@
Mais si !

View File

@ -0,0 +1 @@
grand___chef

View File

@ -0,0 +1 @@
forum-message

View File

@ -0,0 +1 @@
3

View File

@ -0,0 +1 @@
Polémique

View File

@ -0,0 +1 @@
Et voilà, nous avons un super site pour notre association de handball ! Je suis sûr que vous attendiez tous avec impatience ce design jaune et noir très… moche.

View File

@ -0,0 +1 @@
grand___chef

View File

@ -0,0 +1 @@
Un site pour MCHB !

View File

@ -0,0 +1 @@
articles-article

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../../__cms__/cms.php");
CMS::page("/forum/Polémique/1");
?>

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../../__cms__/cms.php");
CMS::page("/forum/Polémique/2");
?>

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../../__cms__/cms.php");
CMS::page("/forum/Polémique/3");
?>

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../__cms__/cms.php");
CMS::page("/forum/Polémique");
?>

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../__cms__/cms.php");
CMS::page("/nouveautes/Nouvel article");
?>

View File

@ -0,0 +1,7 @@
<?php
require_once(dirname(__FILE__) . "/./../../__cms__/cms.php");
CMS::page("/nouveautes/Un site pour MCHB !");
?>

View File

@ -170,6 +170,14 @@ h2 {
width: 100%; width: 100%;
} }
.admin.utilisateurs.liste {
td,th {
border: thin solid @fg;
padding: 0.2em;
}
border-collapse: collapse;
}
.clearboth { .clearboth {
clear: both; clear: both;
} }