Accueil > Développement > Une nouvelle balise de date

Une nouvelle balise de date

mercredi 9 août 2006, par James

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

Un message, un commentaire ?

Qui êtes-vous ?
Se connecter
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.