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

<:onglet_origine_visites:> (#TOTAL_BOUCLE [(#TOTAL_BOUCLE|singulier_ou_pluriel{info_site,info_sites})])

+ + +

<:onglet_origine_visites:>

+ +

+++

\ No newline at end of file diff --git a/prive/squelettes/contenu/stats_referers_fonctions.php b/prive/squelettes/contenu/stats_referers_fonctions.php new file mode 100644 index 0000000..02312d8 --- /dev/null +++ b/prive/squelettes/contenu/stats_referers_fonctions.php @@ -0,0 +1,9 @@ + [(#VAL{statistiques}|barre_onglets{stats_referers})] \ No newline at end of file diff --git a/prive/style_prive_plugin_stats.html b/prive/style_prive_plugin_stats.html index 51315f5..3cdb4ab 100644 --- a/prive/style_prive_plugin_stats.html +++ b/prive/style_prive_plugin_stats.html @@ -86,5 +86,12 @@ table#visites tr.c_recap th {background-color:#[(#GET{foncee}|couleur_foncer)];c padding: 2px; background-color: #fee; } + +.stats_referers .liste-items.referers li.referer {padding-left:300px;} +.stats_referers .liste-items.referers li.referer span.visites {float:left;text-align:right;width:140px;margin-left:-150px;} +.stats_referers .liste-items.referers li.referer .miniature {margin-left:-295px;float:left;max-width:140px;} +.stats_referers .liste-items.referers li.referer ul {margin-left:15px;padding-left:0;} +.stats_referers .liste-items.referers li.referer ul li {margin-left:0px;padding-left:0;} +.stats_referers .action.plus {text-align:right;font-size:1.5em;font-weight:bold;} [(#REM) ]