Skip to content
Extraits de code Groupes Projets
Valider 17e2884c rédigé par Fil's avatar Fil
Parcourir les fichiers

améliorations (?) de la prise en compte des referrers (à tester en prod)

parent 93ae2ce3
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -12,7 +12,6 @@ define("_ECRIRE_INC_STATISTIQUES", "1"); ...@@ -12,7 +12,6 @@ define("_ECRIRE_INC_STATISTIQUES", "1");
function stats_load_engines() { function stats_load_engines() {
// le moteur de recherche interne // le moteur de recherche interne
$arr_engines = Array(); $arr_engines = Array();
$arr_engines[] = Array('Recherche SPIP','recherche=',ereg_replace('^http://([^/]+)(/.*)?','\1',lire_meta('adresse_site')));
$file_name = 'data/engines-list.ini'; $file_name = 'data/engines-list.ini';
if ($fp = @fopen($file_name, 'r')) if ($fp = @fopen($file_name, 'r'))
...@@ -48,12 +47,17 @@ function stats_load_engines() { ...@@ -48,12 +47,17 @@ function stats_load_engines() {
} }
function stats_show_keywords($kw_referer, $kw_referer_host) { function stats_show_keywords($kw_referer, $kw_referer_host) {
global $arr_engines; static $arr_engines;
static $url_site;
global $flag_utf8_decode; global $flag_utf8_decode;
if (sizeof($arr_engines) == 0) { if (!$arr_engines) {
// Charger les moteurs de recherche // Charger les moteurs de recherche
$arr_engines = stats_load_engines(); $arr_engines = stats_load_engines();
// initialiser la recherche interne
$url_site = lire_meta('adresse_site');
$url_site = strtolower(eregi_replace("^((https?|ftp)://)?(www\.)?", "", $url_site));
} }
$url = parse_url( $kw_referer ); $url = parse_url( $kw_referer );
...@@ -65,6 +69,13 @@ function stats_show_keywords($kw_referer, $kw_referer_host) { ...@@ -65,6 +69,13 @@ function stats_show_keywords($kw_referer, $kw_referer_host) {
$keywords = ''; $keywords = '';
$found = false; $found = false;
if (strpos('-'.$kw_referer, $url_site)) {
if (eregi("recherche=([^=]+)", $kw_referer, $regs)) {
$keywords = $regs[1];
$kw_referer_host = "Recherche SPIP";
} else
return '';
} else
for ($cnt = 0; $cnt < sizeof($arr_engines) && !$found; $cnt++) for ($cnt = 0; $cnt < sizeof($arr_engines) && !$found; $cnt++)
{ {
if ($found = ($host == $arr_engines[$cnt][2])) if ($found = ($host == $arr_engines[$cnt][2]))
......
...@@ -472,7 +472,7 @@ exige d\'avoir un acc&egrave;s FTP au site Web.', ...@@ -472,7 +472,7 @@ exige d\'avoir un acc&egrave;s FTP au site Web.',
'info_gauche_messagerie' => 'La messagerie vous permet d\'&eacute;changer des messages entre r&eacute;dacteurs, de conserver des pense-b&ecirc;tes (pour votre usage personnel) ou d\'afficher des annonces sur la page d\'accueil de l\'espace priv&eacute; (si vous &ecirc;tes administrateur).', 'info_gauche_messagerie' => 'La messagerie vous permet d\'&eacute;changer des messages entre r&eacute;dacteurs, de conserver des pense-b&ecirc;tes (pour votre usage personnel) ou d\'afficher des annonces sur la page d\'accueil de l\'espace priv&eacute; (si vous &ecirc;tes administrateur).',
'info_gauche_numero_auteur' => 'AUTEUR NUM&Eacute;RO', 'info_gauche_numero_auteur' => 'AUTEUR NUM&Eacute;RO',
'info_gauche_numero_breve' => 'BR&Egrave;VE NUM&Eacute;RO', 'info_gauche_numero_breve' => 'BR&Egrave;VE NUM&Eacute;RO',
'info_gauche_statistiques_referers' => 'Cette page pr&eacute;sente la liste des <I>referers</I>, c\'est-&agrave;-dire des sites contenant des liens menant vers votre propre site, uniquement pour aujourd\'hui: en effet, cette liste est remise &agrave; z&eacute;ro toutes les 24 heures.', 'info_gauche_statistiques_referers' => 'Cette page pr&eacute;sente la liste des <I>referers</I>, c\'est-&agrave;-dire des sites contenant des liens menant vers votre propre site, uniquement pour aujourd\'hui&nbsp;: en effet, cette liste est remise &agrave; z&eacute;ro toutes les 24 heures.',
'info_gauche_suivi_forum' => 'La page de <I>suivi des forums</I> est un outil de gestion de votre site (et non un espace de discussion ou de r&eacute;daction). Elle affiche toutes les contributions du forum public de cet article et vous permet de g&eacute;rer ces contributions.', 'info_gauche_suivi_forum' => 'La page de <I>suivi des forums</I> est un outil de gestion de votre site (et non un espace de discussion ou de r&eacute;daction). Elle affiche toutes les contributions du forum public de cet article et vous permet de g&eacute;rer ces contributions.',
'info_gauche_suivi_forum_2' => 'La page de <I>suivi des forums</I> est un outil de gestion de votre site (et non un espace de discussion ou de r&eacute;daction). Elle affiche toutes les contributions des forums du site, aussi bien celles du site public que de l\'espace priv&eacute; et vous permet de g&eacute;rer ces contributions.', 'info_gauche_suivi_forum_2' => 'La page de <I>suivi des forums</I> est un outil de gestion de votre site (et non un espace de discussion ou de r&eacute;daction). Elle affiche toutes les contributions des forums du site, aussi bien celles du site public que de l\'espace priv&eacute; et vous permet de g&eacute;rer ces contributions.',
'info_gauche_visiteurs_enregistres' => 'Vous trouverez ici les visiteurs enregistr&eacute;s 'info_gauche_visiteurs_enregistres' => 'Vous trouverez ici les visiteurs enregistr&eacute;s
......
...@@ -43,9 +43,9 @@ function ecrire_stats() { ...@@ -43,9 +43,9 @@ function ecrire_stats() {
} }
if (lire_meta('activer_statistiques_ref') == 'oui') { if (lire_meta('activer_statistiques_ref') == 'oui') {
$url_site_spip = lire_meta('adresse_site'); $url_site_spip = lire_meta('adresse_site');
$url_site_spip = eregi_replace("^(https?|ftp://)www\.", "\\1(www)?\.", $url_site_spip); $url_site_spip = eregi_replace("^((https?|ftp)://)?(www\.)?", "", $url_site_spip);
$log_referer = $GLOBALS['HTTP_REFERER']; $log_referer = $GLOBALS['HTTP_REFERER'];
if (eregi($url_site_spip, $log_referer) AND !$GLOBALS['var_recherche']) $log_referer = ""; if (strpos('-'.strtolower($log_referer), strtolower($url_site_spip)) AND !$GLOBALS['var_recherche']) $log_referer = "";
if ($log_referer) { if ($log_referer) {
$referer_md5 = '0x'.substr(md5($log_referer), 0, 16); $referer_md5 = '0x'.substr(md5($log_referer), 0, 16);
$query = "INSERT IGNORE INTO spip_referers_temp (ip, referer, referer_md5, type, id_objet) ". $query = "INSERT IGNORE INTO spip_referers_temp (ip, referer, referer_md5, type, id_objet) ".
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter