get_url() . '">';
$ret .= '
';
$ret .= '
';
/*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 .= '- ';
// TODO : mettre une ancre "#message"
$ret .= ''; // TODO : escape l'url !
$ret .= '';
$ret .= $mini->titre;
$ret .= '';
$ret .= '';
$ret .= '
';
$ret .= $mini->contenu;
$ret .= '
';
$ret .= ' ';
}
$ret .= '
';
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");
?>