'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; } ?>