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 @@ - +