<?php /* * Formulaire d'ajout/modification de page */ $prechargement = ""; if (!strcmp($action, 'ajouter')) { $modification = False; $prechargement = '<h1>Titre de la page</h1> <p>Contenu de la page...</p>'; } else { $modification = True; $prechargement = bdd_charger($db, $page); } ?> <h1>Édition</h1> <form method="post" action="edit_page.php"> <fieldset> <legend><?php echo ucfirst($action); ?> une page</legend> <div style="float:right;"><a href="?action=aide_html">Aide html</a></div> <ul> <?php ## Nom, père et ordre $ordre = 1; $pere = ''; if ($modification) { echo "<li>Nom de la page : « " . $page . ' ».<input type="hidden" name="nom" value="' . protect_url($page) . "\" />\n"; echo '<input type="hidden" name="modifier" value="foo" /></li>' . "\n"; $ordre = bdd_get($db, 'ordre', $page);
function pages_filles($filles) { global $db; global $index_bd; $r = "<div id=\"filles\">\n"; foreach ($filles as $f) { $nom = $f['nom']; $d = bdd_charger($db, $nom); if (is_string($d)) { $r .= '<div class="boite" id="boite_' . $index_bd . '">'; $r .= '<div class="boite_titre">' . stripslashes($nom) . ' (<a href="index.php?page=' . stripslashes($nom) . '" title="Vers la sous-page">></a>)</div>'; $r .= '<div class="boite_contenu" id="contenu_' . $index_bd . '">'; if (isset($_SESSION['login'])) { $r .= lien_modifier($nom); } $r .= $d . '</div></div>' . "\n"; $index_bd++; } else { $r .= message("Impossible de charger la sous-page « {$page} »"); } } return $r . "</div>\n"; }
if (strcmp($action, 'lire')) { # Actions possible sans besoin d'être loggé switch ($action) { case 'copyright': require "copyright.html"; break; case 'contacter': require "actions/contacter.php"; break; } } else { # Pas d'action : simple chargement du contenu if (isset($_SESSION['login'])) { echo lien_modifier($page); } $c = bdd_charger($db, $page); if ($c && is_string($c)) { echo $c; $index_bd = 1; if (!strcmp($page, 'Passés')) { echo lien_archives(); } if (bdd_get($db, 'niveau', $page) == 2) { $filles = menu_les_fils($db, $page); if (count($filles) > 0) { # Ajouter aussi les pages filles echo pages_filles($filles); } } } else { echo message("Impossible de charger la page « {$page} ». Redirection en cours...", 2);
function bdd_archiver($db, $nom, $annee) { if (bdd_get($db, 'niveau', $nom)) { $contenu = bdd_charger($db, $nom); $req = 'INSERT INTO archives (nom, annee, contenu) VALUES ("' . addslashes($nom) . '", ' . $annee . ', "' . $contenu . '")'; $ret = mysql_query($req, $db); if (!$ret) { return "Erreur dans la requête " . mysql_errno($db) . " : " . mysql_error($db); } $ret = bdd_supprimer($db, $nom); if ($ret) { return $ret; } bdd_logger($db, 'Archivage de "' . $nom . '" (' . $annee . ')'); menu_modifier_fils($db, menu_pere($db, $nom), $nom, 'retirer'); menu_regenerer($db); } else { return 'Page "' . $nom . '" inexistante'; } return FALSE; }