PhpMyvisites

Bonjour,
Je voudrais s'il vous plait savoir ou mettre le code phpMyvisites sur mon site car je suis hébergé chez onlc.fr ? Ca doit se trouver dans quel balise ?
Quequ'un peur me renseigner svp,?
Configuration: Windows XP
Internet Explorer 6.0

11 réponses

  1. salut,
    inserer le code entre <body> et </body> sur toutes les pages que tu veut controler
    1
    1. phpmyvisite c'est bien la balise que te donne free que tu me parle????
      1
      1. moi je suis heberger cher free et il me donne acces a phpmyvisites et il mon donner ce code a inserer

        <!--
        var a_vars = Array();
        var pagename='';

        var phpmyvisitesSite =????????????;
        var phpmyvisitesURL = "????????";
        //-->
        </script>
        <script language="javascript" src="http://st.free.fr/phpmyvisites.js" type="text/javascript"></script>
        <object><noscript><p>phpMyVisites | Open source web analytics
        <img src="http://st.free.fr/phpmyvisites.php" alt="Statistics" style="border:0" />
        </p></noscript></object></a>
        <!-- /phpmyvisites --> <br><br>

        voila
        1
        1. essaye de regarder si ton hebergeur te le propose ca sera plus simple sinon si c'est juste pour voir le nombre de visiteur va sur ce site http://www.123compteur.com/ je n'ai po eu de soucis avec eux
          1
          1. j'ai installé le code phpmyvisites entre les balises que vous m'avez conseillées mais je ne vois rien.Que faire?
            0
            1. sur le site j'ai téléchargé trois codes et je ne sais pas le code approprié

              code1/<?php
              /*
              * phpMyVisites : website statistics and audience measurements
              * Copyright (C) 2002 - 2006
              * http://www.phpmyvisites.net/
              * phpMyVisites is free software (license GNU/GPL)
              * Authors : phpMyVisites team
              */

              // $Id: config.inc.php 236 2007-11-04 15:04:08Z matthieu_ $

              /**
              * Maybe you want to edit these values (but be careful!)
              */
              define('TIME_BEFORE_NEW_DAY_ARCHIVE', 10);//3600 * 3); // time before the current day is again archived when stats visited
              define('INTERNAL_STATS', false); // define if phpmyvisites application statistics are saved
              define('INTERNAL_CLICKHEAT', false); // define if phpmv app clicks are logged
              define('SMARTY_DEBUG', false); // define if smarty is in debug mode (means CACHE activated, template build on each page, etc.)
              define('DEFAULT_SITE', 1); // id of the site that is displayed after login (or -1 for summary)
              define('CURRENT_DAY_SIMPLE_ARCHIVE', false); // define if current day archive is simplified or not
              define('CURRENT_PERIOD_SIMPLE_ARCHIVE', false); // define if temp period archive is simplified or not
              define('DEFAULT_DAY_TODAY', false); // is the default day today or yesterday?
              define('ALL_POPULATION', false); // include all population or not
              define('WEB_CRONTAB', true); // defines if the automatic crontab is activated or not (launched by the first visitor of each day). Must be desactivated if you setted a real crontab with the RSS feed (see FAQ)
              define('SECURE_SERVER_HTTPS', false); // if true, the URLs constructed will be prefixed by https instead of http
              define('COMPRESS_DB_DATA', true); // try to compress data before Database recording ? (can slow the process)
              define('CATEGORY_DELIMITER', '/'); // category delimiter. Use '/' to make your categories automatically
              define('TIME_TO_WAIT_FOR_PARALLEL_ARCHIVE', 40 * 60); // seconds to wait before try a new archive when a parallel archiving process is detected (also used in crontab task)
              define('NB_IPS_RANGE_AVAILABLE', 10); // number of input for ip range exclude in the administration area
              define('NB_URLS_ALIAS_AVAILABLE', 5); // number of input for urls alias in the administration area
              define('NB_ELEMENTS_TO_DISPLAY', 10); // number of elements to display in tables (search engines, keywords, etc.)
              define('DEFAULT_PAGE_NAME', 'index'); // default page name, when is like toto.com/ or toto.com/group1/group2/
              define('PARAM_URL_PARTNER', 'pmv_pid'); // param name for identifying partner
              define('PARAM_URL_NEWSLETTER', 'pmv_nid'); // param name for identifying newsletter
              define('PREFIX_FILES', 'FILE:'); // prefix for files in the Javascript code Ex : pagename = 'FILE:group1/group2/group3/documentation.pdf'
              define('PREFIX_ALL_TAG', 'FILE:'); // Liste of prefix for files,rss and pocast in the Javascript code Ex : pagename = 'FILE:group1/group2/group3/documentation.pdf'
              define('MAX_DISTINCT_ELEMENTS', 300); // max elements (ex. number of keywords saved, number of distinct ISP)
              define('MAX_DISTINCT_DETAILS_ELEMENTS', 300); // max distinct elements for details table (ex. number of keywords for a specific search engine)
              define('MAX_DISTINCT_INTEREST_ELEMENTS', 150); // max elements used in Interest analysis
              define('PMV_REWRITE_MODE', 'PEAR_REQUEST'); // [PEAR_REQUEST, URLREWRITE], PEAR_REQUEST : Use PEAR plugin with fsockopen (can be used if url is on the same server or if fsockopen is authorised with others servers), URLREWRITE (default) : rewrite url to the file

              define('NEWSLETTER_FORCE_CREATE', false); // If phpmv recieve a call of a newsletter and if not exists : create the newsletter true ! error message : false
              define('NEWSLETTER_CREATE_NAME', 'Newsletter : '); // Begining of the name when you force newsletter creation
              define('NEWSLETTER_ID_MAX_AUTO', 100); // Max newsletter id create automatically (-1 no limit)

              /**
              * You shouldn't edit the values after this comment
              */
              define('CACHE_SMARTY', 60*60*48); // define smarty cache lifetime
              define('DEFAULT_TIME_PAGE', 20); // 20 sec per page if there isn't any page following (time standard!)
              define('TIME_SLOW_QUERY', 0.05); // slow queries are loggued into database
              define('PERCENT_MAX', 1000); // percent maximum born
              define('THEME_DEFAULT', 'default'); // default theme directory
              define('THEME_ADMIN', 'default'); // admin theme directory
              define('STORE_PAG_ARRAY_IN_FILE', false); // store big page arrays in files. Increase performance for stat report, but uses disk space
              define('NB_DAYS_FOR_RSS_ITEMS', 3); // days to compute to syndicate in the RSS sites (to multiply by number of sites ! be careful !)
              define('ADMINISTRATOR_MAIL', 'phpmyvisites@gmail.com'); // mail that appears in the mail sent from phpmyvisites
              define('CACHE_RSS_LIFETIME', 3600); // lifetime of the rss syndication file cache
              define('CACHE_MAIL_LIFETIME', 3600); // lifetime of the mail file cache
              define('PHP_VERSION_NEEDED', '4.3'); // version of php needed for phpmyvisites to work correctly
              define('MEMORY_LIMIT', 16); // good value for memory limit
              define('DEFAULT_MODULE', 'view_visits'); // name of the default module loaded
              define('COOKIE_PMVLOG_NAME', 'pmv_ck_'); // cookie name for log
              define('COOKIE_NAME_VIEW', 'pmv_ck_view_conf'); // cookie name for stats view
              define('COOKIE_NAME_SESSION', 'pmv_ck_session'); // cookie name for session
              define('COOKIE_NAME_NO_STAT', 'pmv_ck_no_stat'); // cookie name for session
              define('MAX_LENGTH_ONE_VALUE_IN_COOKIE', 300); // length in byte
              define('TIME_ONE_VISIT', 30*60); // time max for one visit (the time is normed) in seconds
              define('MAX_LENGTH_JAVASCRIPT_A_VARS_ARRAY', 200); // max length for a variable value in the "var a_vars" javascript array in javascript code
              define('COOKIE_EXPIRE', 86400*365*10); // time after which the cookie will expire
              define('SECURE_TIME_BEFORE_NEW_ARCHIVE', 20); // time added to each archive's valid time for current day archives. It is a security to try to use the same archives for the graphs on the page

              // For PHPMV_STAT_*, INTERNAL_STATS must be set to true
              define('PMV_STAT_ID_SITE', 1); // Id of site where phpmv site must be saved (-1) : So create a site in phpmyvistes and set here, the id of this site
              define('PMV_STAT_SAVE_USER', true); // true to have login name in variable of page viewed

              // Other
              if(!defined('DEBUG')) define('DEBUG', false);
              define('DEFAULT_ACTION', false);

              error_reporting( E_ALL );

              if(DEBUG)
              {
              define('PRINT_TIME', false);
              define('PRINT_QUERY_COUNT', true);
              define('SAVE_DB_LOG', true);
              define('PRINT_QUERY', true);
              }
              else
              {
              define('PRINT_QUERY', false);
              define('PRINT_TIME', false);
              define('PRINT_QUERY_COUNT', false);
              define('SAVE_DB_LOG', false);
              }

              // relative directories
              define('DIR_IMG_THEMES', './themes/'.THEME_DEFAULT.'/images/');
              define('DIR_IMG_BROWSERS', './images/browsers');
              define('DIR_IMG_OS', './images/os');
              define('DIR_IMG_PLUGINS', './images/plugins');
              define('DIR_IMG_LOGOS', './images/logos');
              define('DIR_IMG_COUNTRIES_FLAGS', './images/countries_flags');
              define('DIR_IMG_SCREENS', './images/screens');
              define('DIR_IMG_SEARCH_ENGINES', './images/search_engines');

              // absolute directories
              define('LANGS_PATH', INCLUDE_PATH . '/langs');
              define('DIR_IMG_MAPS', INCLUDE_PATH . '/images/maps');
              define('DIR_CACHE_RSS', INCLUDE_PATH . '/datas/cache_lite/');
              define('DIR_CACHE_MAIL', INCLUDE_PATH . '/datas/cache_lite/');
              define('FONTS_PATH', INCLUDE_PATH . '/libs/artichow/font/');

              // xhtml
              define('HREF_DOC_OPEN', "<strong><a href='http://www.phpmyvisites.us/documentation/'>");
              define('HREF_DOC_CLOSE', "</a></strong>");
              define('HREF_FORUMS', "<strong><a href=\"http://www.phpmyvisites.us/forums/\" alt=\"{'head_titre'|translate}\" title=\"{'head_titre'|translate}\">http://www.phpmyvisites.us/forums/</a></strong>");
              define('URL_SITE_EXAMPLE', 'http://www.site.com');
              define('IP_EXAMPLE', 'A.B.C.D or A.B.C.x...');
              define('GET_LIST_EXAMPLE', '<i>id;data;page</i>');

              // archiving
              define('REF_TYPE_SEARCH_ENGINE', 1);
              define('REF_TYPE_SITE', 2);
              define('REF_TYPE_PARTNER', 3);
              define('REF_TYPE_NEWSLETTER', 4);
              define('REF_TYPE_DIRECT_ENTRY', 5);

              define('DB_ARCHIVES_PERIOD_DAY', 1);
              define('DB_ARCHIVES_PERIOD_WEEK', 2);
              define('DB_ARCHIVES_PERIOD_MONTH', 3);
              define('DB_ARCHIVES_PERIOD_YEAR', 4);
              define('DB_ARCHIVES_PERIOD_MISC_PERIOD', 5);

              define('DB_ARCHIVES_DONE', 1);
              define('DB_ARCHIVES_TEMP', 2);
              define('DB_ARCHIVES_FAIL', 3);

              define('ARRAY_INDEX_COUNT', 1);
              define('ARRAY_INDEX_PAGE_NAME', 2);
              define('ARRAY_INDEX_IDPAGE', 3);
              define('ARRAY_INDEX_IDCATEGORY', 4);
              define('ARRAY_INDEX_LEVEL', 5);
              define('ARRAY_INDEX_IDPARENT', 6);
              define('ARRAY_INDEX_TIME_TOTAL' , 7);
              define('ARRAY_INDEX_ENTRYPAGE', 8);
              define('ARRAY_INDEX_EXITPAGE', 9);
              define('ARRAY_INDEX_VARS', 10);
              define('ARRAY_INDEX_TYPE', 11);
              define('ARRAY_INDEX_PAGES_VISIT_ONEPAGE', 12);
              define('ARRAY_INDEX_PAGES_COUNT', 13);

              define('ARRAY_INDEX_RETURNING_COUNT', 14);
              define('ARRAY_INDEX_NEW_COUNT', 15);

              define('ARRAY_INDEX_VAR_COUNT', 1);
              define('ARRAY_INDEX_VAR_VALUE', 2);

              define('ARRAY_TYPE_PAGE', 1);
              define('ARRAY_TYPE_FILE', 2);

              define('STAT_PAGE_PER_VISIT', 0);
              define('STAT_PAGE_PER_VISIT_SIGNIFICANT', 1);
              define('STAT_ONE_PAGE_RATE', 2);
              define('STAT_TIME_PER_VISIT', 3);

              define('DATE_NORMAL', 0);
              define('DATE_GRAPH', 1);
              define('DATE_GRAPH_LONG_AXIS', 2);

              // Require
              require_once INCLUDE_PATH."/version.php";
              require_once INCLUDE_PATH."/core/datas/browserFamilies.php";
              require_once INCLUDE_PATH."/core/datas/browsers.php";
              require_once INCLUDE_PATH."/core/datas/countryList.php";
              require_once INCLUDE_PATH."/core/datas/ispCountryList.php";
              require_once INCLUDE_PATH."/core/datas/osLists.php";
              require_once INCLUDE_PATH."/core/datas/pagesGap.php";
              require_once INCLUDE_PATH."/core/datas/searchEngines.php";
              require_once INCLUDE_PATH."/core/datas/timeGap.php";
              require_once INCLUDE_PATH."/core/datas/fontList.php";

              /**
              * Simple function to replicate PHP 5 behaviour
              */
              function getMicrotime()
              {
              list($usec, $sec) = explode(" ", microtime());
              return ((float)$usec + (float)$sec);
              }

              $GLOBALS['time_start'] = getMicrotime();
              $GLOBALS['query_count'] = 0; // number of queries of the page
              $GLOBALS['a_content'] = array(); // cookie content
              $GLOBALS['header_message_tpl'] = '';
              $GLOBALS['header_error_message_tpl'] = '';

              ?>

              Code2<?php
              /*
              * phpMyVisites : website statistics and audience measurements
              * Copyright (C) 2002 - 2006
              * http://www.phpmyvisites.net/
              * phpMyVisites is free software (license GNU/GPL)
              * Authors : phpMyVisites team
              */

              // $Id: index.php 220 2007-06-27 10:01:07Z matthieu_ $

              define('INCLUDE_PATH', '.');
              define('PLUGINS_PATH', INCLUDE_PATH."/plugins/");
              // For profiling, XDEBUG 2.x generates .out to be analysed with KcacheGrind or WinCacheGrind
              @set_time_limit(0);
              @error_reporting(E_ALL);

              require_once INCLUDE_PATH . '/core/include/PmvConfig.class.php';
              require_once INCLUDE_PATH . '/core/include/ApplicationController.php';

              ApplicationController::init();

              if( Request::moduleIsNotAStrangeModule() )
              printTime('EOF', PRINT_TIME);

              Code 3

              <?php
              /*
              * phpMyVisites : website statistics and audience measurements
              * Copyright (C) 2002 - 2006
              * http://www.phpmyvisites.net/
              * phpMyVisites is free software (license GNU/GPL)
              * Authors : phpMyVisites team
              */

              // $Id: phpmyvisites.php 218 2007-06-02 07:15:48Z cmil $

              define('SAVE_STAT', true ); // default true
              define('LOOK_FOR_COOKIE', true); // default true
              define('DEBUG', false); // default false
              define('TRACE_IN_FILES', false); // default false
              define('INCLUDE_PATH', '.');
              define('PRINT_COOKIE_CONTENT', false); // debug only : display cookie content for the current domain
              define('PRINT_ALL_COOKIES_CONTENT', false); // debug only : display all pmv cookies for the current domain

              // TODO dans le test du referer appartient au site, testez également en plus
              // des sitesUrls le host de l'url de la page current sur le host de l'url ref

              @ignore_user_abort(true);
              @set_time_limit(0);
              @error_reporting(E_ALL);

              require_once INCLUDE_PATH."/core/include/Lang.class.php";
              require_once INCLUDE_PATH.'/config.inc.php';
              require_once INCLUDE_PATH."/core/include/Logs.functions.php";
              require_once INCLUDE_PATH."/core/include/common.functions.php";
              require_once INCLUDE_PATH."/core/include/Cookie.class.php";
              require_once INCLUDE_PATH."/core/include/Site.class.php";
              require_once INCLUDE_PATH."/core/include/PmvConfig.class.php";

              if(!SAVE_STAT)
              {
              redirectToUrlIfNecessary();

              // else, display pixel
              $img = INCLUDE_PATH . "/images/logos/pixel.gif";
              header("Content-type: image/gif");
              readfile($img);
              exit;
              }

              // hack for not to show tables (because getCurrentCompleteUrl bugs
              // with url containing another url in one parameter)
              $GLOBALS['currentModuleIsLogModule'] = true;

              $c =& PmvConfig::getInstance();

              $db =& Db::getInstance();
              $db->connect();

              // when no get specified, display a marketing page :)
              if(sizeof($_GET) === 0)
              {
              require_once INCLUDE_PATH."/core/include/Lang.class.php";
              $l =& Lang::getInstance();;
              displayPageWhenEmptyGet();
              exit;
              }

              if(DEBUG)
              {
              require_once INCLUDE_PATH."/core/include/functions.php";
              }

              if(DEBUG)
              ob_start();

              // - imprimer doc mysql "optimisation"

              /*
              * Get page & visitor information
              */
              $idSite = getRequestVar('id', null, 'numeric');

              $GLOBALS['cookie'] = new Cookie( COOKIE_PMVLOG_NAME . $idSite);

              if(LOOK_FOR_COOKIE && $GLOBALS['cookie']->isDefined())
              {
              printDebug("<b>Cookie at the beginning (size : ".$GLOBALS['cookie']->getSize()." bytes)</b> :<br>");
              printDebug($GLOBALS['cookie']->get());
              $returningVisitor = 1;
              }
              else
              {
              $returningVisitor = 0;
              printDebug("<b>Cookie not found !</b><br><br>");
              }

              $flash = getRequestVar('flash', 0, 'numeric');
              $director = getRequestVar('director', 0, 'numeric');
              $quicktime = getRequestVar('quicktime', 0, 'numeric');
              $realPlayer = getRequestVar('realplayer', 0, 'numeric');
              $windowsMedia = getRequestVar('windowsmedia', 0, 'numeric');
              $cookieAccept = getRequestVar('cookie', 0, 'numeric'); // Don't name $cookie because conflict with $GLOBALS['cookie']
              $pdf = getRequestVar('pdf', 0, 'numeric');
              $java = getRequestVar('java', -1, 'numeric');
              if ($java == -1) {
              $javascript = 0;
              $java = 0;
              }
              else {
              $javascript = 1;
              }

              $refererUrl = getRequestVar('ref', '');
              $typeTag = getRequestVar('type', "", 'string');

              $site = new Site($idSite);

              // debug cookie
              if(PRINT_ALL_COOKIES_CONTENT)
              {
              require_once INCLUDE_PATH . "/core/include/DataModel.class.php";
              $sitesId = $site->getSitesId();
              foreach($sitesId as $sid)
              {
              $c = new Cookie( COOKIE_PMVLOG_NAME . $sid);
              print($c->toString());
              }
              exit;
              }
              else if(PRINT_COOKIE_CONTENT)
              {
              print($GLOBALS['cookie']->toString());
              exit;
              }

              /*
              * site urls
              */
              // commented in 2.3b3 because its actually not used
              //if(!$siteUrls = $GLOBALS['cookie']->getVar('site_urls'))
              //{
              // $siteUrlsBefore = $site->getUrls();
              // $siteUrls = array();
              // if(is_array($siteUrlsBefore))
              // {
              // foreach($siteUrlsBefore as $url)
              // {
              // $url = trim($url);
              // if( array_search( $url, $siteUrls) === false
              // && !empty($url) )
              // {
              // $siteUrls[] = $url;
              // }
              // }
              // }
              // // save array of site urls in the cookie
              // $GLOBALS['cookie']->setVar('site_urls', $siteUrls);
              //}

              /*
              * site info
              */
              //if(!$siteInfo = $GLOBALS['cookie']->getVar('site_info'))
              //{
              // $siteInfo = $site->getInfo();
              //
              // // save array of site urls in the cookie
              // $GLOBALS['cookie']->setVar('site_info', $siteInfo);
              //}

              $logo = $site->getLogo();
              $siteParams = $site->getParams();

              $pageUrl = getRequestVar('url', '', 'string');
              if ($pageUrl == "") {
              // May be it is a bot !!
              printDebug("No url : may be it's a bot ! So we don't save this visit !");
              redirectToUrlIfNecessary();
              loadImage($logo, $idSite);
              exit();
              }
              // After modif js where we remove all before // in url
              // We add http: to not have error in parse_url
              if (substr($pageUrl, 0, 2) == "//") {
              $pageUrl = "http:".$pageUrl;
              }
              /*
              // Verify that url is in your site
              $trouve = false;
              foreach($siteUrls as $url)
              {
              $posInUrl = strpos($pageUrl, $url);
              $trouve = ($posInUrl == 0);
              }
              if (! $trouve) {
              printDebug("Url is not ok !");
              redirectToUrlIfNecessary();
              loadImage($logo, $idSite);
              exit();
              }
              */
              /**
              * exit if visitor is cookie excluded from the stats
              */

              if(isset($_COOKIE[COOKIE_NAME_NO_STAT.$site->getId()]))
              {
              printDebug("Excluded from stats with the cookie!");

              redirectToUrlIfNecessary();
              loadImage($logo, $idSite);
              }

              /*
              * page variables
              */
              $a_vars = getRequestVar('a_vars', array(), 'array');

              /*
              * visitor config, as saved in the database
              */
              $userAgent = secureVar(@$_SERVER['HTTP_USER_AGENT']);
              $os = getOs($userAgent);
              $a_browser = getBrowserInfo($userAgent);
              $resolution = getRequestVar('res', 'unknown', 'string');
              $colorDepth = getRequestVar('col', 32, 'numeric');

              $browserLang = secureVar(@$_SERVER['HTTP_ACCEPT_LANGUAGE']);

              $localTime = getRequestVar('h',date("H"),'numeric').':'.
              getRequestVar('m',date("i"),'numeric').':'.getRequestVar('s',date("s"),'numeric');

              // assign pageCategory default value of the parse_url::path?query
              $pageUrlParamsProcessed = processParams($pageUrl, $siteParams);

              // fix add site.com because else parse_url bugs with ':' in query string
              if(!ereg('^http://',$pageUrlParamsProcessed))
              {
              $urlParse = parse_url('http://site.com'.$pageUrlParamsProcessed);
              }
              else
              {
              $urlParse = parse_url($pageUrlParamsProcessed);
              }

              if(isset($urlParse['path']))
              {
              $pageNameDefault = substr($urlParse['path'], 1);
              }

              if(isset($urlParse['query']))
              {
              $pageNameDefault .= '?'.$urlParse['query'];
              }

              if( (!isset($pageNameDefault)
              || strcmp($pageNameDefault, '')===0)
              && isset($urlParse['host'])
              )
              {
              $pageNameDefault = DEFAULT_PAGE_NAME;
              }
              else if(!isset($pageNameDefault))
              {
              $pageNameDefault = null;
              }
              printDebug("PageNameDefault : " . $pageNameDefault);

              // stripslashed because otherwise pageName if value is pageNameDefault is slashed twice
              $pageCompleteName = utf8_encode(getRequestVar('pagename' ,
              stripslashes(html_entity_decode($pageNameDefault))
              )
              );
              $pageCompleteName = str_replace(array("\n", "\r"), '', $pageCompleteName);
              $pageCompleteName = str_replace(array("?"), '', $pageCompleteName);

              if ($typeTag != "") {
              $pageCompleteName = $typeTag.":".$pageCompleteName;
              }
              // works only on 'path' of this url because the query may contain delimiter !
              $file = '';
              //if(substr($pageCompleteName, 0, 5) === PREFIX_FILES)
              if(isPrefixTag ($pageCompleteName))
              {
              // $file = PREFIX_FILES;
              $file = getPrefixTag($pageCompleteName);
              }

              printDebug("<br>Page complete name:".$pageCompleteName);
              $urlParse = parse_url('http://site.com/'.$pageCompleteName);

              $pageCompleteNamePath = substr($urlParse['path'],1);
              $lastDelimiter = strrpos($pageCompleteNamePath, CATEGORY_DELIMITER);
              printDebug("<br>Page name complete path:".$pageCompleteNamePath);

              printDebug("<br>Pos last delimiter : $lastDelimiter");
              if($lastDelimiter !== false)
              {
              // in the $pageCompleteName "g1>g2>page" select only "g1>g2"
              $pageCategory = substr($pageCompleteNamePath, 0, $lastDelimiter);
              // $pageCategory = str_replace( PREFIX_FILES, '', $pageCategory);
              $tabTag = split(",", PREFIX_ALL_TAG);
              foreach ($tabTag as $info) {
              $pageCategory = str_replace($info, '', $pageCategory);
              }
              if($pageCategory == '/'
              || $pageCategory == ' '
              || $pageCategory == '+'
              || $pageCategory == '-'
              || $pageCategory == '"'
              || $pageCategory == '\''
              )
              {
              $pageCategory = '';
              }

              // in the $pageCompleteName "g1>g2>page" select only "page"
              // if pageCompleteNamePath bug when all variables recorded, no pagename, only save index.php
              $pageName = $file . substr($pageCompleteName, $lastDelimiter + 1);
              }
              else
              {
              $pageCategory = '';
              $pageName = $pageCompleteName;
              }
              //var_dump($pageCategory);exit;

              // concerning names of pages in subgroups like /g1/g2/g3/ without page names
              if(strcmp($pageName, '')===0)
              {
              $pageName = DEFAULT_PAGE_NAME;
              }

              printDebug('<br>URL : '.$pageUrl);
              printDebug('<br>typeTag : '.$typeTag);
              printDebug('<br>pageName : '.$pageName);
              printDebug('<br>pageCategory : '.$pageCategory);
              printDebug('<br>a_vars : '); printDebug($a_vars);
              printDebug('<br>referer : '); printDebug($refererUrl);
              printDebug('<br>flash : '.$flash);
              printDebug('<br>director : '.$director);
              printDebug('<br>quicktime : '.$quicktime);
              printDebug('<br>real player : '.$realPlayer);
              printDebug('<br>windows media : '.$windowsMedia);
              printDebug('<br>cookie : '.$cookieAccept);
              printDebug('<br>PDF : '.$pdf);
              printDebug('<br>java : '.$java);
              printDebug('<br>javascript : '.$javascript);
              printDebug('<br>referer Url : '.$refererUrl);
              printDebug('<br>id site : '.$idSite);
              //printDebug('<br>site Urls : '); printDebug($siteUrls);
              //printDebug('<br>site Info : '); printDebug($siteInfo);
              printDebug('<br>user Agent : '.$userAgent);
              printDebug('<br>os : '.$os);
              printDebug('<br>browser : '.$a_browser['longName']);
              printDebug('<br>resolution : '.$resolution);
              printDebug('<br>color : '.$colorDepth);

              /**
              * other information
              */
              $todayDate = date("Y-m-d");

              /**
              * try to recognize the visitor, with or without cookie
              * who said we are very strong ?
              */

              // last_visit = last visit timestamp
              // idcookie = id cookie

              printDebug("<br><strong>Try to recognize the visitor...</strong><br>");

              function saveCountInFile( $fileName )
              {
              $count = 0;
              $fileName = './count/'.$fileName;
              if(is_file($fileName))
              {
              include($fileName);
              if(isset($count) && is_integer($count) && $count != 0)
              {
              saveConfigFile( $fileName, $count+1, "count");
              }
              }

              }
              if(TRACE_IN_FILES) saveCountInFile( 'p_total' );

              $timeDiffRef = DEFAULT_TIME_PAGE;

              // does phpmyvisites cookie exist ?
              if($GLOBALS['cookie']->isDefined())
              {
              // yes, known visitor
              $idVisit = $GLOBALS['cookie']->getVar('idvisit');
              $idCookie = $GLOBALS['cookie']->getVar('idcookie');
              $lastVisit = $GLOBALS['cookie']->getVar('last_visit_time');
              $serverTime = $GLOBALS['cookie']->getVar('server_time');
              $serverDate = $GLOBALS['cookie']->getVar('server_date');
              $idPageRef = $GLOBALS['cookie']->getVar('idpage_ref');

              if(TRACE_IN_FILES) saveCountInFile( 'p_cookie' );

              if(DEBUG)
              printDebug("<br>We know the visitor (thanks to his cookie).
              <br>He has idvisit = $idVisit and went last time on
              ".getTimeForDisplay($lastVisit)."<br>");
              }
              else
              {
              printDebug("=>We can't find the cookie...<br>");
              if(TRACE_IN_FILES) saveCountInFile( 'p_non_cookie' );
              // compute IP
              $ip = getIp();
              $ip2long = ip2long($ip);
              exitIfIpExcluded($ip2long, $logo, $site);

              $serverDate = $todayDate;

              $tryPutCookie = true;

              //edit 2.2RC3 now we check all the time, because if someone refresh the home page 100 times
              // and didn't accept cookies, it was counted 100 visitors!!
              /*
              if($site->isUrlIn($refererUrl))
              {
              printDebug("=> Referer Is in the site ! try to catch the visitor...<br>");
              if(TRACE_IN_FILES) saveCountInFile( 'p_ref_url_in' );
              }
              */

              $md5Config = md5( $os . serialize($a_browser) . $resolution . $colorDepth . $pdf
              . $flash . $java . $javascript . $director . $quicktime . $realPlayer . $windowsMedia . $cookieAccept
              . $ip2long . $browserLang);

              // does the config (os+browser+resolution+color_depth) and the IP match any visitor ?
              $r = query("SELECT idvisit, idcookie, TIME_TO_SEC(last_visit_time),
              TIME_TO_SEC(server_time), exit_idpage
              FROM ".T_VISIT."
              WHERE server_date = '$todayDate'
              AND idsite = '$idSite'
              AND md5config = '$md5Config'
              ORDER BY last_visit_time DESC
              LIMIT 1");

              if(mysql_num_rows($r)>0)
              {
              // yes
              $r = mysql_fetch_row($r);
              $idVisit = $r[0];
              $idCookie = $r[1];
              $lastVisit = $r[2];
              $serverTime = $r[3];
              $idPageRef = $r[4];
              if(TRACE_IN_FILES) saveCountInFile( 'p_ref_url_in_found' );
              printDebug("=> We found the MD5CONFIG of visitor so he is known<br>");
              }

              // case we didn't match any visitor
              if(!isset($idVisit))
              {
              // no, new visitor
              $newVisitor = true;
              if(TRACE_IN_FILES) saveCountInFile( 'p_ref_not_found' );
              printDebug("=> It's definitely a new visitor<br>");
              }
              }

              if(isset($lastVisit)
              && $lastVisit !== false
              && $lastVisit < todayTime() // case the lastVisit value has been spoiled
              )
              {
              $timeDiffRef = todayTime() - $lastVisit;

              // case the lastVisit value has been spoiled (BIS)
              $timeDiffRef = min($timeDiffRef, TIME_ONE_VISIT);
              }

              if(!isset($idPageRef)
              || $idPageRef === false )
              {
              $idPageRef = 0;
              }
              else
              {
              printDebug("We know its page ref id=$idPageRef and he stayed on it $timeDiffRef seconds <br>");
              }

              /**
              * Current visitor is a new visitor or an old one
              * but without cookie, so we put a cookie
              */
              if(isset($newVisitor) || isset($tryPutCookie))
              {
              // record it and set the cookie
              $idCookie = $GLOBALS['cookie']->put(isset($idCookie)?$idCookie:'');

              // case : visitor known but cookie not set during his first page views...
              if(isset($idVisit))
              {
              $GLOBALS['cookie']->setVar('idvisit', $idVisit);
              }
              else
              {
              $lastVisit = todayTime();
              }
              }

              /**
              * Visitor is known, we now look if it's a new visit or not
              */
              // is the visit older than 30 minutes ?
              if(!isset($newVisitor))
              {
              if(DEBUG)
              printDebug("(idvisit = $idVisit, ".getTimeForDisplay($serverTime)." | now : " .
              todayTime()." :: first page last time : $serverTime)");

              if ($serverDate == date("Y-m-d")
              && ($lastVisit > (todayTime() - TIME_ONE_VISIT))
              )
              {
              // yes, new visit
              $GLOBALS['cookie']->setVar('last_visit_time', todayTime());
              $knownVisit = true;
              printDebug("<br><b>=>Visit is known on date : $serverDate</b><br>");
              }
              else
              {
              printDebug("=>Last visit is too old <b>==> New visit</b><br>");
              $returningVisitor = 1;
              }
              }
              else
              {
              printDebug("<br><b>=>New Visitor also means new visit</b><br>");
              }

              /**
              * Current visit is a known visit
              */
              // save current page, etc.
              if(isset($knownVisit) && $knownVisit)
              {
              // we know
              // * $lastVisit
              // * $idVisit
              // * $idCookie

              // update last_visit_time
              printDebug("==> This is a visit known... we update the data <br>");

              // do it first because we need idpage for visit info insert
              //print("$pageName <br> $pageUrl <br> $pageCategory ");exit;
              $a_idPages = recordDbPage($pageName, $pageUrlParamsProcessed, $pageCategory, false);

              $idPage = $a_idPages[0];

              // save current page & url & variables information
              $idLink_vp = recordDbInfoPage($idVisit, $idPage, $idPageRef, $timeDiffRef, $a_vars);

              $total_time = DEFAULT_TIME_PAGE + todayTime() - $serverTime;
              // update last_visit_time & total_pages & c_total_time
              $r = query("UPDATE ".T_VISIT."
              SET last_visit_time = CURRENT_TIME(),
              total_pages = total_pages + 1,
              total_time = '$total_time',
              exit_idpage = '$idPage'
              WHERE idvisit = '$idVisit'
              LIMIT 1");
              }
              /*
              * Current visit a new visit
              */
              // now we know the visitor and its idcookie
              // save new visit
              else
              {
              printDebug("==> This is a new visit, we create datas in the database when necessary<br>");

              if(!isset($ip) || !isset($ip2long))
              {
              $ip = getIp();
              $ip2long = ip2long($ip);
              exitIfIpExcluded($ip2long, $logo, $site);
              }
              $hostExt = getHostnameExt(getHost($ip));
              printDebug('<br>ip : '.$ip);
              printDebug('<br>hostname : '.$hostExt);

              $serverDate = date("Y-m-d");
              $serverTime = date("H:i:s");

              $country = getCountry($hostExt, $browserLang);

              if($country == 'gb')
              {
              $country = 'uk';
              }

              $continent = getContinent($country);

              if(strlen($refererUrl)===0)
              {
              $refererUrl = 'NULL';
              }
              else
              {
              $refererUrl = "'".$refererUrl."'";
              }

              // do it first because we need idpage for visit info insert
              $a_idPages = recordDbPage($pageName, $pageUrlParamsProcessed, $pageCategory, true);

              $idPageUrl = $a_idPages[1];
              $idPage = $a_idPages[0];

              $md5Config = md5( $os . serialize($a_browser) . $resolution . $colorDepth . $pdf
              . $flash . $java . $javascript . $director . $quicktime . $realPlayer . $windowsMedia . $cookieAccept
              . $ip2long . $browserLang);

              // save visitor information
              $r = query("INSERT INTO ".T_VISIT."
              (idsite, idcookie, returning, last_visit_time, server_date, server_time, md5config,
              referer, os, browser_name, browser_version, resolution, color_depth,
              pdf, flash, java, javascript, director, quicktime, realplayer, windowsmedia, cookie,
              local_time, ip, hostname_ext, browser_lang, country, continent,
              total_pages, total_time, entry_idpage, entry_idpageurl, exit_idpage)
              VALUES ('$idSite', '$idCookie', '$returningVisitor', CURRENT_TIME(),
              '$serverDate', '$serverTime', '$md5Config',
              $refererUrl, '$os', '".$a_browser['shortName']."',
              '".$a_browser['version']."', '$resolution', '$colorDepth',
              '$pdf', '$flash','$java', '$javascript', '$director', '$quicktime', '$realPlayer', '$windowsMedia', '$cookieAccept',
              '$localTime','$ip2long', '$hostExt', '$browserLang', '$country', '$continent',
              1, '".DEFAULT_TIME_PAGE ."', '$idPage', '$idPageUrl', '$idPage')
              ");
              $idVisit = mysql_insert_id();

              // save page view and URL and variables
              recordDbInfoPage($idVisit, $idPage, $idPageRef, $timeDiffRef, $a_vars);

              // save idvisit
              $GLOBALS['cookie']->setVar('idvisit', $idVisit);
              $GLOBALS['cookie']->setVar('last_visit_time', todayTime());
              $GLOBALS['cookie']->setVar('server_time', todayTime());
              $GLOBALS['cookie']->setVar('server_date', $serverDate);
              }

              $GLOBALS['cookie']->setVar('idpage_ref', $idPage);

              $GLOBALS['cookie']->save();
              printDebug("<br><b>Next cookie should be :</b>");
              printDebug($GLOBALS['cookie']->getContent());

              // footer
              if(PRINT_QUERY_COUNT)
              printQueryCount();
              if(PRINT_TIME)
              printTime();

              if(SAVE_DB_LOG)
              {
              recordDbQueryCount($idSite);
              }

              require_once INCLUDE_PATH . "/core/include/common.functions.php";
              $crontabFile = INCLUDE_PATH . "/config/crontab.php";
              if(is_file($crontabFile))
              {
              include($crontabFile);
              }
              if( WEB_CRONTAB
              && is_writable( $crontabFile)
              &&
              (
              // if crontab doesn't exist in the file or the file doesn't exist
              // or if the last try was before today
              ( !isset($crontab)
              || $crontab['date_last_success'] != getDateFromTimestamp(time())
              )
              &&
              (
              !is_file($crontabFile)
              || ( isset($crontab)
              && $crontab['time_last_try'] < time() - TIME_TO_WAIT_FOR_PARALLEL_ARCHIVE // every 5min
              )
              )
              )
              )
              {
              $crontab['time_last_try'] = time();
              $crontab['date_last_success'] = '2000-12-31';
              saveConfigFile( $crontabFile, $crontab, "crontab");

              printDebug('==========================<br>
              CRONTAB BEGIN/ <br>
              ==========================<br>
              ');
              require_once INCLUDE_PATH . '/core/include/PmvConfig.class.php';
              require_once INCLUDE_PATH . '/core/include/ApplicationController.php';

              $r =& Request::getInstance();
              $r->setModuleName('send_mail');
              $r->setCrontabAllowed();
              ApplicationController::init();
              printDebug('==========================<br>
              CRONTAB END/ <br>
              ==========================<br>
              ');
              $crontab['date_last_success'] = getDateFromTimestamp(time());
              saveConfigFile( $crontabFile, $crontab, "crontab");
              }

              $db->close();

              redirectToUrlIfNecessary();
              loadImage($logo, $idSite);

              // flush content for display
              if(DEBUG)
              ob_end_flush();

              ?>

              Code4
              <?php
              /*
              * phpMyVisites : website statistics and audience measurements
              * Copyright (C) 2002 - 2006
              * http://www.phpmyvisites.net/
              * phpMyVisites is free software (license GNU/GPL)
              * Authors : phpMyVisites team
              */

              // $Id: version.php 232 2007-07-06 09:31:19Z matthieu_ $

              define('PHPMV_VERSION', '2.3');
              ?>

              Je vous prie de bien vouloir m'aider

              Cordialement votre
              0
              1. j'ai téléchargé des codes et je ne sais pas lequel installer

                Code1
                <?php
                /*
                * phpMyVisites : website statistics and audience measurements
                * Copyright (C) 2002 - 2006
                * http://www.phpmyvisites.net/
                * phpMyVisites is free software (license GNU/GPL)
                * Authors : phpMyVisites team
                */

                // $Id: config.inc.php 236 2007-11-04 15:04:08Z matthieu_ $

                /**
                * Maybe you want to edit these values (but be careful!)
                */
                define('TIME_BEFORE_NEW_DAY_ARCHIVE', 10);//3600 * 3); // time before the current day is again archived when stats visited
                define('INTERNAL_STATS', false); // define if phpmyvisites application statistics are saved
                define('INTERNAL_CLICKHEAT', false); // define if phpmv app clicks are logged
                define('SMARTY_DEBUG', false); // define if smarty is in debug mode (means CACHE activated, template build on each page, etc.)
                define('DEFAULT_SITE', 1); // id of the site that is displayed after login (or -1 for summary)
                define('CURRENT_DAY_SIMPLE_ARCHIVE', false); // define if current day archive is simplified or not
                define('CURRENT_PERIOD_SIMPLE_ARCHIVE', false); // define if temp period archive is simplified or not
                define('DEFAULT_DAY_TODAY', false); // is the default day today or yesterday?
                define('ALL_POPULATION', false); // include all population or not
                define('WEB_CRONTAB', true); // defines if the automatic crontab is activated or not (launched by the first visitor of each day). Must be desactivated if you setted a real crontab with the RSS feed (see FAQ)
                define('SECURE_SERVER_HTTPS', false); // if true, the URLs constructed will be prefixed by https instead of http
                define('COMPRESS_DB_DATA', true); // try to compress data before Database recording ? (can slow the process)
                define('CATEGORY_DELIMITER', '/'); // category delimiter. Use '/' to make your categories automatically
                define('TIME_TO_WAIT_FOR_PARALLEL_ARCHIVE', 40 * 60); // seconds to wait before try a new archive when a parallel archiving process is detected (also used in crontab task)
                define('NB_IPS_RANGE_AVAILABLE', 10); // number of input for ip range exclude in the administration area
                define('NB_URLS_ALIAS_AVAILABLE', 5); // number of input for urls alias in the administration area
                define('NB_ELEMENTS_TO_DISPLAY', 10); // number of elements to display in tables (search engines, keywords, etc.)
                define('DEFAULT_PAGE_NAME', 'index'); // default page name, when is like toto.com/ or toto.com/group1/group2/
                define('PARAM_URL_PARTNER', 'pmv_pid'); // param name for identifying partner
                define('PARAM_URL_NEWSLETTER', 'pmv_nid'); // param name for identifying newsletter
                define('PREFIX_FILES', 'FILE:'); // prefix for files in the Javascript code Ex : pagename = 'FILE:group1/group2/group3/documentation.pdf'
                define('PREFIX_ALL_TAG', 'FILE:'); // Liste of prefix for files,rss and pocast in the Javascript code Ex : pagename = 'FILE:group1/group2/group3/documentation.pdf'
                define('MAX_DISTINCT_ELEMENTS', 300); // max elements (ex. number of keywords saved, number of distinct ISP)
                define('MAX_DISTINCT_DETAILS_ELEMENTS', 300); // max distinct elements for details table (ex. number of keywords for a specific search engine)
                define('MAX_DISTINCT_INTEREST_ELEMENTS', 150); // max elements used in Interest analysis
                define('PMV_REWRITE_MODE', 'PEAR_REQUEST'); // [PEAR_REQUEST, URLREWRITE], PEAR_REQUEST : Use PEAR plugin with fsockopen (can be used if url is on the same server or if fsockopen is authorised with others servers), URLREWRITE (default) : rewrite url to the file

                define('NEWSLETTER_FORCE_CREATE', false); // If phpmv recieve a call of a newsletter and if not exists : create the newsletter true ! error message : false
                define('NEWSLETTER_CREATE_NAME', 'Newsletter : '); // Begining of the name when you force newsletter creation
                define('NEWSLETTER_ID_MAX_AUTO', 100); // Max newsletter id create automatically (-1 no limit)

                /**
                * You shouldn't edit the values after this comment
                */
                define('CACHE_SMARTY', 60*60*48); // define smarty cache lifetime
                define('DEFAULT_TIME_PAGE', 20); // 20 sec per page if there isn't any page following (time standard!)
                define('TIME_SLOW_QUERY', 0.05); // slow queries are loggued into database
                define('PERCENT_MAX', 1000); // percent maximum born
                define('THEME_DEFAULT', 'default'); // default theme directory
                define('THEME_ADMIN', 'default'); // admin theme directory
                define('STORE_PAG_ARRAY_IN_FILE', false); // store big page arrays in files. Increase performance for stat report, but uses disk space
                define('NB_DAYS_FOR_RSS_ITEMS', 3); // days to compute to syndicate in the RSS sites (to multiply by number of sites ! be careful !)
                define('ADMINISTRATOR_MAIL', 'phpmyvisites@gmail.com'); // mail that appears in the mail sent from phpmyvisites
                define('CACHE_RSS_LIFETIME', 3600); // lifetime of the rss syndication file cache
                define('CACHE_MAIL_LIFETIME', 3600); // lifetime of the mail file cache
                define('PHP_VERSION_NEEDED', '4.3'); // version of php needed for phpmyvisites to work correctly
                define('MEMORY_LIMIT', 16); // good value for memory limit
                define('DEFAULT_MODULE', 'view_visits'); // name of the default module loaded
                define('COOKIE_PMVLOG_NAME', 'pmv_ck_'); // cookie name for log
                define('COOKIE_NAME_VIEW', 'pmv_ck_view_conf'); // cookie name for stats view
                define('COOKIE_NAME_SESSION', 'pmv_ck_session'); // cookie name for session
                define('COOKIE_NAME_NO_STAT', 'pmv_ck_no_stat'); // cookie name for session
                define('MAX_LENGTH_ONE_VALUE_IN_COOKIE', 300); // length in byte
                define('TIME_ONE_VISIT', 30*60); // time max for one visit (the time is normed) in seconds
                define('MAX_LENGTH_JAVASCRIPT_A_VARS_ARRAY', 200); // max length for a variable value in the "var a_vars" javascript array in javascript code
                define('COOKIE_EXPIRE', 86400*365*10); // time after which the cookie will expire
                define('SECURE_TIME_BEFORE_NEW_ARCHIVE', 20); // time added to each archive's valid time for current day archives. It is a security to try to use the same archives for the graphs on the page

                // For PHPMV_STAT_*, INTERNAL_STATS must be set to true
                define('PMV_STAT_ID_SITE', 1); // Id of site where phpmv site must be saved (-1) : So create a site in phpmyvistes and set here, the id of this site
                define('PMV_STAT_SAVE_USER', true); // true to have login name in variable of page viewed

                // Other
                if(!defined('DEBUG')) define('DEBUG', false);
                define('DEFAULT_ACTION', false);

                error_reporting( E_ALL );

                if(DEBUG)
                {
                define('PRINT_TIME', false);
                define('PRINT_QUERY_COUNT', true);
                define('SAVE_DB_LOG', true);
                define('PRINT_QUERY', true);
                }
                else
                {
                define('PRINT_QUERY', false);
                define('PRINT_TIME', false);
                define('PRINT_QUERY_COUNT', false);
                define('SAVE_DB_LOG', false);
                }

                // relative directories
                define('DIR_IMG_THEMES', './themes/'.THEME_DEFAULT.'/images/');
                define('DIR_IMG_BROWSERS', './images/browsers');
                define('DIR_IMG_OS', './images/os');
                define('DIR_IMG_PLUGINS', './images/plugins');
                define('DIR_IMG_LOGOS', './images/logos');
                define('DIR_IMG_COUNTRIES_FLAGS', './images/countries_flags');
                define('DIR_IMG_SCREENS', './images/screens');
                define('DIR_IMG_SEARCH_ENGINES', './images/search_engines');

                // absolute directories
                define('LANGS_PATH', INCLUDE_PATH . '/langs');
                define('DIR_IMG_MAPS', INCLUDE_PATH . '/images/maps');
                define('DIR_CACHE_RSS', INCLUDE_PATH . '/datas/cache_lite/');
                define('DIR_CACHE_MAIL', INCLUDE_PATH . '/datas/cache_lite/');
                define('FONTS_PATH', INCLUDE_PATH . '/libs/artichow/font/');

                // xhtml
                define('HREF_DOC_OPEN', "<strong><a href='http://www.phpmyvisites.us/documentation/'>");
                define('HREF_DOC_CLOSE', "</a></strong>");
                define('HREF_FORUMS', "<strong><a href=\"http://www.phpmyvisites.us/forums/\" alt=\"{'head_titre'|translate}\" title=\"{'head_titre'|translate}\">http://www.phpmyvisites.us/forums/</a></strong>");
                define('URL_SITE_EXAMPLE', 'http://www.site.com');
                define('IP_EXAMPLE', 'A.B.C.D or A.B.C.x...');
                define('GET_LIST_EXAMPLE', '<i>id;data;page</i>');

                // archiving
                define('REF_TYPE_SEARCH_ENGINE', 1);
                define('REF_TYPE_SITE', 2);
                define('REF_TYPE_PARTNER', 3);
                define('REF_TYPE_NEWSLETTER', 4);
                define('REF_TYPE_DIRECT_ENTRY', 5);

                define('DB_ARCHIVES_PERIOD_DAY', 1);
                define('DB_ARCHIVES_PERIOD_WEEK', 2);
                define('DB_ARCHIVES_PERIOD_MONTH', 3);
                define('DB_ARCHIVES_PERIOD_YEAR', 4);
                define('DB_ARCHIVES_PERIOD_MISC_PERIOD', 5);

                define('DB_ARCHIVES_DONE', 1);
                define('DB_ARCHIVES_TEMP', 2);
                define('DB_ARCHIVES_FAIL', 3);

                define('ARRAY_INDEX_COUNT', 1);
                define('ARRAY_INDEX_PAGE_NAME', 2);
                define('ARRAY_INDEX_IDPAGE', 3);
                define('ARRAY_INDEX_IDCATEGORY', 4);
                define('ARRAY_INDEX_LEVEL', 5);
                define('ARRAY_INDEX_IDPARENT', 6);
                define('ARRAY_INDEX_TIME_TOTAL' , 7);
                define('ARRAY_INDEX_ENTRYPAGE', 8);
                define('ARRAY_INDEX_EXITPAGE', 9);
                define('ARRAY_INDEX_VARS', 10);
                define('ARRAY_INDEX_TYPE', 11);
                define('ARRAY_INDEX_PAGES_VISIT_ONEPAGE', 12);
                define('ARRAY_INDEX_PAGES_COUNT', 13);

                define('ARRAY_INDEX_RETURNING_COUNT', 14);
                define('ARRAY_INDEX_NEW_COUNT', 15);

                define('ARRAY_INDEX_VAR_COUNT', 1);
                define('ARRAY_INDEX_VAR_VALUE', 2);

                define('ARRAY_TYPE_PAGE', 1);
                define('ARRAY_TYPE_FILE', 2);

                define('STAT_PAGE_PER_VISIT', 0);
                define('STAT_PAGE_PER_VISIT_SIGNIFICANT', 1);
                define('STAT_ONE_PAGE_RATE', 2);
                define('STAT_TIME_PER_VISIT', 3);

                define('DATE_NORMAL', 0);
                define('DATE_GRAPH', 1);
                define('DATE_GRAPH_LONG_AXIS', 2);

                // Require
                require_once INCLUDE_PATH."/version.php";
                require_once INCLUDE_PATH."/core/datas/browserFamilies.php";
                require_once INCLUDE_PATH."/core/datas/browsers.php";
                require_once INCLUDE_PATH."/core/datas/countryList.php";
                require_once INCLUDE_PATH."/core/datas/ispCountryList.php";
                require_once INCLUDE_PATH."/core/datas/osLists.php";
                require_once INCLUDE_PATH."/core/datas/pagesGap.php";
                require_once INCLUDE_PATH."/core/datas/searchEngines.php";
                require_once INCLUDE_PATH."/core/datas/timeGap.php";
                require_once INCLUDE_PATH."/core/datas/fontList.php";

                /**
                * Simple function to replicate PHP 5 behaviour
                */
                function getMicrotime()
                {
                list($usec, $sec) = explode(" ", microtime());
                return ((float)$usec + (float)$sec);
                }

                $GLOBALS['time_start'] = getMicrotime();
                $GLOBALS['query_count'] = 0; // number of queries of the page
                $GLOBALS['a_content'] = array(); // cookie content
                $GLOBALS['header_message_tpl'] = '';
                $GLOBALS['header_error_message_tpl'] = '';

                ?>

                Code2

                <?php
                /*
                * phpMyVisites : website statistics and audience measurements
                * Copyright (C) 2002 - 2006
                * http://www.phpmyvisites.net/
                * phpMyVisites is free software (license GNU/GPL)
                * Authors : phpMyVisites team
                */

                // $Id: index.php 220 2007-06-27 10:01:07Z matthieu_ $

                define('INCLUDE_PATH', '.');
                define('PLUGINS_PATH', INCLUDE_PATH."/plugins/");
                // For profiling, XDEBUG 2.x generates .out to be analysed with KcacheGrind or WinCacheGrind
                @set_time_limit(0);
                @error_reporting(E_ALL);

                require_once INCLUDE_PATH . '/core/include/PmvConfig.class.php';
                require_once INCLUDE_PATH . '/core/include/ApplicationController.php';

                ApplicationController::init();

                if( Request::moduleIsNotAStrangeModule() )
                printTime('EOF', PRINT_TIME);
                ?>

                Code3
                <?php
                /*
                * phpMyVisites : website statistics and audience measurements
                * Copyright (C) 2002 - 2006
                * http://www.phpmyvisites.net/
                * phpMyVisites is free software (license GNU/GPL)
                * Authors : phpMyVisites team
                */

                // $Id: phpmyvisites.php 218 2007-06-02 07:15:48Z cmil $

                define('SAVE_STAT', true ); // default true
                define('LOOK_FOR_COOKIE', true); // default true
                define('DEBUG', false); // default false
                define('TRACE_IN_FILES', false); // default false
                define('INCLUDE_PATH', '.');
                define('PRINT_COOKIE_CONTENT', false); // debug only : display cookie content for the current domain
                define('PRINT_ALL_COOKIES_CONTENT', false); // debug only : display all pmv cookies for the current domain

                // TODO dans le test du referer appartient au site, testez également en plus
                // des sitesUrls le host de l'url de la page current sur le host de l'url ref

                @ignore_user_abort(true);
                @set_time_limit(0);
                @error_reporting(E_ALL);

                require_once INCLUDE_PATH."/core/include/Lang.class.php";
                require_once INCLUDE_PATH.'/config.inc.php';
                require_once INCLUDE_PATH."/core/include/Logs.functions.php";
                require_once INCLUDE_PATH."/core/include/common.functions.php";
                require_once INCLUDE_PATH."/core/include/Cookie.class.php";
                require_once INCLUDE_PATH."/core/include/Site.class.php";
                require_once INCLUDE_PATH."/core/include/PmvConfig.class.php";

                if(!SAVE_STAT)
                {
                redirectToUrlIfNecessary();

                // else, display pixel
                $img = INCLUDE_PATH . "/images/logos/pixel.gif";
                header("Content-type: image/gif");
                readfile($img);
                exit;
                }

                // hack for not to show tables (because getCurrentCompleteUrl bugs
                // with url containing another url in one parameter)
                $GLOBALS['currentModuleIsLogModule'] = true;

                $c =& PmvConfig::getInstance();

                $db =& Db::getInstance();
                $db->connect();

                // when no get specified, display a marketing page :)
                if(sizeof($_GET) === 0)
                {
                require_once INCLUDE_PATH."/core/include/Lang.class.php";
                $l =& Lang::getInstance();;
                displayPageWhenEmptyGet();
                exit;
                }

                if(DEBUG)
                {
                require_once INCLUDE_PATH."/core/include/functions.php";
                }

                if(DEBUG)
                ob_start();

                // - imprimer doc mysql "optimisation"

                /*
                * Get page & visitor information
                */
                $idSite = getRequestVar('id', null, 'numeric');

                $GLOBALS['cookie'] = new Cookie( COOKIE_PMVLOG_NAME . $idSite);

                if(LOOK_FOR_COOKIE && $GLOBALS['cookie']->isDefined())
                {
                printDebug("<b>Cookie at the beginning (size : ".$GLOBALS['cookie']->getSize()." bytes)</b> :<br>");
                printDebug($GLOBALS['cookie']->get());
                $returningVisitor = 1;
                }
                else
                {
                $returningVisitor = 0;
                printDebug("<b>Cookie not found !</b><br><br>");
                }

                $flash = getRequestVar('flash', 0, 'numeric');
                $director = getRequestVar('director', 0, 'numeric');
                $quicktime = getRequestVar('quicktime', 0, 'numeric');
                $realPlayer = getRequestVar('realplayer', 0, 'numeric');
                $windowsMedia = getRequestVar('windowsmedia', 0, 'numeric');
                $cookieAccept = getRequestVar('cookie', 0, 'numeric'); // Don't name $cookie because conflict with $GLOBALS['cookie']
                $pdf = getRequestVar('pdf', 0, 'numeric');
                $java = getRequestVar('java', -1, 'numeric');
                if ($java == -1) {
                $javascript = 0;
                $java = 0;
                }
                else {
                $javascript = 1;
                }

                $refererUrl = getRequestVar('ref', '');
                $typeTag = getRequestVar('type', "", 'string');

                $site = new Site($idSite);

                // debug cookie
                if(PRINT_ALL_COOKIES_CONTENT)
                {
                require_once INCLUDE_PATH . "/core/include/DataModel.class.php";
                $sitesId = $site->getSitesId();
                foreach($sitesId as $sid)
                {
                $c = new Cookie( COOKIE_PMVLOG_NAME . $sid);
                print($c->toString());
                }
                exit;
                }
                else if(PRINT_COOKIE_CONTENT)
                {
                print($GLOBALS['cookie']->toString());
                exit;
                }

                /*
                * site urls
                */
                // commented in 2.3b3 because its actually not used
                //if(!$siteUrls = $GLOBALS['cookie']->getVar('site_urls'))
                //{
                // $siteUrlsBefore = $site->getUrls();
                // $siteUrls = array();
                // if(is_array($siteUrlsBefore))
                // {
                // foreach($siteUrlsBefore as $url)
                // {
                // $url = trim($url);
                // if( array_search( $url, $siteUrls) === false
                // && !empty($url) )
                // {
                // $siteUrls[] = $url;
                // }
                // }
                // }
                // // save array of site urls in the cookie
                // $GLOBALS['cookie']->setVar('site_urls', $siteUrls);
                //}

                /*
                * site info
                */
                //if(!$siteInfo = $GLOBALS['cookie']->getVar('site_info'))
                //{
                // $siteInfo = $site->getInfo();
                //
                // // save array of site urls in the cookie
                // $GLOBALS['cookie']->setVar('site_info', $siteInfo);
                //}

                $logo = $site->getLogo();
                $siteParams = $site->getParams();

                $pageUrl = getRequestVar('url', '', 'string');
                if ($pageUrl == "") {
                // May be it is a bot !!
                printDebug("No url : may be it's a bot ! So we don't save this visit !");
                redirectToUrlIfNecessary();
                loadImage($logo, $idSite);
                exit();
                }
                // After modif js where we remove all before // in url
                // We add http: to not have error in parse_url
                if (substr($pageUrl, 0, 2) == "//") {
                $pageUrl = "http:".$pageUrl;
                }
                /*
                // Verify that url is in your site
                $trouve = false;
                foreach($siteUrls as $url)
                {
                $posInUrl = strpos($pageUrl, $url);
                $trouve = ($posInUrl == 0);
                }
                if (! $trouve) {
                printDebug("Url is not ok !");
                redirectToUrlIfNecessary();
                loadImage($logo, $idSite);
                exit();
                }
                */
                /**
                * exit if visitor is cookie excluded from the stats
                */

                if(isset($_COOKIE[COOKIE_NAME_NO_STAT.$site->getId()]))
                {
                printDebug("Excluded from stats with the cookie!");

                redirectToUrlIfNecessary();
                loadImage($logo, $idSite);
                }

                /*
                * page variables
                */
                $a_vars = getRequestVar('a_vars', array(), 'array');

                /*
                * visitor config, as saved in the database
                */
                $userAgent = secureVar(@$_SERVER['HTTP_USER_AGENT']);
                $os = getOs($userAgent);
                $a_browser = getBrowserInfo($userAgent);
                $resolution = getRequestVar('res', 'unknown', 'string');
                $colorDepth = getRequestVar('col', 32, 'numeric');

                $browserLang = secureVar(@$_SERVER['HTTP_ACCEPT_LANGUAGE']);

                $localTime = getRequestVar('h',date("H"),'numeric').':'.
                getRequestVar('m',date("i"),'numeric').':'.getRequestVar('s',date("s"),'numeric');

                // assign pageCategory default value of the parse_url::path?query
                $pageUrlParamsProcessed = processParams($pageUrl, $siteParams);

                // fix add site.com because else parse_url bugs with ':' in query string
                if(!ereg('^http://',$pageUrlParamsProcessed))
                {
                $urlParse = parse_url('http://site.com'.$pageUrlParamsProcessed);
                }
                else
                {
                $urlParse = parse_url($pageUrlParamsProcessed);
                }

                if(isset($urlParse['path']))
                {
                $pageNameDefault = substr($urlParse['path'], 1);
                }

                if(isset($urlParse['query']))
                {
                $pageNameDefault .= '?'.$urlParse['query'];
                }

                if( (!isset($pageNameDefault)
                || strcmp($pageNameDefault, '')===0)
                && isset($urlParse['host'])
                )
                {
                $pageNameDefault = DEFAULT_PAGE_NAME;
                }
                else if(!isset($pageNameDefault))
                {
                $pageNameDefault = null;
                }
                printDebug("PageNameDefault : " . $pageNameDefault);

                // stripslashed because otherwise pageName if value is pageNameDefault is slashed twice
                $pageCompleteName = utf8_encode(getRequestVar('pagename' ,
                stripslashes(html_entity_decode($pageNameDefault))
                )
                );
                $pageCompleteName = str_replace(array("\n", "\r"), '', $pageCompleteName);
                $pageCompleteName = str_replace(array("?"), '', $pageCompleteName);

                if ($typeTag != "") {
                $pageCompleteName = $typeTag.":".$pageCompleteName;
                }
                // works only on 'path' of this url because the query may contain delimiter !
                $file = '';
                //if(substr($pageCompleteName, 0, 5) === PREFIX_FILES)
                if(isPrefixTag ($pageCompleteName))
                {
                // $file = PREFIX_FILES;
                $file = getPrefixTag($pageCompleteName);
                }

                printDebug("<br>Page complete name:".$pageCompleteName);
                $urlParse = parse_url('http://site.com/'.$pageCompleteName);

                $pageCompleteNamePath = substr($urlParse['path'],1);
                $lastDelimiter = strrpos($pageCompleteNamePath, CATEGORY_DELIMITER);
                printDebug("<br>Page name complete path:".$pageCompleteNamePath);

                printDebug("<br>Pos last delimiter : $lastDelimiter");
                if($lastDelimiter !== false)
                {
                // in the $pageCompleteName "g1>g2>page" select only "g1>g2"
                $pageCategory = substr($pageCompleteNamePath, 0, $lastDelimiter);
                // $pageCategory = str_replace( PREFIX_FILES, '', $pageCategory);
                $tabTag = split(",", PREFIX_ALL_TAG);
                foreach ($tabTag as $info) {
                $pageCategory = str_replace($info, '', $pageCategory);
                }
                if($pageCategory == '/'
                || $pageCategory == ' '
                || $pageCategory == '+'
                || $pageCategory == '-'
                || $pageCategory == '"'
                || $pageCategory == '\''
                )
                {
                $pageCategory = '';
                }

                // in the $pageCompleteName "g1>g2>page" select only "page"
                // if pageCompleteNamePath bug when all variables recorded, no pagename, only save index.php
                $pageName = $file . substr($pageCompleteName, $lastDelimiter + 1);
                }
                else
                {
                $pageCategory = '';
                $pageName = $pageCompleteName;
                }
                //var_dump($pageCategory);exit;

                // concerning names of pages in subgroups like /g1/g2/g3/ without page names
                if(strcmp($pageName, '')===0)
                {
                $pageName = DEFAULT_PAGE_NAME;
                }

                printDebug('<br>URL : '.$pageUrl);
                printDebug('<br>typeTag : '.$typeTag);
                printDebug('<br>pageName : '.$pageName);
                printDebug('<br>pageCategory : '.$pageCategory);
                printDebug('<br>a_vars : '); printDebug($a_vars);
                printDebug('<br>referer : '); printDebug($refererUrl);
                printDebug('<br>flash : '.$flash);
                printDebug('<br>director : '.$director);
                printDebug('<br>quicktime : '.$quicktime);
                printDebug('<br>real player : '.$realPlayer);
                printDebug('<br>windows media : '.$windowsMedia);
                printDebug('<br>cookie : '.$cookieAccept);
                printDebug('<br>PDF : '.$pdf);
                printDebug('<br>java : '.$java);
                printDebug('<br>javascript : '.$javascript);
                printDebug('<br>referer Url : '.$refererUrl);
                printDebug('<br>id site : '.$idSite);
                //printDebug('<br>site Urls : '); printDebug($siteUrls);
                //printDebug('<br>site Info : '); printDebug($siteInfo);
                printDebug('<br>user Agent : '.$userAgent);
                printDebug('<br>os : '.$os);
                printDebug('<br>browser : '.$a_browser['longName']);
                printDebug('<br>resolution : '.$resolution);
                printDebug('<br>color : '.$colorDepth);

                /**
                * other information
                */
                $todayDate = date("Y-m-d");

                /**
                * try to recognize the visitor, with or without cookie
                * who said we are very strong ?
                */

                // last_visit = last visit timestamp
                // idcookie = id cookie

                printDebug("<br><strong>Try to recognize the visitor...</strong><br>");

                function saveCountInFile( $fileName )
                {
                $count = 0;
                $fileName = './count/'.$fileName;
                if(is_file($fileName))
                {
                include($fileName);
                if(isset($count) && is_integer($count) && $count != 0)
                {
                saveConfigFile( $fileName, $count+1, "count");
                }
                }

                }
                if(TRACE_IN_FILES) saveCountInFile( 'p_total' );

                $timeDiffRef = DEFAULT_TIME_PAGE;

                // does phpmyvisites cookie exist ?
                if($GLOBALS['cookie']->isDefined())
                {
                // yes, known visitor
                $idVisit = $GLOBALS['cookie']->getVar('idvisit');
                $idCookie = $GLOBALS['cookie']->getVar('idcookie');
                $lastVisit = $GLOBALS['cookie']->getVar('last_visit_time');
                $serverTime = $GLOBALS['cookie']->getVar('server_time');
                $serverDate = $GLOBALS['cookie']->getVar('server_date');
                $idPageRef = $GLOBALS['cookie']->getVar('idpage_ref');

                if(TRACE_IN_FILES) saveCountInFile( 'p_cookie' );

                if(DEBUG)
                printDebug("<br>We know the visitor (thanks to his cookie).
                <br>He has idvisit = $idVisit and went last time on
                ".getTimeForDisplay($lastVisit)."<br>");
                }
                else
                {
                printDebug("=>We can't find the cookie...<br>");
                if(TRACE_IN_FILES) saveCountInFile( 'p_non_cookie' );
                // compute IP
                $ip = getIp();
                $ip2long = ip2long($ip);
                exitIfIpExcluded($ip2long, $logo, $site);

                $serverDate = $todayDate;

                $tryPutCookie = true;

                //edit 2.2RC3 now we check all the time, because if someone refresh the home page 100 times
                // and didn't accept cookies, it was counted 100 visitors!!
                /*
                if($site->isUrlIn($refererUrl))
                {
                printDebug("=> Referer Is in the site ! try to catch the visitor...<br>");
                if(TRACE_IN_FILES) saveCountInFile( 'p_ref_url_in' );
                }
                */

                $md5Config = md5( $os . serialize($a_browser) . $resolution . $colorDepth . $pdf
                . $flash . $java . $javascript . $director . $quicktime . $realPlayer . $windowsMedia . $cookieAccept
                . $ip2long . $browserLang);

                // does the config (os+browser+resolution+color_depth) and the IP match any visitor ?
                $r = query("SELECT idvisit, idcookie, TIME_TO_SEC(last_visit_time),
                TIME_TO_SEC(server_time), exit_idpage
                FROM ".T_VISIT."
                WHERE server_date = '$todayDate'
                AND idsite = '$idSite'
                AND md5config = '$md5Config'
                ORDER BY last_visit_time DESC
                LIMIT 1");

                if(mysql_num_rows($r)>0)
                {
                // yes
                $r = mysql_fetch_row($r);
                $idVisit = $r[0];
                $idCookie = $r[1];
                $lastVisit = $r[2];
                $serverTime = $r[3];
                $idPageRef = $r[4];
                if(TRACE_IN_FILES) saveCountInFile( 'p_ref_url_in_found' );
                printDebug("=> We found the MD5CONFIG of visitor so he is known<br>");
                }

                // case we didn't match any visitor
                if(!isset($idVisit))
                {
                // no, new visitor
                $newVisitor = true;
                if(TRACE_IN_FILES) saveCountInFile( 'p_ref_not_found' );
                printDebug("=> It's definitely a new visitor<br>");
                }
                }

                if(isset($lastVisit)
                && $lastVisit !== false
                && $lastVisit < todayTime() // case the lastVisit value has been spoiled
                )
                {
                $timeDiffRef = todayTime() - $lastVisit;

                // case the lastVisit value has been spoiled (BIS)
                $timeDiffRef = min($timeDiffRef, TIME_ONE_VISIT);
                }

                if(!isset($idPageRef)
                || $idPageRef === false )
                {
                $idPageRef = 0;
                }
                else
                {
                printDebug("We know its page ref id=$idPageRef and he stayed on it $timeDiffRef seconds <br>");
                }

                /**
                * Current visitor is a new visitor or an old one
                * but without cookie, so we put a cookie
                */
                if(isset($newVisitor) || isset($tryPutCookie))
                {
                // record it and set the cookie
                $idCookie = $GLOBALS['cookie']->put(isset($idCookie)?$idCookie:'');

                // case : visitor known but cookie not set during his first page views...
                if(isset($idVisit))
                {
                $GLOBALS['cookie']->setVar('idvisit', $idVisit);
                }
                else
                {
                $lastVisit = todayTime();
                }
                }

                /**
                * Visitor is known, we now look if it's a new visit or not
                */
                // is the visit older than 30 minutes ?
                if(!isset($newVisitor))
                {
                if(DEBUG)
                printDebug("(idvisit = $idVisit, ".getTimeForDisplay($serverTime)." | now : " .
                todayTime()." :: first page last time : $serverTime)");

                if ($serverDate == date("Y-m-d")
                && ($lastVisit > (todayTime() - TIME_ONE_VISIT))
                )
                {
                // yes, new visit
                $GLOBALS['cookie']->setVar('last_visit_time', todayTime());
                $knownVisit = true;
                printDebug("<br><b>=>Visit is known on date : $serverDate</b><br>");
                }
                else
                {
                printDebug("=>Last visit is too old <b>==> New visit</b><br>");
                $returningVisitor = 1;
                }
                }
                else
                {
                printDebug("<br><b>=>New Visitor also means new visit</b><br>");
                }

                /**
                * Current visit is a known visit
                */
                // save current page, etc.
                if(isset($knownVisit) && $knownVisit)
                {
                // we know
                // * $lastVisit
                // * $idVisit
                // * $idCookie

                // update last_visit_time
                printDebug("==> This is a visit known... we update the data <br>");

                // do it first because we need idpage for visit info insert
                //print("$pageName <br> $pageUrl <br> $pageCategory ");exit;
                $a_idPages = recordDbPage($pageName, $pageUrlParamsProcessed, $pageCategory, false);

                $idPage = $a_idPages[0];

                // save current page & url & variables information
                $idLink_vp = recordDbInfoPage($idVisit, $idPage, $idPageRef, $timeDiffRef, $a_vars);

                $total_time = DEFAULT_TIME_PAGE + todayTime() - $serverTime;
                // update last_visit_time & total_pages & c_total_time
                $r = query("UPDATE ".T_VISIT."
                SET last_visit_time = CURRENT_TIME(),
                total_pages = total_pages + 1,
                total_time = '$total_time',
                exit_idpage = '$idPage'
                WHERE idvisit = '$idVisit'
                LIMIT 1");
                }
                /*
                * Current visit a new visit
                */
                // now we know the visitor and its idcookie
                // save new visit
                else
                {
                printDebug("==> This is a new visit, we create datas in the database when necessary<br>");

                if(!isset($ip) || !isset($ip2long))
                {
                $ip = getIp();
                $ip2long = ip2long($ip);
                exitIfIpExcluded($ip2long, $logo, $site);
                }
                $hostExt = getHostnameExt(getHost($ip));
                printDebug('<br>ip : '.$ip);
                printDebug('<br>hostname : '.$hostExt);

                $serverDate = date("Y-m-d");
                $serverTime = date("H:i:s");

                $country = getCountry($hostExt, $browserLang);

                if($country == 'gb')
                {
                $country = 'uk';
                }

                $continent = getContinent($country);

                if(strlen($refererUrl)===0)
                {
                $refererUrl = 'NULL';
                }
                else
                {
                $refererUrl = "'".$refererUrl."'";
                }

                // do it first because we need idpage for visit info insert
                $a_idPages = recordDbPage($pageName, $pageUrlParamsProcessed, $pageCategory, true);

                $idPageUrl = $a_idPages[1];
                $idPage = $a_idPages[0];

                $md5Config = md5( $os . serialize($a_browser) . $resolution . $colorDepth . $pdf
                . $flash . $java . $javascript . $director . $quicktime . $realPlayer . $windowsMedia . $cookieAccept
                . $ip2long . $browserLang);

                // save visitor information
                $r = query("INSERT INTO ".T_VISIT."
                (idsite, idcookie, returning, last_visit_time, server_date, server_time, md5config,
                referer, os, browser_name, browser_version, resolution, color_depth,
                pdf, flash, java, javascript, director, quicktime, realplayer, windowsmedia, cookie,
                local_time, ip, hostname_ext, browser_lang, country, continent,
                total_pages, total_time, entry_idpage, entry_idpageurl, exit_idpage)
                VALUES ('$idSite', '$idCookie', '$returningVisitor', CURRENT_TIME(),
                '$serverDate', '$serverTime', '$md5Config',
                $refererUrl, '$os', '".$a_browser['shortName']."',
                '".$a_browser['version']."', '$resolution', '$colorDepth',
                '$pdf', '$flash','$java', '$javascript', '$director', '$quicktime', '$realPlayer', '$windowsMedia', '$cookieAccept',
                '$localTime','$ip2long', '$hostExt', '$browserLang', '$country', '$continent',
                1, '".DEFAULT_TIME_PAGE ."', '$idPage', '$idPageUrl', '$idPage')
                ");
                $idVisit = mysql_insert_id();

                // save page view and URL and variables
                recordDbInfoPage($idVisit, $idPage, $idPageRef, $timeDiffRef, $a_vars);

                // save idvisit
                $GLOBALS['cookie']->setVar('idvisit', $idVisit);
                $GLOBALS['cookie']->setVar('last_visit_time', todayTime());
                $GLOBALS['cookie']->setVar('server_time', todayTime());
                $GLOBALS['cookie']->setVar('server_date', $serverDate);
                }

                $GLOBALS['cookie']->setVar('idpage_ref', $idPage);

                $GLOBALS['cookie']->save();
                printDebug("<br><b>Next cookie should be :</b>");
                printDebug($GLOBALS['cookie']->getContent());

                // footer
                if(PRINT_QUERY_COUNT)
                printQueryCount();
                if(PRINT_TIME)
                printTime();

                if(SAVE_DB_LOG)
                {
                recordDbQueryCount($idSite);
                }

                require_once INCLUDE_PATH . "/core/include/common.functions.php";
                $crontabFile = INCLUDE_PATH . "/config/crontab.php";
                if(is_file($crontabFile))
                {
                include($crontabFile);
                }
                if( WEB_CRONTAB
                && is_writable( $crontabFile)
                &&
                (
                // if crontab doesn't exist in the file or the file doesn't exist
                // or if the last try was before today
                ( !isset($crontab)
                || $crontab['date_last_success'] != getDateFromTimestamp(time())
                )
                &&
                (
                !is_file($crontabFile)
                || ( isset($crontab)
                && $crontab['time_last_try'] < time() - TIME_TO_WAIT_FOR_PARALLEL_ARCHIVE // every 5min
                )
                )
                )
                )
                {
                $crontab['time_last_try'] = time();
                $crontab['date_last_success'] = '2000-12-31';
                saveConfigFile( $crontabFile, $crontab, "crontab");

                printDebug('==========================<br>
                CRONTAB BEGIN/ <br>
                ==========================<br>
                ');
                require_once INCLUDE_PATH . '/core/include/PmvConfig.class.php';
                require_once INCLUDE_PATH . '/core/include/ApplicationController.php';

                $r =& Request::getInstance();
                $r->setModuleName('send_mail');
                $r->setCrontabAllowed();
                ApplicationController::init();
                printDebug('==========================<br>
                CRONTAB END/ <br>
                ==========================<br>
                ');
                $crontab['date_last_success'] = getDateFromTimestamp(time());
                saveConfigFile( $crontabFile, $crontab, "crontab");
                }

                $db->close();

                redirectToUrlIfNecessary();
                loadImage($logo, $idSite);

                // flush content for display
                if(DEBUG)
                ob_end_flush();

                ?>

                Code4

                <?php
                /*
                * phpMyVisites : website statistics and audience measurements
                * Copyright (C) 2002 - 2006
                * http://www.phpmyvisites.net/
                * phpMyVisites is free software (license GNU/GPL)
                * Authors : phpMyVisites team
                */

                // $Id: version.php 232 2007-07-06 09:31:19Z matthieu_ $

                define('PHPMV_VERSION', '2.3');
                ?>

                Aidez moi s'il vous plait

                Cordialement à vous
                0
                1. Si T chez Onlc, ils ont leur propres stats. Il vo les activer dans Configuration. Si ta un problème, contacte lé, ils sont simpa
                  0
                  1. Correctly accomplishing Ray Ban sun energy sunglasses have started unquestionably some sort of icon presently. This valuable <a href="http://www.rayban3025.uk.com/">ray ban 3025</a> are in reality cloned on versions boasts marketed supplementary than merely with regards to other manufacturers for darkish spectacles.

                    http://www.rayban3025.uk.com/
                    0