Update of /home/spip-cvs/spip/ecrire
In directory miel:/tmp/cvs-serv26525/ecrire
Modified Files:
inc_statistiques.php3 statistiques_visites.php3
Log Message:
petit déplacement de code, de manière à pouvoir utiliser la fonction "aff_referers" ailleurs (hint : dans les squelettes)
Index: inc_statistiques.php3
RCS file: /home/spip-cvs/spip/ecrire/inc_statistiques.php3,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -d -r1.77 -r1.78
--- inc_statistiques.php3 28 Sep 2003 14:01:35 -0000 1.77
+++ inc_statistiques.php3 3 Oct 2003 19:37:59 -0000 1.78
@@ -371,4 +371,98 @@
ecrire_metas();
}
+
+//
+// Afficher les referers d'un article (ou du site)
+//
+function aff_referers ($query, $limit=10, $plus = true) {
+ // Charger les moteurs de recherche
+ $arr_engines = stats_load_engines();
+
+ $query .= " LIMIT 0,$limit";
+ $result = spip_query($query);
+
+ while ($row = spip_fetch_array($result)) {
+ $referer = interdire_scripts($row['referer']);
+ $visites = $row['vis'];
+ $tmp = "";
+ $aff = "";
+
+ $buff = stats_show_keywords($referer, $referer);
+
+ if ($buff["host"]) {
+ $numero = substr(md5($buff["hostname"]),0,8);
+
+ $nbvisites[$numero] = $nbvisites[$numero] + $visites;
+
+ if (strlen($buff["keywords"]) > 0) {
+ $criteres = substr(md5($buff["keywords"]),0,8);
+ if (!$lescriteres[$numero][$criteres])
+ $tmp = " « ".$buff["keywords"]." »";
+ $lescriteres[$numero][$criteres] = true;
+ } else {
+ $tmp = $buff["path"];
+ if (strlen($buff["query"]) > 0) $tmp .= "?".$buff['query'];
+
+ if (strlen($tmp) > 30)
+ $tmp = "/".substr($tmp, 0, 27)."...";
+ else if (strlen($tmp) > 0)
+ $tmp = "/$tmp";
+ }
+
+ if ($tmp)
+ $lesreferers[$numero][] = "<a href='$referer'>$tmp</a>" . (($visites > 1)?" ($visites)":"");
+ else
+ $lesliensracine[$numero] += $visites;
+ $lesdomaines[$numero] = $buff["hostname"];
+ $lesurls[$numero] = $buff["host"];
+ $lesliens[$numero] = $referer;
+ }
+ }
+
+ if (count($nbvisites) > 0) {
+ arsort($nbvisites);
+
+ $aff .= "<ul>";
+ for (reset($nbvisites); $numero = key($nbvisites); next($nbvisites)) {
+ if ($lesdomaines[$numero] == '') next;
+
+ $visites = pos($nbvisites);
+ $ret = "\n<li>";
+
+ if ($visites > 5) $ret .= "<font color='red'>$visites "._T('lnfo_liens')."</font> ";
+ else if ($visites > 1) $ret .= "$visites "._T('lnfo_liens')." ";
+ else $ret .= "<font color='#999999'>$visites "._T('info_lien')."</font> ";
+
+ if (count($lesreferers[$numero]) > 1) {
+ $referers = join ($lesreferers[$numero],"</li><li>");
+ $aff .= "<p />";
+ $aff .= $ret;
+ $aff .= "<a href='http://".$lesurls[$numero]."'><b><font color='$couleur_foncee'>".$lesdomaines[$numero]."</font></b></a>";
+ if ($rac = $lesliensracine[$numero]) $aff .= " <font size='1'>($rac)</font>";
+ $aff .= "<ul><font size='1'><li>$referers</li></font></ul>";
+ $aff .= "</li><p />\n";
+ } else {
+ $aff .= $ret;
+ $aff .= "<a href='".$lesliens[$numero]."'><b>".$lesdomaines[$numero]."</b></a>";
+ if ($lien = ereg_replace(" \([0-9]+\)$", "",$lesreferers[$numero][0]));
+ $aff .= "<font size='1'>$lien</font>";
+ $aff .= "</li>";
+ }
+ }
+ $aff .= "</ul>";
+
+ // Le lien pour en afficher "plus"
+ if ($plus AND (spip_num_rows($result) == $limit)) {
+ $lien = $GLOBALS['clean_link'];
+ $lien->addVar('limit',$limit+200);
+ $aff .= "<div style='text-align:right;'><b><a href='".$lien->getUrl()."'>+++</a></b></div>";
+ }
+ }
+
+
+ return $aff;
+}
+
+
?>
Index: statistiques_visites.php3
RCS file: /home/spip-cvs/spip/ecrire/statistiques_visites.php3,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- statistiques_visites.php3 1 Oct 2003 13:48:59 -0000 1.47
+++ statistiques_visites.php3 3 Oct 2003 19:37:59 -0000 1.48
@@ -582,9 +582,6 @@
//
if (lire_meta("activer_statistiques_ref") != "non"){
- // Charger les moteurs de recherche
- $arr_engines = stats_load_engines();
-
// nombre de referers a afficher
$limit = intval($limit); //secu
if ($limit == 0)
@@ -598,88 +595,11 @@
$table_ref = "spip_referers";
}
- $query = "SELECT * FROM $table_ref WHERE $where ORDER BY $vis DESC LIMIT 0,$limit";
- $result = spip_query($query);
-
- echo "<p><font face='Verdana,Arial,Helvetica,sans-serif' size=2>";
- while ($row = spip_fetch_array($result)) {
- $referer = interdire_scripts($row['referer']);
- $visites = $row[$vis];
- $tmp = "";
- $aff = "";
-
- $buff = stats_show_keywords($referer, $referer);
-
- if ($buff["host"]) {
- $numero = substr(md5($buff["hostname"]),0,8);
-
- $nbvisites[$numero] = $nbvisites[$numero] + $visites;
-
- if (strlen($buff["keywords"]) > 0) {
- $criteres = substr(md5($buff["keywords"]),0,8);
- if (!$lescriteres[$numero][$criteres])
- $tmp = " « ".$buff["keywords"]." »";
- $lescriteres[$numero][$criteres] = true;
- } else {
- $tmp = $buff["path"];
- if (strlen($buff["query"]) > 0) $tmp .= "?".$buff['query'];
-
- if (strlen($tmp) > 30)
- $tmp = "/".substr($tmp, 0, 27)."...";
- else if (strlen($tmp) > 0)
- $tmp = "/$tmp";
- }
-
- if ($tmp)
- $lesreferers[$numero][] = "<a href='$referer'>$tmp</a>" . (($visites > 1)?" ($visites)":"");
- else
- $lesliensracine[$numero] += $visites;
- $lesdomaines[$numero] = $buff["hostname"];
- $lesurls[$numero] = $buff["host"];
- $lesliens[$numero] = $referer;
- }
- }
-
- if (count($nbvisites) > 0) {
- arsort($nbvisites);
-
- echo "<ul>";
- for (reset($nbvisites); $numero = key($nbvisites); next($nbvisites)) {
- if ($lesdomaines[$numero] == '') next;
-
- $visites = pos($nbvisites);
- $ret = "\n<li>";
-
- if ($visites > 5) $ret .= "<font color='red'>$visites "._T('lnfo_liens')." </font>";
- else if ($visites > 1) $ret .= "$visites "._T('lnfo_liens')." ";
- else $ret .= "<font color='#999999'>$visites "._T('info_lien')." </font>";
-
- if (count($lesreferers[$numero]) > 1) {
- $referers = join ($lesreferers[$numero],"</li><li>");
- echo "<p />";
- echo $ret;
- echo "<a href='http://".$lesurls[$numero]."'><b><font color='$couleur_foncee'>".$lesdomaines[$numero]."</font></b></a>";
- if ($rac = $lesliensracine[$numero]) echo " <font size='1'>($rac)</font>";
- echo "<ul><font size='1'><li>$referers</li></font></ul>";
- echo "</li><p />\n";
- } else {
- echo $ret;
- echo "<a href='".$lesliens[$numero]."'><b>".$lesdomaines[$numero]."</b></a>";
- if ($lien = ereg_replace(" \([0-9]+\)$", "",$lesreferers[$numero][0]));
- echo "<font size='1'>$lien</font>";
- echo "</li>";
- }
- }
- echo "</ul>";
-
- // Le lien pour en afficher "plus"
- if (spip_num_rows($result) == $limit) {
- $lien = $clean_link;
- $lien->addVar('limit',$limit+200);
- echo "<div style='text-align:right;'><b><a href='".$lien->getUrl()."'>+++</a></b></div>";
- }
- }
+ $query = "SELECT referer, $vis AS vis FROM $table_ref WHERE $where ORDER BY $vis DESC";
+ echo "<p><font face='Verdana,Arial,Helvetica,sans-serif' size=2>";
+ echo aff_referers ($query, $limit);
+ echo "</font></p>";
}
echo "</font>";