From add3319444a3af3581bb7228a2b5fb8f51413448 Mon Sep 17 00:00:00 2001 From: "cedric@yterium.com" <> Date: Thu, 17 Mar 2011 16:38:46 +0000 Subject: [PATCH] retour des referers, en squelette il s'avere que l'affichage des referers est completement delirant dans la version stable, en masquant une partie aleatoire. on retrouve ici ses referers, qui ont toujours ete en base :) --- .gitattributes | 2 + inc/referenceurs.php | 6 +- inc/stats_referers_to_array.php | 115 ++++++++++++++++++ prive/squelettes/contenu/stats_referers.html | 57 +++++---- .../contenu/stats_referers_fonctions.php | 9 ++ prive/squelettes/top/stats_referers.html | 1 + prive/style_prive_plugin_stats.html | 7 ++ 7 files changed, 171 insertions(+), 26 deletions(-) create mode 100644 inc/stats_referers_to_array.php create mode 100644 prive/squelettes/contenu/stats_referers_fonctions.php diff --git a/.gitattributes b/.gitattributes index 0671363..b98edc1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -13,6 +13,7 @@ genie/popularites.php -text genie/visites.php -text inc/referenceurs.php -text inc/statistiques.php -text +inc/stats_referers_to_array.php -text inc/stats_visites_to_array.php -text javascript/excanvas.js -text javascript/jquery.flot.js -text @@ -21,6 +22,7 @@ javascript/jquery.tflot.js -text prive/bouton/statistiques.html -text prive/images/statistiques-48.png -text prive/squelettes/contenu/stats_referers.html -text +prive/squelettes/contenu/stats_referers_fonctions.php -text prive/squelettes/contenu/stats_visites.html -text prive/squelettes/inclure/admin_effacer_stats.html -text prive/squelettes/inclure/stats-visites-data.html -text diff --git a/inc/referenceurs.php b/inc/referenceurs.php index 4578bc6..0420440 100644 --- a/inc/referenceurs.php +++ b/inc/referenceurs.php @@ -155,7 +155,10 @@ function stats_show_keywords($kw_referer, $kw_referer_host){ $query = isset($url['query']) ? $url['query'] : ""; $host = strtolower($url['host']); $path = $url['path']; - } else $query = $host = $path = ''; + $scheme = $url['scheme']; + } + else + $scheme = $query = $host = $path = ''; // Cette fonction affecte directement les variables selon la query-string ! parse_str($query); @@ -208,6 +211,7 @@ function stats_show_keywords($kw_referer, $kw_referer_host){ } $buffer["host"] = $host; + $buffer["scheme"] = $scheme; if (!isset($buffer["hostname"]) OR !$buffer["hostname"]) $buffer["hostname"] = $host; diff --git a/inc/stats_referers_to_array.php b/inc/stats_referers_to_array.php new file mode 100644 index 0000000..265dcf4 --- /dev/null +++ b/inc/stats_referers_to_array.php @@ -0,0 +1,115 @@ +$referer, + 'visites'=>$visites, + 'referes'=>$id_article?'':referes($row['referer_md5']) + ); + if (isset($buff["keywords"]) + AND $c = $buff["keywords"]) { + if (!isset($referers[$refhost]['keywords'][$c])) { + $referers[$refhost]['keywords'][$c] = true; + $set['keywords'] = $c; + } + } + else { + $tmp = $buff["path"]; + if ($buff["query"]) + $tmp .= "?".$buff['query']; + if (strlen($tmp)) + $set['path'] = "/$tmp"; + } + if (isset($set['path']) OR isset($set['keywords'])) + $referers[$refhost]['referers'][] = $set; + else + $referers[$refhost]['visites_racine'] += $visites; + } + } + + // trier les liens pour trouver le principal + foreach($referers as $k=>$r){ + arsort($referers[$k]['liens']); + $referers[$k]['liens'] = array_keys($referers[$k]['liens']); + arsort($referers[$k]['hosts']); + $referers[$k]['hosts'] = array_keys($referers[$k]['hosts']); + $referers[$k]['url'] = reset($referers[$k]['hosts']); + } + + if (count($trivisites)){ + array_multisort($trivisites, SORT_DESC,$referers); + } + + return $referers; +} + + +?> \ No newline at end of file diff --git a/prive/squelettes/contenu/stats_referers.html b/prive/squelettes/contenu/stats_referers.html index 237efc8..149e72d 100644 --- a/prive/squelettes/contenu/stats_referers.html +++ b/prive/squelettes/contenu/stats_referers.html @@ -1,26 +1,33 @@ - +