".aide("confstat")."",'', false); // barre_onglets("statistiques", "evolution"); if ($titre) echo gros_titre($titre,'', false); echo debut_gauche('', true); echo "
"; echo "
"; echo typo(_T('info_afficher_visites')); echo ""; echo "
"; echo "
"; $classement = array(); $liste = 0; echo aff_statistique_visites_popularite($serveur, $id_article, $classement, $liste); // Par visites depuis le debut $result = aff_statistique_visites_par_visites($serveur, $id_article, $classement); if ($result OR $id_article) echo creer_colonne_droite('', true); if ($id_article) { echo bloc_des_raccourcis(icone_horizontale(_T('icone_retour_article'), generer_url_ecrire("articles","id_article=$id_article"), "article-24.gif","rien.gif", false)); } echo $result; echo debut_droite('', true); if ($id_article) { $table = "spip_visites_articles"; $table_ref = "spip_referers_articles"; $where = "id_article=$id_article"; } else { $table = "spip_visites"; $table_ref = "spip_referers"; $where = ""; } $order = "date"; $where2 = $duree ? "$order > DATE_SUB(".sql_quote(date('Y-m-d H:i:s')).",INTERVAL $duree $type)": ''; if ($where) $where2 = $where2 ? "$where2 AND $where" : $where; // sur certains SQL, la division produit un entier tronque a la valeur inferieure // on ne peut donc faire un CEIL, il faut faire un FLOOR $log = statistiques_collecte_date('visites', "(FLOOR((UNIX_TIMESTAMP($order)+$interval-1) / $interval) * $interval)", $table, $where2, $serveur); if ($log) $res = statistiques_tous($log, $id_article, $table, $where, $order, $serveur, $duree, $interval, $total_absolu, $val_popularite, $classement, $liste); $mois = statistiques_collecte_date("SUM(visites)", "DATE_FORMAT($order,'%Y%m')", $table, "$order > DATE_SUB(NOW(),INTERVAL 2700 DAY)" . ($where ? " AND $where" : ''), $serveur); if (count($mois)>1) { $res[] = "
" . _T('info_visites_par_mois') . "" . statistiques_par_mois($mois, ''); } echo cadre_stat($res, $table, $id_article); if ($id_article) { $signatures = charger_fonction('signatures', 'statistiques'); echo $signatures($duree, $interval, $type, $id_article, $serveur); /* Il faudra optimiser les requetes de ces stats c'est vraiment trop horrible : plusieurs secondes d'attente sur un site comme contrib. par ailleurs, l'affichage presente des defauts : cf http://trac.rezo.net/trac/spip/ticket/1598 $forums = charger_fonction('forums', 'statistiques'); echo $forums($duree, $interval, $type, $id_article, $serveur); */ } $referenceurs = charger_fonction('referenceurs', 'inc'); $res = $referenceurs($id_article, "visites", $table_ref, $where, '', $limit); if ($res) { // Le lien pour en afficher "plus" $args = ($id_article?"id_article=$id_article&" : '') . "limit=" . strval($limit+200); $n = count($res); $plus = generer_url_ecrire('statistiques_visites', $args); if ($plus) { $plus = "
+++
"; } $titre = _T("onglet_origine_visites") . " ($n " . ($n == 1 ? _T('info_site') : _T('info_sites')) . ")"; echo '
', gros_titre($titre,'', false); echo "

"; echo ""; echo $plus; echo "
"; } echo fin_gauche(), fin_page(); } ?>