Changeset 76614 in spip-zone


Ignore:
Timestamp:
Sep 29, 2013, 5:27:59 PM (6 years ago)
Author:
maieul@…
Message:

ne pas déclarer deux fois une fonction sous prtexte que déplacer + appliquer sur branches et trunk

Location:
_plugins_/actijour
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/actijour/branches/v210/inc/func_acj.php

    r36113 r76614  
    383383        return $aff;
    384384}
    385 
    386 // Les deux fonctions suivantes sont adaptees du code des "Visiteurs",
    387 // par Jean-Paul Dezelus (http://www.phpinfo.net/applis/visiteurs/)
    388 
    389 // http://doc.spip.org/@stats_load_engines
    390 function stats_load_engines() {
    391         // le moteur de recherche interne
    392         $arr_engines = Array();
    393 
    394         $file_name = 'engines-list.txt';
    395         if ($fp = @fopen($file_name, 'r'))
    396         {
    397                 while ($data = fgets($fp, 256))
    398                 {
    399                         $data = trim(chop($data));
    400 
    401                         if (!ereg('^#', $data) && $data != '')
    402                         {
    403                                 if (ereg('^\[(.*)\]$', $data, $engines))
    404                                 {
    405                                         // engine
    406                                         $engine = $engines[1];
    407 
    408                                         // query | dir
    409                                         if (!feof($fp))
    410                                         {
    411                                                 $data = fgets($fp, 256);
    412                                                 $query_or_dir = trim(chop($data));
    413                                         }
    414                                 }
    415                                 else
    416                                 {
    417                                         $host = $data;
    418                                         $arr_engines[] = Array($engine, $query_or_dir, $host);
    419                                 }
    420                         }
    421                 }
    422                 fclose($fp);
    423         }
    424         return $arr_engines;
    425 }
    426 
    427 // http://doc.spip.org/@stats_show_keywords
    428 function stats_show_keywords($kw_referer, $kw_referer_host) {
    429         static $arr_engines;
    430         static $url_site;
    431 
    432         if (!$arr_engines) {
    433                 // Charger les moteurs de recherche
    434                 $arr_engines = stats_load_engines();
    435 
    436                 // initialiser la recherche interne
    437                 $url_site = $GLOBALS['meta']['adresse_site'];
    438                 $url_site = strtolower(eregi_replace("^((https?|ftp)://)?(www\.)?", "", $url_site));
    439         }
    440 
    441         $url   = @parse_url( $kw_referer );
    442         $query = $url['query'];
    443         $host  = strtolower($url['host']);
    444         $path  = $url['path'];
    445 
    446         // Cette fonction affecte directement les variables selon la query-string !
    447         parse_str($query);
    448 
    449         $keywords = '';
    450         $found = false;
    451        
    452        
    453         if (strpos('-'.$kw_referer, eregi_replace("^(https?:?/?/?)?(www\.)?", "",$url_site))) {
    454                 if (eregi("(s|search|r|recherche)=([^&]+)", $kw_referer, $regs))
    455                         $keywords = urldecode($regs[2]);
    456                        
    457                        
    458                 else
    459                         return '';
    460         } else
    461         for ($cnt = 0; $cnt < sizeof($arr_engines) && !$found; $cnt++)
    462         {
    463                 if ($found = (ereg($arr_engines[$cnt][2], $host)) OR $found = (ereg($arr_engines[$cnt][2], $path)))
    464                 {
    465                         $kw_referer_host = $arr_engines[$cnt][0];
    466                        
    467                         if (ereg('=', $arr_engines[$cnt][1])) {
    468                        
    469                                 // Fonctionnement simple: la variable existe
    470                                 $keywords = ${str_replace('=', '', $arr_engines[$cnt][1])};
    471                                
    472                                 // Si on a defini le nom de la variable en expression reguliere, chercher la bonne variable
    473                                 if (! strlen($keywords) > 0) {
    474                                         if (ereg($arr_engines[$cnt][1]."([^\&]*)", $query, $vals)) {
    475                                                 $keywords = urldecode($vals[2]);
    476                                         }
    477                                 }
    478                         } else {
    479                                 $keywords = "";
    480                         }
    481                                                
    482                         if ((  ($kw_referer_host == "Google")
    483                                 || ($kw_referer_host == "AOL" && !ereg('enc=iso', $query))
    484                                 || ($kw_referer_host == "MSN")
    485                                 )) {
    486                                 include_spip('inc/charsets');
    487                                 if (!$cset = $ie) $cset = 'utf-8';
    488                                 $keywords = importer_charset($keywords,$cset);
    489                         }
    490                         $buffer["hostname"] = $kw_referer_host;
    491                 }
    492         }
    493 
    494         $buffer["host"] = $host;
    495         if (!$buffer["hostname"])
    496                 $buffer["hostname"] = $host;
    497        
    498         $buffer["path"] = substr($path, 1, strlen($path));
    499         $buffer["query"] = $query;
    500 
    501         if ($keywords != '')
    502         {
    503                 if (strlen($keywords) > 150) {
    504                         $keywords = spip_substr($keywords, 0, 148);
    505                         // supprimer l'eventuelle entite finale mal coupee
    506                         $keywords = preg_replace('/&#?[a-z0-9]*$/', '', $keywords);
    507                 }
    508                 $buffer["keywords"] = trim(entites_html(urldecode(stripslashes($keywords))));
    509         }
    510 
    511         return $buffer;
    512 
    513 }
    514 
    515 
    516 //
    517 // prendre en compte un fichier de visite
    518 //
    519 // http://doc.spip.org/@compte_fichier_visite
    520 function compte_fichier_visite($fichier,
    521 &$visites, &$visites_a, &$referers, &$referers_a, &$articles) {
    522 
    523         // Noter la visite du site (article 0)
    524         $visites ++;
    525 
    526         $content = array();
    527         if (lire_fichier($fichier, $content))
    528                 $content = @unserialize($content);
    529         if (!is_array($content)) return;
    530 
    531         foreach ($content as $source => $num) {
    532                 list($log_type, $log_id_num, $log_referer)
    533                         = preg_split(",\t,", $source, 3);
    534                
    535                 // Noter le referer
    536                 if ($log_referer)
    537                         $referers[$log_referer]++;
    538 
    539                 // S'il s'agit d'un article, noter ses visites
    540                 if ($log_type == 'article'
    541                 AND $id_article = intval($log_id_num)) {
    542                         $articles[] = $id_article;
    543                         $visites_a[$id_article] ++;
    544                         if ($log_referer)
    545                                 $referers_a[$id_article][$log_referer]++;
    546                 }
    547         }
    548 }
     385# charger les fichiers utiles dans SPIP
     386include_spip("genie/visites");
     387include_spip("inc/referenceurs");
    549388
    550389
  • _plugins_/actijour/branches/v210/plugin.xml

    r52449 r76614  
    99        <icon>img_pack/activ_jour.gif</icon>
    1010        <auteur>scoty@koakidi.com, ordilibre@yahoo.fr</auteur>
    11         <version>2.1.1</version>
     11        <version>2.1.3</version>
    1212        <etat>stable</etat>
    1313        <description>
  • _plugins_/actijour/trunk/inc/func_acj.php

    r76593 r76614  
    386386}
    387387
    388 // Les deux fonctions suivantes sont adaptees du code des "Visiteurs",
    389 // par Jean-Paul Dezelus (http://www.phpinfo.net/applis/visiteurs/)
    390 
    391 // http://doc.spip.org/@stats_load_engines
    392 function stats_load_engines() {
    393         // le moteur de recherche interne
    394         $arr_engines = Array();
    395 
    396         $file_name = 'engines-list.txt';
    397         if ($fp = @fopen($file_name, 'r'))
    398         {
    399                 while ($data = fgets($fp, 256))
    400                 {
    401                         $data = trim(chop($data));
    402 
    403                         if (!preg_match('@^#@i', $data) && $data != '')
    404                         {
    405                                 if (preg_match('@^\[(.*)\]$@i', $data, $engines))
    406                                 {
    407                                         // engine
    408                                         $engine = $engines[1];
    409 
    410                                         // query | dir
    411                                         if (!feof($fp))
    412                                         {
    413                                                 $data = fgets($fp, 256);
    414                                                 $query_or_dir = trim(chop($data));
    415                                         }
    416                                 }
    417                                 else
    418                                 {
    419                                         $host = $data;
    420                                         $arr_engines[] = Array($engine, $query_or_dir, $host);
    421                                 }
    422                         }
    423                 }
    424                 fclose($fp);
    425         }
    426         return $arr_engines;
    427 }
    428 
    429 // http://doc.spip.org/@stats_show_keywords
    430 function stats_show_keywords($kw_referer, $kw_referer_host) {
    431         static $arr_engines;
    432         static $url_site;
    433 
    434         if (!$arr_engines) {
    435                 // Charger les moteurs de recherche
    436                 $arr_engines = stats_load_engines();
    437 
    438                 // initialiser la recherche interne
    439                 $url_site = $GLOBALS['meta']['adresse_site'];
    440                 $url_site = strtolower(preg_replace("@^((https?|ftp)://)?(www\.)?@i", "", $url_site));
    441         }
    442 
    443         $url   = @parse_url( $kw_referer );
    444         $query = $url['query'];
    445         $host  = strtolower($url['host']);
    446         $path  = $url['path'];
    447 
    448         // Cette fonction affecte directement les variables selon la query-string !
    449         parse_str($query);
    450 
    451         $keywords = '';
    452         $found = false;
    453        
    454        
    455         if (strpos('-'.$kw_referer, preg_replace("@^(https?:?/?/?)?(www\.)?@i", "",$url_site))) {
    456                 if (preg_match("@(s|search|r|recherche)=([^&]+)@i", $kw_referer, $regs))
    457                         $keywords = urldecode($regs[2]);
    458                        
    459                        
    460                 else
    461                         return '';
    462         } else
    463         for ($cnt = 0; $cnt < sizeof($arr_engines) && !$found; $cnt++)
    464         {
    465                 if ($found = (preg_match($arr_engines[$cnt][2], $host)) OR $found = (preg_match($arr_engines[$cnt][2], $path)))
    466                 {
    467                         $kw_referer_host = $arr_engines[$cnt][0];
    468                        
    469                         if (preg_match('=', $arr_engines[$cnt][1])) {
    470                        
    471                                 // Fonctionnement simple: la variable existe
    472                                 $keywords = ${str_replace('=', '', $arr_engines[$cnt][1])};
    473                                
    474                                 // Si on a defini le nom de la variable en expression reguliere, chercher la bonne variable
    475                                 if (! strlen($keywords) > 0) {
    476                                         if (preg_match($arr_engines[$cnt][1]."([^\&]*)", $query, $vals)) {
    477                                                 $keywords = urldecode($vals[2]);
    478                                         }
    479                                 }
    480                         } else {
    481                                 $keywords = "";
    482                         }
    483                                                
    484                         if ((  ($kw_referer_host == "Google")
    485                                 || ($kw_referer_host == "AOL" && !preg_match('enc=iso', $query))
    486                                 || ($kw_referer_host == "MSN")
    487                                 )) {
    488                                 include_spip('inc/charsets');
    489                                 if (!$cset = $ie) $cset = 'utf-8';
    490                                 $keywords = importer_charset($keywords,$cset);
    491                         }
    492                         $buffer["hostname"] = $kw_referer_host;
    493                 }
    494         }
    495 
    496         $buffer["host"] = $host;
    497         if (!$buffer["hostname"])
    498                 $buffer["hostname"] = $host;
    499        
    500         $buffer["path"] = substr($path, 1, strlen($path));
    501         $buffer["query"] = $query;
    502 
    503         if ($keywords != '')
    504         {
    505                 if (strlen($keywords) > 150) {
    506                         $keywords = spip_substr($keywords, 0, 148);
    507                         // supprimer l'eventuelle entite finale mal coupee
    508                         $keywords = preg_replace('/&#?[a-z0-9]*$/', '', $keywords);
    509                 }
    510                 $buffer["keywords"] = trim(entites_html(urldecode(stripslashes($keywords))));
    511         }
    512 
    513         return $buffer;
    514 
    515 }
    516 
    517 
    518 //
    519 // prendre en compte un fichier de visite
    520 //
    521 // ajoute &articles à la fonction native de SPIP (ecrire/genie/visites)
    522 // compte_fichier_visite
    523 //
    524 function acj_compte_fichier_visite($fichier,
    525 &$visites, &$visites_a, &$referers, &$referers_a, &$articles) {
    526 
    527         // Noter la visite du site (article 0)
    528         $visites ++;
    529 
    530         $content = array();
    531         if (lire_fichier($fichier, $content))
    532                 $content = @unserialize($content);
    533         if (!is_array($content)) return;
    534 
    535         foreach ($content as $source => $num) {
    536                 list($log_type, $log_id_num, $log_referer)
    537                         = preg_split(",\t,", $source, 3);
    538                
    539                 // Noter le referer
    540                 if ($log_referer)
    541                         $referers[$log_referer]++;
    542 
    543                 // S'il s'agit d'un article, noter ses visites
    544                 if ($log_type == 'article'
    545                 AND $id_article = intval($log_id_num)) {
    546                         $articles[] = $id_article;
    547                         $visites_a[$id_article] ++;
    548                         if ($log_referer)
    549                                 $referers_a[$id_article][$log_referer]++;
    550                 }
    551         }
    552 }
     388# charger les fichiers utiles dans SPIP
     389include_spip("genie/visites");
     390include_spip("inc/referenceurs");
     391
    553392
    554393
  • _plugins_/actijour/trunk/plugin.xml

    r76593 r76614  
    99        <icon>img_pack/activ_jour.gif</icon>
    1010        <auteur>scoty@koakidi.com, ordilibre@yahoo.fr</auteur>
    11         <version>2.1.2</version>
     11        <version>2.1.3</version>
    1212        <etat>dev</etat>
    1313        <description>
Note: See TracChangeset for help on using the changeset viewer.