'maj', 'popularite' => "popularite * $a"), 'popularite>1');
// enregistrer les metas...
$row = sql_fetsel('MAX(popularite) AS max, SUM(popularite) AS tot', "spip_articles");
ecrire_meta("popularite_max", $row['max']);
ecrire_meta("popularite_total", $row['tot']);
// Une fois par jour purger les referers du jour ; qui deviennent
// donc ceux de la veille ; au passage on stocke une date_statistiques
// dans spip_meta - cela permet au code d'etre "reentrant", ie ce cron
// peut etre appele par deux bases SPIP ne partageant pas le meme
// _DIR_TMP, sans tout casser...
$aujourdhui = date("Y-m-d");
if (($d = $GLOBALS['meta']['date_statistiques']) != $aujourdhui) {
spip_log("Popularite: purger referer depuis $d");
ecrire_meta('date_statistiques', $aujourdhui);
if (strncmp($GLOBALS['connexions'][0]['type'],'sqlite',6)==0)
spip_query("UPDATE spip_referers SET visites_veille=visites_jour, visites_jour=0");
else
// version 3 fois plus rapide, mais en 2 requetes
#spip_query("ALTER TABLE spip_referers CHANGE visites_jour visites_veille INT( 10 ) UNSIGNED NOT NULL DEFAULT '0',CHANGE visites_veille visites_jour INT( 10 ) UNSIGNED NOT NULL DEFAULT '0'");
#spip_query("UPDATE spip_referers SET visites_jour=0");
// version 4 fois plus rapide que la premiere, en une seule requete
sql_alter("TABLE spip_referers DROP visites_veille,
CHANGE visites_jour visites_veille INT(10) UNSIGNED NOT NULL DEFAULT '0',
ADD visites_jour INT(10) UNSIGNED NOT NULL DEFAULT '0'");
}
// et c'est fini pour cette fois-ci
return 1;
}
?>