From f66f278edd15e3a90bdcbbef798ff84cf4aba8f7 Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Fri, 21 Sep 2007 22:27:21 +0000 Subject: [PATCH] amelioration de la presentation des referers (superbe patch de realet, #1085) --- ecrire/exec/statistiques_referers.php | 7 +++++-- ecrire/inc/statistiques.php | 13 +++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ecrire/exec/statistiques_referers.php b/ecrire/exec/statistiques_referers.php index a5c6aeb670..1f28e4d90a 100644 --- a/ecrire/exec/statistiques_referers.php +++ b/ecrire/exec/statistiques_referers.php @@ -75,7 +75,10 @@ echo barre_onglets("stat_referers", $jour); // afficher quels referers ? - $result = spip_query("SELECT referer, visites_$jour AS vis FROM spip_referers WHERE visites_$jour>0 ORDER BY vis DESC LIMIT $limit"); + $str_date = (($jour=='jour')?"DATE_FORMAT(NOW(),'%Y-%m-%d')":"DATE_SUB(DATE_FORMAT(NOW(),'%Y-%m-%d'), INTERVAL 1 DAY)"); + + $result = spip_query("SELECT J1.referer, visites_$jour AS vis, J2.id_article, J3.titre FROM spip_referers as J1 LEFT JOIN spip_referers_articles AS J2 ON J1.referer_md5 = J2.referer_md5 LEFT JOIN spip_articles AS J3 ON J2.id_article = J3.id_article WHERE visites_$jour>0 AND (J2.maj>=$str_date OR J2.maj IS NULL) ORDER BY vis DESC, id_article LIMIT $limit"); + echo "<br /><div style='font-size:small;' class='verdana1'>"; echo aff_referers ($result, $limit, generer_url_ecrire('statistiques_referers', ("jour=$jour&limit=" . strval($limit+200)))); @@ -85,4 +88,4 @@ echo barre_onglets("stat_referers", $jour); echo fin_gauche(), fin_page(); } -?> +?> \ No newline at end of file diff --git a/ecrire/inc/statistiques.php b/ecrire/inc/statistiques.php index c6925ae15d..1bd5eb85c5 100644 --- a/ecrire/inc/statistiques.php +++ b/ecrire/inc/statistiques.php @@ -137,6 +137,9 @@ function aff_referers ($result, $limit, $plus) { while ($row = sql_fetch($result)) { $referer = interdire_scripts($row['referer']); $visites = $row['vis']; + $id_article = $row['id_article']; + $titre_article = typo(interdire_scripts($row['titre'])); + $tmp = ""; $buff = stats_show_keywords($referer, $referer); @@ -162,12 +165,15 @@ function aff_referers ($result, $limit, $plus) { } if ($tmp) - $lesreferers[$numero][] = "<a href='".quote_amp($referer)."'>".quote_amp(urldecode($tmp))."</a>" . (($visites > 1)?" ($visites)":""); + $lesreferers[$numero][] = "<a href='".quote_amp($referer)."'><b>".quote_amp(urldecode($tmp))."</b></a>" . (($visites > 1)?" ($visites)":"") . (($id_article > 0)?" → <a href='".generer_url_article($id_article)."'><i>$titre_article</i></a>":""); else $lesliensracine[$numero] += $visites; $lesdomaines[$numero] = $buff["hostname"]; + $lesreferes[$numero] = $id_article; + $lesreferestitre[$numero] = $titre_article; $lesurls[$numero] = $buff["host"]; $lesliens[$numero] = $referer; + } } @@ -177,6 +183,9 @@ function aff_referers ($result, $limit, $plus) { $aff = ''; for (reset($nbvisites); $numero = key($nbvisites); next($nbvisites)) { $dom = $lesdomaines[$numero]; + $id_article = $lesreferes[$numero]; + $titre_article = $lesreferestitre[$numero]; + if (!$dom) next; $visites = pos($nbvisites); @@ -215,7 +224,7 @@ function aff_referers ($result, $limit, $plus) { if (!strpos($lien, '</a>')) $lien .= '</a>'; } else $lien = "<a href='http://".$dom."'>".$dom."</a>"; - $aff .= "<b>".quote_amp($lien)."</b>"; + $aff .= "<b>".quote_amp($lien)."</b>" . (($id_article > 0)?" → <a href='".generer_url_article($id_article)."'><i>$titre_article</i></a>":""); } } $aff .= "</li>\n"; -- GitLab