Message officiel
J’avais envie de créer une balise #DATE_THREAD qui afficherait la date de
publication du message de forum le plus récent soit dans un fil de
discussion soit pour un article/breve/rubrique.
Intéressant si on considère que #DATE_MODIF, qui est la date de
modification d’un objet éditorial, ne suffit pas pour indiquer la date de
mise à jour de cet objet et qu’on entend par mise à jour la date de modification d’une page web qui contiendrait le texte d’un article ainsi que ses forums associés.
Le code
dans mes_fonctions.php :
function balise_DATE_THREAD($p) {
$nom = $p->id_boucle;
$_type = $p->boucles[$nom]->type_requete;
// Reserver la cle primaire de la boucle courante
if ($primary = $p->boucles[$p->id_boucle]->primary) {
$id = champ_sql($primary, $p);
if($primary=='id_forum') $primary='id_thread';
}
# On pourrait mieux faire qu'utiliser cette fonction assistante ?
$p->code = "sql_date_thread(" .
$id .
",'" .
$primary .
"','" .
$nom .
"','" .
$_type .
"','" .
$p->boucles[$nom]->sql_serveur .
"')";
#$p->interdire_scripts = true;
return $p;
}
function sql_date_thread($id, $primary, $table, $id_boucle, $serveur='') {
$date = '';
$select = array('MAX(date_heure) AS date_thread');
$from = array('forum' => 'spip_forum');
$where = array("forum.$primary=$id");
$groupby = $primary;
$orderby = array('date_thread');
$result_date_thread = spip_abstract_select(
$select, $from, $where, $groupby, $orderby,
'', '', array(), $table, $id_boucle, $serveur);
if($row_date_thread = spip_abstract_fetch($result_date_thread, $serveur)) {
$date = $row_date_thread['date_thread'];
}
return $date;
}
Message officieux
Certes on pouvait faire ça par boucle... mais avouez que la place que ça occupe dans un squelette rend le truc plus classe quand même, non ?
En fait, c’est juste histoire de faire un billet... j’hésite encore à balancer ça dans le noyau...
Messages
9 août 2006, 17:45
en plugin ?
9 août 2006, 17:46
aucun intérêt
10 août 2006, 13:58, par James
C’est pas parce que ça n’a pas d’intérêt qu’il ne faut pas le faire... :)
11 août 2006, 21:33, par Suske
très spip.blog ;-)
T’as mis celui-là dans le plugin ?
En tout cas, celui à côté de ton petit nom, il fait rien... que de ramener à ton petit nom ;-)
11 août 2006, 23:20, par James
oui, temporairement :)
c’est vrai qu’il prête à confusion du coup ...