Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2010-06-23 07:45:36 +0400
committermatt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2010-06-23 07:45:36 +0400
commit7e1b5d6b762340cbff1bb928d15815980c7649a7 (patch)
treee07da179b9e1372866d2349777bd1cc6b4c9e8cf /plugins/VisitorGenerator
parent999f46479294713104c962bfe7469e9b6e7a4bbf (diff)
parentc98ea06f2cccec81c6ccce49162a583494e44d91 (diff)
Diffstat (limited to 'plugins/VisitorGenerator')
-rw-r--r--plugins/VisitorGenerator/Controller.php118
-rw-r--r--plugins/VisitorGenerator/Generator.php623
-rw-r--r--plugins/VisitorGenerator/Tracker.php53
-rw-r--r--plugins/VisitorGenerator/Visit.php47
-rw-r--r--plugins/VisitorGenerator/VisitorGenerator.php44
-rw-r--r--plugins/VisitorGenerator/data/AcceptLanguage.php544
-rw-r--r--plugins/VisitorGenerator/data/Referers.php702
-rw-r--r--plugins/VisitorGenerator/data/UserAgent.php69
-rw-r--r--plugins/VisitorGenerator/templates/generate.tpl30
-rw-r--r--plugins/VisitorGenerator/templates/index.tpl45
10 files changed, 2275 insertions, 0 deletions
diff --git a/plugins/VisitorGenerator/Controller.php b/plugins/VisitorGenerator/Controller.php
new file mode 100644
index 0000000000..cac81633d3
--- /dev/null
+++ b/plugins/VisitorGenerator/Controller.php
@@ -0,0 +1,118 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
+ * @version $Id$
+ *
+ * @category Piwik_Plugin
+ * @package Piwik_VisitorGenerator
+ */
+
+/**
+ *
+ * @package Piwik_VisitorGenerator
+ */
+class Piwik_VisitorGenerator_Controller extends Piwik_Controller {
+
+ public function index() {
+ Piwik::checkUserIsSuperUser();
+
+ $sitesList = Piwik_SitesManager_API::getInstance()->getSitesWithAdminAccess();
+
+ $view = Piwik_View::factory('index');
+ $this->setGeneralVariablesView($view);
+ $view->assign('sitesList', $sitesList);
+
+ $view->menu = Piwik_GetAdminMenu();
+ echo $view->render();
+ }
+
+ public function generate() {
+ // Only admin is allowed to do this!
+ Piwik::checkUserIsSuperUser();
+ $this->checkTokenInUrl();
+
+ $GET = $_GET;
+ $POST = $_POST;
+ $COOKIE = $_COOKIE;
+ $REQUEST = $_REQUEST;
+
+ if(Piwik_Common::getRequestVar('choice', 'no') != 'yes') {
+ Piwik::redirectToModule('VisitorGenerator', 'index');
+ }
+
+ $minVisitors = Piwik_Common::getRequestVar('minVisitors', 20, 'int');
+ $maxVisitors = Piwik_Common::getRequestVar('maxVisitors', 100, 'int');
+ $nbActions = Piwik_Common::getRequestVar('nbActions', 10, 'int');
+ $daysToCompute = Piwik_Common::getRequestVar('daysToCompute', 1, 'int');
+ $idSite = Piwik_Common::getRequestVar('idSite');
+ Piwik::setMaxExecutionTime(0);
+
+ $loadedPlugins = Piwik_PluginsManager::getInstance()->getLoadedPlugins();
+ $loadedPlugins = array_keys($loadedPlugins);
+ // we have to unload the Provider plugin otherwise it tries to lookup the IP for a hostname, and there is no dns server here
+ if(Piwik_PluginsManager::getInstance()->isPluginActivated('Provider')) {
+ Piwik_PluginsManager::getInstance()->unloadPlugin('Provider');
+ }
+
+ // we set the DO NOT load plugins so that the Tracker generator doesn't load the plugins we've just disabled.
+ // if for some reasons you want to load the plugins, comment this line, and disable the plugin Provider in the plugins interface
+ Piwik_PluginsManager::getInstance()->doNotLoadPlugins();
+
+ $generator = new Piwik_VisitorGenerator_Generator();
+ $generator->setMaximumUrlDepth(3);
+
+ //$generator->disableProfiler();
+ $generator->setIdSite( $idSite );
+
+ $nbActionsTotal = 0;
+ //$generator->emptyAllLogTables();
+ $generator->init();
+
+ $timer = new Piwik_Timer;
+
+ $startTime = time() - ($daysToCompute-1)*86400;
+ $dates = array();
+ while($startTime <= time()) {
+ $visitors = rand($minVisitors, $maxVisitors);
+ $actions = $nbActions;
+ $generator->setTimestampToUse($startTime);
+
+ $nbActionsTotalThisDay = $generator->generate($visitors, $actions);
+ $actionsPerVisit = round($nbActionsTotalThisDay / $visitors);
+
+ $date = array();
+ $date['visitors'] = $visitors;
+ $date['actionsPerVisit'] = $actionsPerVisit;
+ $date['startTime'] = $startTime;
+ $dates[] = $date;
+
+ $startTime += 86400;
+ $nbActionsTotal += $nbActionsTotalThisDay;
+ //sleep(1);
+ }
+
+ $generator->end();
+
+ // Recover all super globals
+ $_GET = $GET;
+ $_POST = $POST;
+ $_COOKIE = $COOKIE;
+ $_REQUEST = $REQUEST;
+
+ // Reload plugins
+ Piwik_PluginsManager::getInstance()->loadPlugins($loadedPlugins);
+
+ // Init view
+ $view = Piwik_View::factory('generate');
+ $view->menu = Piwik_GetAdminMenu();
+ $this->setGeneralVariablesView($view);
+ $view->assign('dates', $dates);
+ $view->assign('timer', $timer);
+ $view->assign('nbActionsTotal', $nbActionsTotal);
+ $view->assign('nbRequestsPerSec', round($nbActionsTotal / $timer->getTime(),0));
+ echo $view->render();
+ }
+}
diff --git a/plugins/VisitorGenerator/Generator.php b/plugins/VisitorGenerator/Generator.php
new file mode 100644
index 0000000000..9b32a83799
--- /dev/null
+++ b/plugins/VisitorGenerator/Generator.php
@@ -0,0 +1,623 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
+ * @version $Id$
+ *
+ * @category Piwik_Plugin
+ * @package Piwik_VisitorGenerator
+ */
+
+/**
+ * Class used to generate fake visits.
+ * Useful to test performances, general functional testing, etc.
+ *
+ * Objective:
+ * Generate thousands of visits / actions per visitor using
+ * a single request to misc/generateVisits.php
+ *
+ * Requirements of the visits generator script. Fields that can be edited:
+ * - url => campaigns
+ * - campaign CPC
+ * - referer
+ * - search engine
+ * - misc site
+ * - same website
+ * - url => multiple directories, page names
+ * - multiple idsite
+ * - multiple settings configurations
+ * - action_name
+ * - HTML title
+ *
+ * @package Piwik_VisitorGenerator
+ *
+ * "Le Generator, il est trop Fort!"
+ * - Random fan
+ */
+class Piwik_VisitorGenerator_Generator
+{
+ /**
+ * GET parameters array of values to be used for the current visit
+ *
+ * @var array ('res' => '1024x768', 'urlref' => 'http://google.com/search?q=piwik', ...)
+ */
+ protected $currentget = array();
+
+ /**
+ * Array of all the potential values for the visit parameters
+ * Values of 'resolution', 'urlref', etc. will be randomly read from this array
+ *
+ * @var array (
+ * 'res' => array('1024x768','800x600'),
+ * 'urlref' => array('google.com','intel.com','amazon.com'),
+ * ....)
+ */
+ protected $allget = array();
+
+ /**
+ * See @see setMaximumUrlDepth
+ *
+ * @var int
+ */
+ protected $maximumUrlDepth = 1;
+
+ /**
+ * Unix timestamp to use for the generated visitor
+ *
+ * @var int Unix timestamp
+ */
+ protected $timestampToUse;
+
+ /**
+ * See @see disableProfiler()
+ * The profiler is enabled by default
+ *
+ * @var bool
+ */
+ protected $profiling = true;
+
+ /**
+ * If set to true, this will TRUNCATE the profiling tables at every new generated visit
+ * @see initProfiler()
+ *
+ * @var bool
+ */
+ public $reinitProfilingAtEveryRequest = true;
+
+ /**
+ * Hostname used to prefix all the generated URLs
+ * we could make this variable dynamic so that a visitor can make hit on several hosts and
+ * only the good ones should be kept (feature not yet implemented in piwik)
+ *
+ * @var string
+ */
+ public $host = 'http://localhost';
+
+ /**
+ * IdSite to generate visits for (@see setIdSite())
+ *
+ * @var int
+ */
+ public $idSite = 1;
+
+ /**
+ * Overwrite the global GET/POST/COOKIE variables and set the fake ones @see setFakeRequest()
+ * Reads the configuration file but disables write to this file
+ * Creates the database object & enable profiling by default (@see disableProfiler())
+ *
+ */
+ public function __construct()
+ {
+ $_COOKIE = $_GET = $_POST = array();
+
+ // init GET and REQUEST to the empty array
+ $this->setFakeRequest();
+
+ Piwik::createConfigObject(PIWIK_USER_PATH . '/config/config.ini.php');
+ Zend_Registry::get('config')->disableSavingConfigurationFileUpdates();
+
+ // setup database
+ Piwik::createDatabaseObject();
+
+ Piwik_Tracker_Db::enableProfiling();
+
+ $this->timestampToUse = time();
+ }
+
+ /**
+ * Sets the depth level of the generated URLs
+ * value = 1 => path OR path/page1
+ * value = 2 => path OR path/pageRand OR path/dir1/pageRand
+ *
+ * @param int Depth
+ */
+ public function setMaximumUrlDepth($value)
+ {
+ $this->maximumUrlDepth = (int)$value;
+ }
+
+ /**
+ * Set the timestamp to use as the starting time for the visitors times
+ * You have to call this method for every day you want to generate data
+ *
+ * @param int Unix timestamp
+ */
+ public function setTimestampToUse($timestamp)
+ {
+ $this->timestampToUse = $timestamp;
+ }
+
+ /**
+ * Returns the timestamp to be used as the visitor timestamp
+ *
+ * @return int Unix timestamp
+ */
+ public function getTimestampToUse()
+ {
+ return $this->timestampToUse;
+ }
+
+ /**
+ * Set the idsite to generate the visits for
+ * To be called before init()
+ *
+ * @param int idSite
+ */
+ public function setIdSite($idSite)
+ {
+ $this->idSite = $idSite;
+ }
+
+ /**
+ * Add a value to the GET global array.
+ * The generator script will then randomly read a value from this array.
+ *
+ * For example, $name = 'res' $aValue = '1024x768'
+ *
+ * @param string Name of the parameter _GET[$name]
+ * @param array|mixed Value of the parameter
+ */
+ protected function addParam( $name, $aValue)
+ {
+ if(is_array($aValue))
+ {
+ $this->allget[$name] = array_merge( $aValue,
+ (array)@$this->allget[$name]);
+ }
+ else
+ {
+ $this->allget[$name][] = $aValue;
+ }
+ }
+
+ /**
+ * TRUNCATE all logs related tables to start a fresh logging database.
+ * Be careful, any data deleted this way is deleted forever
+ */
+ public function emptyAllLogTables()
+ {
+ $db = Zend_Registry::get('db');
+ $db->query('TRUNCATE TABLE '.Piwik_Common::prefixTable('log_action'));
+ $db->query('TRUNCATE TABLE '.Piwik_Common::prefixTable('log_visit'));
+ $db->query('TRUNCATE TABLE '.Piwik_Common::prefixTable('log_link_visit_action'));
+ }
+
+ /**
+ * Call this method to disable the SQL query profiler
+ */
+ public function disableProfiler()
+ {
+ $this->profiling = false;
+ Piwik_Tracker_Db::disableProfiling();
+ }
+
+ /**
+ * This is called at the end of the Generator script.
+ * Calls the Profiler output if the profiler is enabled.
+ */
+ public function end()
+ {
+ if($this->profiling)
+ {
+ Piwik::printSqlProfilingReportTracker();
+ }
+ Piwik_Tracker::disconnectDatabase();
+ }
+
+ /**
+ * Init the Generator script:
+ * - init the SQL profiler
+ * - init the random generator
+ * - setup the different possible values for parameters such as 'resolution',
+ * 'color', 'hour', 'minute', etc.
+ * - load from DataFiles and setup values for the other parameters such as UserAgent, Referers, AcceptedLanguages, etc.
+ * @see misc/generateVisitsData/
+ */
+ public function init()
+ {
+ Piwik::createLogObject();
+
+ $this->initProfiler();
+
+ /*
+ * Init the random number generator
+ */
+ function make_seed()
+ {
+ list($usec, $sec) = explode(' ', microtime());
+ return (float) $sec + ((float) $usec * 100000);
+ }
+ mt_srand(make_seed());
+
+ // set rec=1 parameter, required as of 0.5.5 in order to force the request to be recorded
+ $this->setCurrentRequest('rec', 1);
+
+ /*
+ * Sets values for: resolutions, colors, idSite, times
+ */
+ $common = array(
+ 'res' => array('1289x800','1024x768','800x600','564x644','200x100','50x2000',),
+ 'col' => array(24,32,16),
+ 'idsite'=> $this->idSite,
+ 'h' => range(0,23),
+ 'm' => range(0,59),
+ 's' => range(0,59),
+ );
+
+ foreach($common as $label => $values)
+ {
+ $this->addParam($label,$values);
+ }
+
+ /*
+ * Sets values for: outlinks, downloads, campaigns
+ */
+ // we get the name of the Download/outlink variables
+ $downloadOrOutlink = array('download', 'link');
+
+ // we have a 20% chance to add a download or outlink variable to the URL
+ $this->addParam('piwik_downloadOrOutlink', $downloadOrOutlink);
+ $this->addParam('piwik_downloadOrOutlink', array_fill(0,8,''));
+
+ // we get the variables name for the campaign parameters
+ $campaigns = array(
+ Piwik_Tracker_Config::getInstance()->Tracker['campaign_var_name']
+ );
+ // we generate a campaign in the URL in 3/18 % of the generated URls
+ $this->addParam('piwik_vars_campaign', $campaigns);
+ $this->addParam('piwik_vars_campaign', array_fill(0,15,''));
+
+
+ /*
+ * Sets values for: Referers, user agents, accepted languages
+ */
+ // we load some real referers to be used by the generator
+ $referers = array();
+ require_once PIWIK_INCLUDE_PATH . '/plugins/VisitorGenerator/data/Referers.php';
+
+ $this->addParam('urlref',$referers);
+
+ // and we add 2000 empty referers so that some visitors don't come using a referer (direct entry)
+ $this->addParam('urlref',array_fill(0,2000,''));
+
+ // load some user agent and accept language
+ $userAgent = $acceptLanguages = array();
+ require_once PIWIK_INCLUDE_PATH . '/plugins/VisitorGenerator/data/UserAgent.php';
+ require_once PIWIK_INCLUDE_PATH . '/plugins/VisitorGenerator/data/AcceptLanguage.php';
+ $this->userAgents=$userAgent;
+ $this->acceptLanguage=$acceptLanguages;
+ }
+
+ /**
+ * If the SQL profiler is enabled and if the reinit at every request is set to true,
+ * then we TRUNCATE the profiling information so that we only profile one visitor at a time
+ */
+ protected function initProfiler()
+ {
+ /*
+ * Inits the profiler
+ */
+ if($this->profiling)
+ {
+ if($this->reinitProfilingAtEveryRequest)
+ {
+ $all = Piwik_Query('TRUNCATE TABLE '.Piwik_Common::prefixTable('log_profiling').'' );
+ }
+ }
+ }
+ /**
+ * Launches the process and generates an exact number of nbVisitors
+ * For each visit, we setup the timestamp to the common timestamp
+ * Then we generate between 1 and nbActionsMaxPerVisit actions for this visit
+ * The generated actions will have a growing timestamp so it looks like a real visit
+ *
+ * @param int The number of visits to generate
+ * @param int The maximum number of actions to generate per visit
+ *
+ * @return int The number of total actions generated
+ */
+ public function generate( $nbVisitors, $nbActionsMaxPerVisit )
+ {
+ $nbActionsTotal = 0;
+ for($i = 0; $i < $nbVisitors; $i++)
+ {
+ $nbActions = mt_rand(1, $nbActionsMaxPerVisit);
+ Piwik_VisitorGenerator_Visit::setTimestampToUse($this->getTimestampToUse());
+
+ $this->generateNewVisit();
+ for($j = 1; $j <= $nbActions; $j++)
+ {
+ $this->generateActionVisit();
+ $this->saveVisit();
+ }
+ $nbActionsTotal += $nbActions;
+ }
+ return $nbActionsTotal;
+ }
+
+ /**
+ * Generates a new visitor.
+ * Loads random values for all the necessary parameters (resolution, local time, referers, etc.) from the fake GET array.
+ * Also generates a random IP.
+ *
+ * We change the superglobal values of HTTP_USER_AGENT, HTTP_CLIENT_IP, HTTP_ACCEPT_LANGUAGE to the generated value.
+ */
+ protected function generateNewVisit()
+ {
+ $this->setCurrentRequest( 'urlref' , $this->getRandom('urlref'));
+ $this->setCurrentRequest( 'idsite', $this->getRandom('idsite'));
+ $this->setCurrentRequest( 'res' ,$this->getRandom('res'));
+ $this->setCurrentRequest( 'col' ,$this->getRandom('col'));
+ $this->setCurrentRequest( 'h' ,$this->getRandom('h'));
+ $this->setCurrentRequest( 'm' ,$this->getRandom('m'));
+ $this->setCurrentRequest( 's' ,$this->getRandom('s'));
+ $this->setCurrentRequest( 'fla' ,$this->getRandom01());
+ $this->setCurrentRequest( 'java' ,$this->getRandom01());
+ $this->setCurrentRequest( 'dir' ,$this->getRandom01());
+ $this->setCurrentRequest( 'qt' ,$this->getRandom01());
+ $this->setCurrentRequest( 'realp' ,$this->getRandom01());
+ $this->setCurrentRequest( 'pdf' ,$this->getRandom01());
+ $this->setCurrentRequest( 'wma' ,$this->getRandom01());
+ $this->setCurrentRequest( 'gears' ,$this->getRandom01());
+ $this->setCurrentRequest( 'ag' ,$this->getRandom01());
+ $this->setCurrentRequest( 'cookie',$this->getRandom01());
+
+ $_SERVER['HTTP_CLIENT_IP'] = mt_rand(0,255).".".mt_rand(0,255).".".mt_rand(0,255).".".mt_rand(0,255);
+ $_SERVER['HTTP_USER_AGENT'] = $this->userAgents[mt_rand(0,count($this->userAgents)-1)];
+ $_SERVER['HTTP_ACCEPT_LANGUAGE'] = $this->acceptLanguage[mt_rand(0,count($this->acceptLanguage)-1)];
+ }
+
+ /**
+ * Generates a new action for the current visitor.
+ * We random generate some campaigns, action names, download or outlink clicks, etc.
+ * We generate a new Referer, that would be read in the case the visit last page is older than 30 minutes.
+ *
+ * This function tries to generate actions that use the features of Piwik (campaigns, downloads, outlinks, action_name set in the JS tag, etc.)
+ */
+ protected function generateActionVisit()
+ {
+ // we don't keep the previous action values
+ // reinit them to empty string
+ $this->setCurrentRequest( 'download', '');
+ $this->setCurrentRequest( 'link', '');
+ $this->setCurrentRequest( 'action_name', '');
+
+ // generate new url referer ; case the visitor stays more than 30min
+ // (when the visit is known this value will simply be ignored)
+ $this->setCurrentRequest( 'urlref' , $this->getRandom('urlref'));
+
+ // generates the current URL
+ $url = $this->getRandomUrlFromHost($this->host);
+
+ // we generate a campaign
+ $urlVars = $this->getRandom('piwik_vars_campaign');
+
+ // if we actually generated a campaign
+ if(!empty($urlVars))
+ {
+ // campaign name
+ $urlValue = $this->getRandomString(5,3,'lower');
+
+ // add the parameter to the url
+ $url .= '?'. $urlVars . '=' . $urlValue;
+
+ // for a campaign of the CPC kind, we sometimes generate a keyword
+ if($urlVars == Piwik_Tracker_Config::getInstance()->Tracker['campaign_var_name']
+ && mt_rand(0,1)==0)
+ {
+ $url .= '&'. Piwik_Tracker_Config::getInstance()->Tracker['campaign_keyword_var_name']
+ . '=' . $this->getRandomString(6,3,'ALL');;
+ }
+ }
+ else
+ {
+ // we generate a download Or Outlink parameter in the GET request so that
+ // the current action is counted as a download action OR a outlink click action
+ $GETParamToAdd = $this->getRandom('piwik_downloadOrOutlink');
+ if(!empty($GETParamToAdd))
+ {
+
+ $possibleDownloadHosts = array('http://piwik.org/',$this->host);
+ $nameDownload = $this->getRandomUrlFromHost($possibleDownloadHosts[mt_rand(0,1)]);
+ $extensions = array('.zip','.tar.gz');
+ $nameDownload .= $extensions[mt_rand(0,1)];
+ $urlValue = $nameDownload;
+
+ // add the parameter to the url
+ $this->setCurrentRequest( $GETParamToAdd , $urlValue);
+ }
+ }
+
+ $this->setCurrentRequest( 'url' ,$url);
+
+ // setup the title of the page
+ $this->setCurrentRequest( 'action_name',$this->getRandomString(15,5));
+ }
+
+ /**
+ * Returns a random URL using the $host as the URL host.
+ * Depth level depends on @see setMaximumUrlDepth()
+ *
+ * @param string Hostname of the URL to generate, eg. http://example.com/
+ *
+ * @return string The generated URL
+ */
+ protected function getRandomUrlFromHost( $host )
+ {
+ $url = $host;
+
+ $deep = mt_rand(0,$this->maximumUrlDepth);
+ for($i=0;$i<$deep;$i++)
+ {
+ $name = $this->getRandomString(1,1,'alnum');
+
+ $url .= '/'.$name;
+ }
+ return $url;
+ }
+
+ /**
+ * Generates a random string from minLength to maxLength using a specified set of characters
+ *
+ * Taken from php.net and then badly hacked by some unknown monkey
+ *
+ * @param int (optional) Maximum length of the string to generate
+ * @param int (optional) Minimum length of the string to generate
+ * @param string (optional) Characters set to use, 'ALL' or 'lower' or 'upper' or 'numeric' or 'ALPHA' or 'ALNUM'
+ *
+ * @return string The generated random string
+ */
+ protected function getRandomString($maxLength = 15, $minLength = 5, $type = 'ALL')
+ {
+ $len = mt_rand($minLength, $maxLength);
+
+ // Register the lower case alphabet array
+ $alpha = array('a', 'd', 'e', 'f', 'g');
+
+ // Register the upper case alphabet array
+ $ALPHA = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+ 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
+
+ // Register the numeric array
+ $num = array('1', '2', '3', '8', '9', '0');
+
+ // Register the strange array
+ $strange = array('/', '?', '!','"','£','$','%','^','&','*','(',')',' ');
+
+ // Initialize the keyVals array for use in the for loop
+ $keyVals = array();
+
+ // Initialize the key array to register each char
+ $key = array();
+
+ // Loop through the choices and register
+ // The choice to keyVals array
+ switch ($type)
+ {
+ case 'lower' :
+ $keyVals = $alpha;
+ break;
+ case 'upper' :
+ $keyVals = $ALPHA;
+ break;
+ case 'numeric' :
+ $keyVals = $num;
+ break;
+ case 'ALPHA' :
+ $keyVals = array_merge($alpha, $ALPHA);
+ break;
+ case 'alnum' :
+ $keyVals = array_merge($alpha, $num);
+ break;
+ case 'ALNUM' :
+ $keyVals = array_merge($alpha, $ALPHA, $num);
+ break;
+ case 'ALL' :
+ $keyVals = array_merge($alpha, $ALPHA, $num, $strange);
+ break;
+ }
+
+ // Loop as many times as specified
+ // Register each value to the key array
+ for($i = 0; $i <= $len-1; $i++)
+ {
+ $r = mt_rand(0,count($keyVals)-1);
+ $key[$i] = $keyVals[$r];
+ }
+
+ // Glue the key array into a string and return it
+ return join("", $key);
+ }
+
+ /**
+ * Sets the _GET and _REQUEST superglobal to the current generated array of values.
+ * @see setCurrentRequest()
+ * This method is called once the current action parameters array has been generated from
+ * the global parameters array
+ */
+ protected function setFakeRequest()
+ {
+ $_GET = $this->currentget;
+ }
+
+ /**
+ * Sets a value in the current action request array.
+ *
+ * @param string Name of the parameter to set
+ * @param string Value of the parameter
+ */
+ protected function setCurrentRequest($name,$value)
+ {
+ $this->currentget[$name] = $value;
+ }
+
+ /**
+ * Returns a value for the given parameter $name read randomly from the global parameter array.
+ * @see init()
+ *
+ * @param string Name of the parameter value to randomly load and return
+ * @return mixed Random value for the parameter named $name
+ * @throws Exception if the parameter asked for has never been set
+ *
+ */
+ protected function getRandom( $name )
+ {
+ if(!isset($this->allget[$name]))
+ {
+ throw new exception("You are asking for $name which doesnt exist");
+ }
+ else
+ {
+ $index = mt_rand(0,count($this->allget[$name])-1);
+ $value =$this->allget[$name][$index];
+ return $value;
+ }
+ }
+
+ /**
+ * Returns either 0 or 1
+ *
+ * @return int 0 or 1
+ */
+ protected function getRandom01()
+ {
+ return mt_rand(0,1);
+ }
+
+ /**
+ * Saves the visit
+ * - replaces GET and REQUEST by the fake generated request
+ * - load the Tracker class and call the method to launch the recording
+ *
+ * This will save the visit in the database
+ */
+ protected function saveVisit()
+ {
+ $this->setFakeRequest();
+ $process = new Piwik_VisitorGenerator_Tracker();
+ $process->main();
+ unset($process);
+ }
+}
diff --git a/plugins/VisitorGenerator/Tracker.php b/plugins/VisitorGenerator/Tracker.php
new file mode 100644
index 0000000000..0bc70796a9
--- /dev/null
+++ b/plugins/VisitorGenerator/Tracker.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
+ * @version $Id$
+ *
+ * @category Piwik_Plugin
+ * @package Piwik_VisitorGenerator
+ */
+
+/**
+ * Fake Piwik_Tracker that:
+ * - overwrite the sendHeader method so that no headers are sent.
+ * - doesn't print the 1pixel transparent GIF at the end of the visit process
+ * - overwrite the Tracker Visit object to use so we use our own Tracker_visit @see Piwik_Tracker_Generator_Visit
+ *
+ * @package Piwik_VisitorGenerator
+ */
+class Piwik_VisitorGenerator_Tracker extends Piwik_Tracker
+{
+ /**
+ * Does nothing instead of sending headers
+ */
+ protected function sendHeader($header)
+ {
+ }
+
+ /**
+ * Does nothing instead of displaying a 1x1 transparent pixel GIF
+ */
+ protected function end()
+ {
+ }
+
+ /**
+ * Returns our 'generator home made' Piwik_VisitorGenerator_Visit object.
+ *
+ * @return Piwik_VisitorGenerator_Visit
+ */
+ protected function getNewVisitObject()
+ {
+ $visit = new Piwik_VisitorGenerator_Visit();
+ $visit->generateTimestamp();
+ return $visit;
+ }
+
+ static function disconnectDatabase()
+ {
+ return;
+ }
+}
diff --git a/plugins/VisitorGenerator/Visit.php b/plugins/VisitorGenerator/Visit.php
new file mode 100644
index 0000000000..4aa41adcd0
--- /dev/null
+++ b/plugins/VisitorGenerator/Visit.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
+ * @version $Id$
+ *
+ * @category Piwik_Plugin
+ * @package Piwik_VisitorGenerator
+ */
+
+/**
+ * Fake Piwik_Tracker_Visit class that overwrite all the Time related method to be able
+ * to setup a given timestamp for the generated visitor and actions.
+ *
+ * @package Piwik_VisitorGenerator
+ */
+class Piwik_VisitorGenerator_Visit extends Piwik_Tracker_Visit
+{
+ static protected $timestampToUse;
+
+ static public function setTimestampToUse($time)
+ {
+ self::$timestampToUse = $time;
+ }
+ protected function getCurrentDate( $format = "Y-m-d")
+ {
+ return date($format, $this->getCurrentTimestamp() );
+ }
+
+ protected function getCurrentTimestamp()
+ {
+ return self::$timestampToUse;
+ }
+
+ public function generateTimestamp()
+ {
+ self::$timestampToUse = max(@$this->visitorInfo['visit_last_action_time'],self::$timestampToUse);
+ self::$timestampToUse += mt_rand(4,1840);
+ }
+
+ protected function updateCookie()
+ {
+ @parent::updateCookie();
+ }
+}
diff --git a/plugins/VisitorGenerator/VisitorGenerator.php b/plugins/VisitorGenerator/VisitorGenerator.php
new file mode 100644
index 0000000000..ee13df4b32
--- /dev/null
+++ b/plugins/VisitorGenerator/VisitorGenerator.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
+ * @version $Id$
+ *
+ * @category Piwik_Plugin
+ * @package Piwik_VisitorGenerator
+ */
+
+/**
+ *
+ * @package Piwik_VisitorGenerator
+ */
+class Piwik_VisitorGenerator extends Piwik_Plugin {
+
+ public function getInformation() {
+ $info = array(
+ 'description' => Piwik_Translate('VisitorGenerator_PluginDescription'),
+ 'author' => 'Piwik',
+ 'author_homepage' => 'http://piwik.org/',
+ 'version' => Piwik_Version::VERSION,
+ );
+ return $info;
+ }
+
+ public function getListHooksRegistered() {
+ return array(
+ 'AdminMenu.add' => 'addMenu',
+ );
+ }
+
+ public function addMenu() {
+ Piwik_AddAdminMenu(
+ 'VisitorGenerator_VisitorGenerator',
+ array('module' => 'VisitorGenerator', 'action' => 'index'),
+ Piwik::isUserIsSuperUser(),
+ $order = 10
+ );
+ }
+}
+?>
diff --git a/plugins/VisitorGenerator/data/AcceptLanguage.php b/plugins/VisitorGenerator/data/AcceptLanguage.php
new file mode 100644
index 0000000000..49dde7c841
--- /dev/null
+++ b/plugins/VisitorGenerator/data/AcceptLanguage.php
@@ -0,0 +1,544 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
+ * @version $Id$
+ *
+ * @category Piwik_Plugin
+ * @package Piwik_VisitorGenerator
+ */
+
+/**
+ * Accept-Language: strings
+ *
+ * @package Piwik_VisitorGenerator
+ */
+$acceptLanguages = array(
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr-FR,fr;q=0.9,en;q=",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr-ch",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr-ca",
+"fr",
+"fr",
+"de",
+"fr",
+"fr",
+"fr",
+"fr-fr",
+"tr",
+"en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"en",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"hu-hu,hu;q=0.8,en-us",
+"fr",
+"fr-be",
+"fr",
+"cs,en-us;q=0.7,en;q=",
+"en,fr;q=0.91,de;q=0.",
+"fr",
+"fr-be",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr-be",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr-be",
+"fr,fr-fr;q=0.8,en-us",
+"en-us,en;q=0.5",
+"fr",
+"it-it,it;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr-fr",
+"el,fi;q=0.5",
+"fr,fr-fr;q=0.8,en-us",
+
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,de-ch;q=0.5",
+"fr",
+"fr-ch",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr-fr,fr;q=0.5",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr-be",
+"fr-ca",
+"fr",
+"fr",
+"fr",
+"en-gb",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"en,fr;q=0.8,fr-fr;q=",
+"fr,fr-fr;q=0.8,en-us",
+"fr-be",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"pl",
+"fr",
+"fr",
+"en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"en-us,en;q=0.5",
+"fr",
+"de",
+"it",
+"en-us,en;q=0.5",
+"fr",
+"en-us,en;q=0.5",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr, en",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr,ar-dz;q=0.5",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"pl,en-us;q=0.7,en;q=",
+"en-gb",
+"fr-be",
+"hu",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"de-de,de;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"en-us",
+"fr",
+"fr-ch",
+"de",
+"fr",
+"fr",
+"bg",
+"fr,ar-ma;q=0.5",
+"fr",
+"fr",
+"fr-be",
+
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"en-us,en;q=0.5",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"en-us,en;q=0.5",
+"fr",
+"fr",
+"fr-fr, fr;q=0.50",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"da-dk",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"he",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr-ca",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"zh-cn",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"it",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr-ch",
+"cs,en-us;q=0.7,en;q=",
+"th",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr-be",
+"fr",
+"fr",
+"fr",
+"fr",
+"en-us",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.5",
+"cs,en-us;q=0.7,en;q=",
+"fr",
+"fr",
+"fr",
+"en-us",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"ar-bh",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr-ca",
+"fr-FR,fr;q=0.9,en;q=",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr-be,fr;q=0.5",
+"fr",
+"fr",
+"fr",
+"en-us",
+"fr-fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr-be",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr-be",
+"fr",
+"fr-ca",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr-be",
+"fr-fr",
+"tr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr-be",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr-be",
+"fr",
+"en-gb",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr",
+"fr,fr-fr;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr",
+"fr",
+"fr",
+"fr-fr",
+"es-es,es;q=0.8,en-us",
+"fr,fr-fr;q=0.8,en-us",
+"fr-be",
+"fr",
+"fr",
+"en-us,en;q=0.5",
+"fr",
+"fr",
+"fr",
+
+ );
+
diff --git a/plugins/VisitorGenerator/data/Referers.php b/plugins/VisitorGenerator/data/Referers.php
new file mode 100644
index 0000000000..3d0086d850
--- /dev/null
+++ b/plugins/VisitorGenerator/data/Referers.php
@@ -0,0 +1,702 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
+ * @version $Id$
+ *
+ * @category Piwik_Plugin
+ * @package Piwik_VisitorGenerator
+ */
+
+/**
+ * Referer: strings
+ *
+ * @package Piwik_VisitorGenerator
+ */
+$referers = array(
+"http://www.google.fr/search?hl=fr&q=statistique langues internet&btnG=Recherche Google&meta=",
+"http://annusiteperso.free.fr/",
+"http://www.google.com/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=logiciel arab gratuit&spell=1",
+"http://www.google.de/search?hl=de&q=phpmyvisits&meta=&btnG=Google-Suche",
+"http://www.narodnjaci-mp3.cro-windows-vista.info/permalink.php?article=6.txt",
+"http://lelogiciellibre.net/telecharger/statistiques-audience-sites.php",
+"http://www.framasoft.net/article2101.html",
+"http://humour25.free.fr/index.php3?page=videos-sexe",
+"http://search.ke.voila.fr/S/orange?rtype=kw&profil=smart&bhv=web_fr&rdata=google&logid=2093200001174768155748412&keap=28&prevnbans=10&ap=4",
+"http://translate.google.com/translate_n?hl=en&sl=fr&u=http://www.phpmyvisites.net/&prev=/search%3Fq%3Dopen%2Bsource%2Bweb%2Banalytics%26hl%3Den%26safe%3Doff%26sa%3DG",
+"http://blog.bobobook.cn/?p=95",
+"http://www.google.com/search?q=creer site gratuit facile logiciel&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8",
+"http://search.ke.voila.fr/S/voila?profil=voila&bhv=web_fr&rdata=site%20de%20traduction%20gratuit",
+"http://www.google.com/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=SUNA,SUNA:2006-25,SUNA:fr&q=configuration des mises %c3%a0 jour",
+"http://www.phpmyvisites.net/faq/",
+"http://www.framasoft.net/article2101.html",
+"http://www.neutrinium238.com/tutoriaux/photoshop/index.php?id=9",
+"http://www.google.co.th/search?hl=th&q=web statistic php&btnG=%E0%B8%84%E0%B9%89%E0%B8%99%E0%B8%AB%E0%B8%B2&meta=",
+"http://www.creer-un-site-internet.com/statistiques-site-internet.php",
+"http://forums.phpbb-fr.com/viewtopic_122536.html?hl=statistique",
+"http://www.computer.co.hu/index.php?option=com_contact&task=view&contact_id=3&Itemid=3",
+"http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=phpmyvisites&spell=1",
+"http://siio.free.fr/12_Images3D_2005_001/index.htm",
+"http://www.phpmyvisites.us/",
+"http://philipeau.free.fr/logiciels.htm",
+"http://www.girls-love-shit.com/",
+"http://www.satellitemania.it/",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites.net&meta=",
+"http://www.videoscoop.ch/nature.php",
+"http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.csr.gov.rw/",
+"http://www.google.fr/search?q=statistiques php&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://fr.search.yahoo.com/search?p=statistiques&fr=yfp-t-501&ei=UTF-8&meta=vc%3D",
+"http://anonymouse.org/cgi-bin/anon-www.cgi/http://www.tempsgranollers.com/rss.xml",
+"http://www.phpmyvisites.net/",
+"http://www.phpmyvisites.net/",
+"http://anonymouse.org/cgi-bin/anon-www.cgi/http://www.tempsgranollers.com/rss.xml",
+"http://www.google.es/search?hl=es&newwindow=1&q=php my visit&btnG=B%C3%BAsqueda&meta=lr%3D",
+"http://www.google.fr/search?hl=fr&q=creation de site web gratuit avec free&meta=",
+"http://www.gayfluence.com/index2.php",
+"http://www.phpscripts-fr.net/scripts/script.php?id=2120",
+"http://christophe.papin1.free.fr/cuisiniere.php?page=1&total=27",
+"http://universsimpson.free.fr/ullmanspage.php",
+"http://www.google.fr/search?q=configuration phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:fr:official&client=firefox-a",
+"http://www.rapidojeux.com/",
+"http://www.phpmyvisites.us/",
+"http://www.unopiuuno.ch/",
+"http://www.babylon-x-fr.com/vcount/index.php?site=1&date=2007-03-23&period=1&mod=view_visits",
+"http://www.google.fr/search?hl=fr&q=The server encountered an internal error or misconfiguration and was unable to complete your request.&btnG=Recherche Google&meta=",
+"http://forum.pluxml.org/viewtopic.php?pid=3670",
+"http://stats.pointdecroix.org/phpmyvisites.php",
+"http://www.imageshock.eu/hotovo.php?idcka=69950&klic=st6njip0",
+"http://www.google.be/search?q=download&hl=fr&lr=lang_fr&start=30&sa=N",
+"http://www.justiciaviva.org.pe/phpmyvisites/index.php?part=pages&img=1&stats=1&date=2007-03-24&oldd=2007-03-24&per=1&site=1",
+"http://search.ke.voila.fr/S/orange?rtype=kw&profil=orange&bhv=web_fr&kw= &rdata=jeu pour jouer maintenant gratuit",
+"http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.phwinfo.com/forum/showthread.php?t=1316",
+"http://by139fd.bay139.hotmail.msn.com/cgi-bin/getmsg?msg=274D9F1D-403E-49E1-A79C-9C568CABCFD0&start=0&len=7532&imgsafe=n&curmbox=00000000%2d0000%2d0000%2d0000%2d000000000001&a=3ce4627258ed7575c8d95f64bf4f6b108d8b30c775297517dcfee686fb26e3e0",
+"http://gibsea28.wifeo.com/index.php",
+"http://www.phpmyvisites.net/",
+"http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.moto-site.ru%2F%3Fpg%3D0201|onclick|L8",
+"http://www.closerie-des-sacres.com/accueil.php?page=accueil1&lang=fr",
+"http://www.la-cuisine-marocaine.com/phpmyvisites/index.php?mod=login&error_login=1",
+"http://www.phpmyvisites.net/phpmv2/",
+"http://shoe.free.fr/root.php?target=snap",
+"http://www.phpmyvisites.net/",
+"http://www.jecolorie.com/",
+"http://www.google.fr/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=DVXB,DVXB:2005-27,DVXB:fr&q=php my visite",
+"http://www.borber.com/en/projects/wp2drupal",
+"http://www.fil-en-scene.net/stats/phpmyvisites.php",
+"http://www.cote-dopale.com/statistiques/",
+"http://del.icio.us/search/?all=statistics&page=2",
+"http://www.unilago.com.co/",
+"http://www.offestival.com/contact-fr.html",
+"http://www.google.fr/search?hl=fr&q=telecharger plusieurs langue dans une site %2Bphp&meta=",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.phpmyvisites.us/documentation/Installation",
+"http://www.phpscripts-fr.net/scripts/derniers.php",
+"http://belgant.winetux.be/forums/index.php?act=idx",
+"http://www.phpmyvisites.net/screenshots.html",
+"http://www.phpmyvisites.us/",
+"http://www.logement.com.tn/mvente.htm",
+"http://www.vinternet.net/",
+"http://crok.dockyr.com/",
+"http://www.lorajos.nl/",
+"http://homeomath.imingo.net/pagedr.htm",
+"http://www.tophost.it/aiuto/cat2/15/63/",
+"http://www.guides-webmaster.com/annuaire/",
+"http://www.google.co.ma/search?hl=fr&q=hebergeur my site for free&meta=",
+"http://www.delfiweb.com/v2/",
+"http://www.cuelgatuinvento.com/ideas/modules/news/article.php?storyid=113",
+"http://www.radioslavonija.hr/program/?o_programu",
+"http://www.mangas.adultes.free.fr/",
+"http://forum.telecharger.01net.com/telecharger/programmation_et_developpement/open_source/outil_gratuit_de_statistiques_de_sites_internet_pour_webmasters-311247/messages-1.html",
+"http://www.phpmyvisites.us/",
+"http://www.kaerwa-all-stars.de/rechts.htm",
+"http://www.google.fr/search?hl=fr&q=statistique site web&btnG=Recherche Google&meta=",
+"http://www.chorus-chanson.fr/HOME2/NUMERO57/dossierBrassens572.htm",
+"http://www.shirtjemeteenmissie.nl/static/index.php?mod=admin_index",
+"http://www.phpmyvisites.net/etudes-de-cas.html",
+"http://www.google.co.ma/search?hl=fr&q=logiciel gratuit&meta=",
+"http://www.fnar-tounes.com/sitemap.php",
+"http://www.11vm-serv.net/index.php?p=domregister",
+"http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&q=Fatal error%3A Call to undefined function&btnG=Rechercher&meta=lr%3Dlang_fr",
+"http://proxyjoint.com/Y29t/ZGdhbWVza3k/d3d3/aHR0cDovL3d3dy5kZ2FtZXNreS5jb20vY2hlY2tvdXRfcGF5bWVudC5waHA/69/0/",
+"http://blog.bretagne-balades.org/index.php/",
+"http://www.framasoft.net/article2101.html",
+"http://www.google.fr/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=GGLJ,GGLJ:2006-40,GGLJ:fr&q=phpmyvisites",
+"http://www.unilago.com.co/",
+"http://www.google.ca/search?hl=fr&q=statistiques site web&btnG=Recherche Google&meta=",
+"http://wars-world.fr/login.php",
+"http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fal-kanz.org%2Fblog%2F|onclick|L0",
+"http://news.itoncc.com/MingPao/eaindex.htm",
+"http://yanael.com/",
+"http://www.google.com/search?hl=en&rls=SUNA,SUNA:2006-13,SUNA:en&q=related:www.platinium-ca.com/nice.htm",
+"http://search.live.com/results.aspx?q=undefined&first=31&FORM=PERE3",
+"http://www.neutrinium238.com/tutoriaux/photoshop/utiliser_outil_plume.html",
+"http://www.scat-hell.com/",
+"http://search.ke.voila.fr/S/orange?rtype=kw&profil=orange&bhv=web_fr&rdata=GRATUIT&logid=1533300001174789477883674&keap=68&prevnbans=11&ap=8",
+"http://www.google.fr/search?hl=fr&q=simsun.ttc download&meta=",
+"http://www.webview360.com/room?room=165399",
+"http://www.zone-webmasters.net/scripts-php-41.php",
+"http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=mesure d%27audience&spell=1",
+"http://www.mercy-mercy.com",
+"http://www.xxxpass.se/",
+"http://www.phpmyvisites.net/",
+"http://www.google.ca/search?hl=en&q=phpMyVisites&meta=",
+"http://www.google.fr/search?hl=fr&rls=GGLJ,GGLJ:2006-29,GGLJ:fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=php my visite&spell=1",
+"http://foro.powers.cl/viewtopic.php?t=190228&sid=44b527252cd76e00ec9da17a102b0bda",
+"http://www.thediary.org/coleo",
+"http://www.girls-love-shit.com/",
+"http://didier-ott.no-ip.org/public/genea/cousins/diff/diff%20Files/doc6905.htm",
+"http://www.google.fr/search?hl=fr&q=statistique visite en PHP rapide&btnG=Rechercher&meta=",
+"http://seznamka.uzdroje.cz/",
+"http://www.google.fr/search?sourceid=navclient&aq=t&hl=fr&ie=UTF-8&rlz=1T4HPEB_frFR214FR214&q=erreur 500",
+"javascript:Defcat(live)",
+"http://imagelatente.ernestotimor.com/pages/ym-houses_11b.html",
+"http://www.google.fr/search?hl=fr&q=PHPMyVisites&btnG=Recherche Google&meta=lr%3Dlang_fr",
+"http://news.itoncc.com/MingPao/jaindex.htm",
+"http://www.tosdn.com/script/script.php?sid=2622&scat=23",
+"http://www.bswr.de/Fauna/Wanderfalke/OB_live1.htm",
+"http://linux.tlk.fr/games/Powermanga/screenshots/",
+"http://msdgmedia.free.fr/PagesNews/PageNews.html",
+"http://www.dotclear.net/forum/viewtopic.php?id=26210",
+"http://www.phpscripts-fr.net/scripts/script.php?id=2120",
+"http://szex.szextra.hu/cikk/?r=1",
+"http://www.startrek-voyager.nl/voyager/dek1.htm",
+"http://www.svenalbert.de/24-0-meine-gedanken.html",
+"http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&meta=",
+"http://siscalocca.org/blog/index.php",
+"http://search.ke.voila.fr/S/orange?rtype=kw&profil=smart&bhv=web_fr&kw= &rdata=moteurs de recherches",
+"http://www.phpmyvisites.us/requirements.html",
+"http://www.roi-president.com/galerie/pages/Cardinal_de_Richelieu.htm",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://e.bardiau.free.fr/bonheur.html",
+"http://www.phpmyvisites.net/forums/index.php/t/1328/0/",
+"http://www.geraldlevanchau.com/stat/index.php?site=1&date=2007-03-24&period=1&mod=view_source",
+"http://www.asap-provence.fr/?get=Links&do=top-rank",
+"http://www.google.fr/search?hl=fr&q=logiciel pour creer des site internet gratuit avec exemple&meta=",
+"http://www.meteo.lt/oru_prognoze.php",
+"http://meshlab.sourceforge.net/phpmv2/index.php?site=1&period=1&mod=view_referers&date=2007-03-22",
+"http://www.icaformation.fr/Presentation.php",
+"http://search.ke.voila.fr/S/orange?sev=&rtype=kw&profil=orange&bhv=web_fr&rdata=SOUMETTRE UN SITE%2BORANGE&submit.x=32&submit.y=5",
+"http://www.google.cn/search?q=CV de statistique&complete=1&hl=zh-CN&inlang=zh-CN&newwindow=1&client=aff-5566&channel=searchbutton2&hs=z7h&affdom=5566.net&start=40&sa=N",
+"http://www.phpmyvisites.net/phpmv2/index.php?site=1&date=2007-03-24&period=1&mod=view_visits",
+"http://www.phpmyvisites.net/phpmv2/index.php?site=1&date=2007-03-24&period=1&mod=view_pages",
+"http://membres.lycos.fr/ecrausaz/?",
+"http://www.commentcamarche.net/forum/affich-1081477-adresse-ip-visiteur",
+"http://www.phpmyvisites.net/forums/index.php/t/3252/0/",
+"http://www.phpmyvisites.net/documentation/Accueil",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.phpmyvisites.net/",
+"http://www.framasoft.net/article2101.html",
+"http://www.framasoft.net/article2101.html",
+"http://www.phpmyvisites.net/",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.phpmyvisites.net/documentation/Accueil",
+"http://www.phpmyvisites.net/documentation/Accueil",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.phpmyvisites.net/",
+"http://www.framasoft.net/article2101.html",
+"http://www.lust-and-cross.com/",
+"http://frank.albrecht.free.fr/gestclasse_v7/index.php?page=accueil",
+"http://www.tendanceouest.com/radiolive.htm",
+"http://www.delfiweb.com/v2/",
+"http://www.pieces-auto-export.com/casse_auto_Aunis.php",
+"http://www.lavillat.com/news.php",
+"http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=13&topic=24403",
+"http://forums.wifeo.com/viewtopic.php?t=4997",
+"http://www.webmaster-experience.net/",
+"http://www.malta.poznan.pl/",
+"http://www.controlcomp.eu/webstat/demo",
+"http://www.google.fr/search?sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2006-22,GGGL:fr&q=lettre pour logo",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&meta=",
+"http://www.linuxorable.fr/croquerrant/phpmyvisit/phpmyvisites.php",
+"http://www.google.fr/search?hl=fr&rls=GGIH,GGIH:2007-02,GGIH:fr&q=related:www.tele2.fr/",
+"http://www.lapalousey.com/agence_cav4.php?select=3&n=3",
+"http://www.lapalousey.com/agence_cav2.php?select=3&n=3&cat=1",
+"http://perso.orange.fr/amp-racing/cadre/contenu.htm",
+"http://www.google.fr/custom?q=fonctionnement de debug&hl=fr&oe=ISO-8859-1&client=pub-3703351194586770&channel=1361273120&cof=FORID:1%3BGL:1%3BLBGC:336699%3BLC:%230000ff%3BVLC:%23663399%3BGFNT:%230000ff%3BGIMP:%230000ff%3BDIV:%23336699%3B&domains=french.ircfast.com&start=20&sa=N",
+"http://www.mycodes.net/soft/6536.htm",
+"http://www.kolucci.ru/",
+"http://www.google.fr/search?hl=fr&q=outil stats php mysql &meta=",
+"http://www.phpmyvisites.net/",
+"http://search.ke.voila.fr/S/orange?rtype=kw&profil=orange&bhv=web_fr&kw= &rdata=dictionnaire gratuit",
+"http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=",
+"http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=",
+"http://aqua.lorca.free.fr/poissons.php3",
+"http://www.phpmyvisites.net/forums/index.php/t/2593/0/",
+"http://www.controlcomp.eu/webstat/demo",
+"http://www.dhammadana.org/dhamma/3_caracteristiques.htm",
+"http://www.phpmyvisites.us/",
+"http://aj.garcia.free.fr/index10.htm",
+"http://www.hotel-post-nesselwang.de/inh_home.htm",
+"http://www.sex974.com/videocochon.php",
+"http://www.siteporno.be/stats/index.php?mod=login",
+"http://www.rouen.fr/vousetes/touriste",
+"http://www.phpmyvisites.net/",
+"http://www.google.fr/search?hl=fr&q=phpMyVisites&btnG=Rechercher&meta=cr%3DcountryFR",
+"http://cgpa64.free.fr/bdd/base.php",
+"http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=cr%C3%A9er un logiciel de jeu entierement gratuit&spell=1",
+"http://delmotte.brice.free.fr/heol/maisonautonome/electricite.php",
+"http://www.google.fr/search?q=oscommerce&hl=fr&lr=lang_fr&start=40&sa=N",
+"http://xcell05.free.fr/pages/divers/index.html",
+"http://www.google.it/search?hl=it&client=firefox-a&channel=s&rls=org.mozilla%3Ait%3Aofficial&hs=fSj&q=phpmyvisits&btnG=Cerca&meta=",
+"http://www.balsa-composites.com/",
+"http://msdgmedia.free.fr/Multimedia/Ge_FeuilleVolante/FeuilleVolanteComplet.htm",
+"http://www.starclubbing.com/component/option,com_zoom/Itemid,31/",
+"http://www.futureadvertising.net/",
+"http://www.google.fr/search?hl=fr&q=logiciel libre cr%C3%A9ation site web &meta=",
+"http://www.phpmyvisites.net/",
+"http://www.phpmyvisites.net/",
+"http://www.google.fr/search?q=logiciel gratuit&hl=fr&client=firefox-a&channel=s&rls=org.mozilla:fr:official&hs=qxj&start=10&sa=N",
+"http://www.google.fr/search?hl=fr&q=PHP Fatal error%3A Call to undefined function &btnG=Rechercher&meta=",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=Call to undefined function%3A imagecreatefrompng%28%29 easyphp&meta=&btnG=Recherche Google",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=Call to undefined function%3A imagecreatefrompng%28%29 easyphp&meta=&btnG=Recherche Google",
+"http://vauv.net/index.php",
+"http://planetenat2.free.fr/apljav/applets_java.htm",
+"http://www.lascholastique.fr/stats/phpmyvisites.php",
+"http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=traduire en espagnol %22il faut que%22&spell=1",
+"http://www.lessymboles.com/article_maladieschroniques.htm",
+"http://www.phpmyvisites.net/phpmv2/",
+"http://zerod.info/videos/",
+"http://by140fd.bay140.hotmail.msn.com/cgi-bin/getmsg?msg=FD8E5F4E-1F13-4322-AC97-82AB6D74FDB8&mfs=&_HMaction=move&tobox=00000000-0000-0000-0000-000000000002&direction=next&wo=&curmbox=00000000%2d0000%2d0000%2d0000%2d000000000001&a=946d46e12e9c2bbdf47228e3483f2962a4c2c7622e3139d82e3a8f498e6c108f",
+"http://www.google.fr/search?hl=fr&q=documentation logiciel statistique&meta=",
+"http://laville.respublicae.org/eng/thecity.htm",
+"http://www.phpmyvisites.net/etudes-de-cas.html",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.phpscripts-fr.net/scripts/scripts.php?cat=Statistiques&deb=10&tri=NOM&sens=ASC",
+"http://www.phpmyvisites.us/",
+"http://www.google.be/search?hl=fr&q=site php my sql gratuit&meta=",
+"http://www.fengshui.antylicho.pl/miejsca-mocy/",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Rechercher&meta=",
+"http://search.ke.voila.fr/S/orange?sev=&rtype=kw&profil=orange&bhv=web_fr&rdata=dictionnaire gratuit",
+"http://toubibs.free.free.fr/index2.php?page=Votre%20ordinateur&menu=Votre%20ordinateur",
+"http://www.google.com/search?client=opera&rls=en&q=open source web analytic&sourceid=opera&ie=utf-8&oe=utf-8",
+"http://fr.google.mozilla.com/search?q=site de telechargement gratuit et rapide&hl=fr&lr=&start=10&sa=N",
+"http://www.google.com/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=SUNA,SUNA:2007-12,SUNA:fr&q=telecharger net stats",
+"http://www.lagratte.net/index.php?error=404",
+"http://www.google.fr/search?q=installer javascript&hl=fr&start=10&sa=N",
+"http://www.educlasse.ch/",
+"http://www.sacaboulons.com/index.php?lng=fr",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=erreur 500&meta=&btnG=Recherche Google",
+"http://www.frxoops.org/modules/newbb/viewtopic.php?topic_id=20495&forum=12",
+"http://search.free.fr/google.pl",
+"http://mon-evenement.com/annuaire/annuaire_des_prestataires/fiche_prest.php?id_annu_prest=2990&cp=91100&submit=4",
+"http://209.85.129.104/search?q=cache:z-1yaW4CGjAJ:svt.ac-dijon.fr/dyn/article.php3%3Fid_article%3D62 ministere education nationale DP%26D svt coll%C3%A8ge&hl=fr&strip=1",
+"http://tropics-l.nuxit.net/lin%e9/Comming%20Soon%20-%20Lin%e9arts.net.htm",
+"http://localhost/essai/phpmyvisites_2_2/phpmv2/index.php?site=1&date=2007-03-24&period=1&mod=view_visits",
+"http://universsimpson.free.fr/itchyscratchy.php",
+"http://www.google.fr/search?q=php my visit&ie=utf-8&oe=utf-8&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&hs=Kq5&q=joomla mesure d audience&btnG=Rechercher&meta=",
+"http://sd-4869.dedibox.fr/mariage/index.php?option=com_content&task=category&sectionid=1&id=1&Itemid=5",
+"http://www.phpsecure.info/v2/zone/pComment?d=1093902187",
+"http://www.mon-evenement.com/annuaire/annuaire_des_prestataires/fiche_prest.php?submit=7&id_annu_prest=1017&cp=26790",
+"http://www.phpmyvisites.net/",
+"http://www.cri74.org/docs/web/",
+"http://www.google.fr/search?q=The server encountered an internal error or misconfiguration and was unable to complete your request&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.phpmyvisites.net/phpmv2/index.php?site=1&date=2007-03-24&period=1&",
+"http://www.phpmyvisites.net/forums/index.php/t/1302/0/",
+"http://www.google.fr/search?q=phpmyvisit&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:fr:official&client=firefox-a",
+"http://weblog.photos.free.fr/dotclear/index.php?General",
+"http://www.webrankinfo.com/forums/viewtopic_45017.htm",
+"http://www.jetelecharge.com/Scripts/530.php",
+"http://www.google.fr/search?hl=fr&q=telecharger logiciel gratuit pour sites pour creation de site web&btnG=Recherche Google&meta=",
+"http://www.roseindia.net/software-technology-news/software-news.jsp?newsid=3503",
+"http://perso.numericable.fr/~penieric/",
+"http://www.google.com/search?hl=fr&q=logiciel de creation de calendrier en php&lr=",
+"http://forum.pctuning.cz/viewforum.php?f=52",
+"http://search.ke.voila.fr/S/voila?profil=voila&bhv=web_fr&rdata=google%20images",
+"http://www.phpmyvisites.net/",
+"http://www.fhs-ecommerce.nl/custom.php",
+"http://www.phpmyvisites.net/forums/index.php/t/1341/0/",
+"http://www.google.fr/search?hl=fr&q=free web&btnG=Rechercher&meta=lr%3Dlang_fr",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr-FR%3Aofficial&channel=s&hl=fr&q=fput %2B socket&meta=&btnG=Recherche Google",
+"http://www.php-open.com/open191424.htm",
+"http://www.google.fr/custom?hl=fr&ie=ISO-8859-1&oe=ISO-8859-1&client=pub-6180957820147812&cof=FORID%3A1%3BGL%3A1%3BL%3Ahttp%3A%2F%2Fwww.amipclub.com%2Fnavlogo.png%3BLH%3A35%3BLW%3A100%3BLBGC%3A336699%3BLP%3A1%3BLC%3A%230066cc%3BVLC%3A%23663399%3BGFNT%3A%23e1771e%3BGIMP%3A%23e1771e%3BDIV%3A%23336699%3B&q=logiciel cr%E9ation site internet test&meta=",
+"http://aj.garcia.free.fr/index10.htm",
+"http://question.com/What/de/you/want/to/know/my/referer?",
+"http://www.phpmyvisites.net/forums/index.php/t/1302/0/",
+"http://www.phpmyvisites.net/",
+"http://www.adresse-ip.net/adresse-ip-complet2.php",
+"http://www.phpmyvisites.net/",
+"http://www.phpmyvisites.net/fonctionnalites.html",
+"http://controlcomp.eu/webstat/demo",
+"http://www.narodnjaci-mp3.cro-windows-vista.info/-Legende-Slagera-Muzika-grada-mog-2-17-Hej-sta-je-s-vama-ljudi.MP3.php",
+"http://www.narodnjaci-mp3.cro-windows-vista.info/64-Budjenje---Sve-da-hocu.mp3.php",
+"http://saggerboys.com/",
+"http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=",
+"http://www.google.co.ma/search?hl=en&q=creation gratuite de site",
+"http://www.phpscripts-fr.net/scripts/script.php?id=2120",
+"http://www.google.fr/custom?domains=phpmyvisites.net&q=WWW&sa=Recherche&sitesearch=phpmyvisites.net&client=pub-4902541541856011&forid=1&ie=ISO-8859-1&oe=ISO-8859-1&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID%3A1%3B&hl=fr",
+"http://www.google.fr/search?hl=fr&q=related:perso.orange.fr/sos.derivesectaire/ARCHIVES%25202003.htm",
+"http://www.webdrole.com/histoire_drole/Sexe_&_cochon/Sexe_&_cochon01.htm",
+"http://www.commentcamarche.net/forum/affich-1081477-adresse-ip-visiteur",
+"http://www.google.fr/search?hl=fr&q=phpmy visites&btnG=Rechercher&meta=",
+"http://7ii7.net/j/",
+"http://www.google.fr/search?hl=fr&q=phpmv2 &btnG=Rechercher&meta=lr%3Dlang_fr",
+"http://aj.garcia.free.fr/index1.htm",
+"http://www.google.com/search?q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+"http://www.google.com/search?hl=fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=http://www.phpmyvisites.net&spell=1",
+"http://search.ninemsn.com.au/results.aspx?q=download chinese simplifie&geovar=3025&FORM=REDIR",
+"http://www.google.fr/search?hl=fr&q=ins%C3%A9rer du java&meta=",
+"http://www.revolutionsoundrecords.org/punbb/viewtopic.php?pid=13077",
+"http://rnaud.net/",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=php my visites&meta=&btnG=Recherche Google",
+"http://www.google.fr/search?hl=fr&q=php my visites&btnG=Recherche Google&meta=",
+"http://www.google.fr/search?q=web statistics open source&ie=utf-8&oe=utf-8&rls=org.debian:en-US:unofficial&client=firefox-a",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&meta=",
+"http://www.phpmyvisites.net/documentation/Accueil",
+"http://www.21andy.com/blog/20050821/11.html",
+"http://www.rouen.fr/breve/3684-carnavaldesenfants",
+"http://www.aolrecherche.aol.fr/aol/search?enc=iso&p=lb&q=DEMO",
+"http://www.phpmyvisites.net/",
+"http://www.google.fr/search?q=maximum execution time&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:fr:official",
+"http://www.phpmyvisites.net/phpmv2/index.php?site=1&date=2007-03-24&period=1&mod=view_source",
+"http://dolycho.free.fr/zenphoto/",
+"http://www.google.fr/search?hl=fr&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=statistiques mots cl%C3%A9s sur Internet &spell=1",
+"http://www.phpmyvisites.net/",
+"http://www.mycodes.net/soft/6536.htm",
+"http://www.joomlafrance.org/8/32.html",
+"http://www.tophost.it/aiuto/cat2/15/63/",
+"http://www.phpmyvisites.us/",
+"http://groups.google.fr/group/developpeur/web/applications-php",
+"http://www.ddrbordeaux.com/Site/Galerie/DDRBordeauxGL05/DDRBordeauxGL05.html",
+"http://www.google.com/search?hl=fr&rls=GGLG,GGLG:2005-45,GGLG:fr&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=logiciel gestion de sites gratuit&spell=1",
+"http://www.raleigh-northcarolina.biz/search/Agriculture.html",
+"http://www.google.com/search?hl=en&q=related:perso.orange.fr/lelogisdantan/",
+"http://www.google.fr/search?q=faire un chmod&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.forum-marketing.com/-t-1685-0.html",
+"http://mrfou.ath.cx/palune/",
+"http://www.pokerhouse.co.uk/virutal.html",
+"http://www.phpmyvisites.net",
+"http://www.cmsps.cz/vedeni-skoly",
+"http://allez-stade-de-reims.wifeo.com/calendrier.php",
+"http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&q=creation d un site web simple et gratuit&btnG=Rechercher&meta=",
+"http://www.google.com/search?hl=fr&q=phpMyVisites 2.2 mise a jour&btnG=Rechercher&lr=",
+"http://linearts.net/forums/index.php?showtopic=1256",
+"http://www.pieces-auto-export.com/autos_occasion_autos_accidentees.php",
+"http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla:fr:official&hs=aG8&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=compatibilit%C3%A9 php5&spell=1",
+"http://www.mywaysites.info/T4_0_2/index.php?id=132",
+"http://www.planetenergie.org/article.php3?id_article=486",
+"http://binarylook.net/2007/03/kak-prodvigat-open-source/",
+"http://patatorandco.free.fr/?page=liens",
+"http://www.schnouki.net/post/2007/01/15/Plugin-phpMyVisites-pour-DotClear-2-52",
+"http://besttrader.free.fr/pub/Linux_Debian_on_AMILO_Si_1520/index.html",
+"http://www.prepaidlegal.com/",
+"http://www.phpmyvisites.net/fonctionnalites.html",
+"http://babelfish.altavista.com/babelfish/trurl_pagecontent?lp=fr_en&url=http%3A%2F%2Fwww.altersystems.fr%2FProduits-Joomla.Extensions-phpMyVisites.Tracker.html",
+"http://sex-sensuality.com/",
+"http://www.narodnjaci-mp3.cro-windows-vista.info/Narodni-MEGAMIX-2001-ala-Cika-DejOO.php",
+"http://search.ke.voila.fr/S/orange?rtype=kw&profil=orange&bhv=web_fr&kw= &rdata=english",
+"http://aj.garcia.free.fr/Livret9/PageGardeLivret9.htm",
+"http://www.phpmyvisites.net/forums/index.php/t/1302/0/",
+"http://www.phpmyvisites.us/documentation/Main_Page",
+"http://www.phpmyvisites.net/",
+"http://www.phpmyvisites.net/",
+"http://www.google.fr/search?q=logiciel de creation de site en php&hl=fr",
+"http://fr.search.yahoo.com/search?ei=UTF-8&p=logiciel gratuit&meta=vl%3D&ybs=0&fl=1&vl=&pstart=1&fr=slv7-&b=21",
+"http://www.phpmyvisites.net/forums/index.php/t/1727/0/",
+"http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.ladsdate.net%2F|onclick|L0",
+"http://www.rochebuffere.com/",
+"http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=RNWE,RNWE:2004-53,RNWE:en&q=statistiques recherches internet",
+"http://www.google.fr/search?hl=fr&q=stats sites &meta=",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&meta=",
+"http://theglu.tuxfamily.org/index.php/post/2007/01/05/Aidez-la-recherche-avec-les-resources-inutilisees-de-votre-pc-boinc-world-community-grid-fightaids",
+"http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.paysage-photo.ch%2F|onclick|L7",
+"http://autoimage.autoweb.cz/audi/index.htm",
+"http://www.easy-script.com/script.php?c=php&sc=stat&ord=click",
+"http://www.google.fr/search?hl=fr&q=configurer le temp d%27un cookie &meta=",
+"http://www.google.fr/search?hl=fr&q=lettre de augmentation graduit&btnG=Recherche Google&meta=",
+"http://etablissements.ac-amiens.fr/0601188r/ecrire/?exec=admin_plugin",
+"http://www.phpscripts-fr.net/scripts/derniers.php",
+"http://universsimpson.free.fr/itchyscratchy.php",
+"http://www.phpbank.net/description.php?id=1270",
+"http://www.forzamotorsport2.fr/recherche/google-demo.html",
+"http://www.apprendre-en-ligne.net/blog/index.php",
+"http://www.google.fr/search?q=comparaison google analytics et xiti&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_frFR210FR210",
+"http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=",
+"http://www.skunk.powa.fr/shadow/login.php",
+"http://www.phpscripts-fr.net/scripts/scripts.php?cat=Statistiques&deb=10&tri=NOM&sens=ASC",
+"http://216.239.59.104/search?q=cache:-TzFlx2Y6p8J:www.scienceetviejunior.fr/svj.php%3FrubriqueSvj%3Dindex-gratuit-article%255Camp%3Bid_article%3D1206 science et vie junior&hl=fr&strip=1",
+"http://www.google.fr/search?sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2006-39,GGGL:fr&q=phpmyvisites",
+"http://www.phpmyvisites.net/",
+"http://www.phpmyvisites.net/",
+"http://www.duplication-video.com/supports-video.html",
+"http://www.google.fr/search?sourceid=navclient&aq=t&hl=fr&ie=UTF-8&rlz=1T4GFRG_frMA215MA215&q=t%c3%a9l%c3%a9charger logiciel nintendo ds",
+"http://www.google.fr/search?sourceid=navclient&aq=t&hl=fr&ie=UTF-8&rls=GGLG,GGLG:2005-39,GGLG:fr&q=phpmyvisits",
+"http://www.idbleues.com/catalogue-materiel.php",
+"http://dadoun.net/",
+"http://rcma.free.fr/escort/2004.htm",
+"http://www.google.ca/search?hl=fr&q=stats site web&btnG=Rechercher&meta=",
+"http://www.google.fr/search?hl=fr&rlz=1T4ADBR_frFR212FR212&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=phpmyvisites&spell=1",
+"http://cmkh.net/?q=user/1",
+"http://www.souvenirducameroun.com/productssimple.html",
+"http://www.epochtimes.com.ua/",
+"http://www.google.fr/search?hl=fr&rlz=1T4GFRB_frFR206FR207&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=wiki licence application web&spell=1",
+"http://www.pasdagence.com/",
+"http://www.google.fr/search?hl=fr&q=The server encountered an internal error or misconfiguration and was unable to complete your request.&btnG=Recherche Google&meta=",
+"http://www.gea-erge.fr/",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&meta=",
+"http://szex.szextra.hu/index.php",
+"http://www.google.fr/search?q=mesure audience site&hl=fr&rls=GGLG,GGLG:2006-10,GGLG:fr&start=10&sa=N",
+"http://akatsuki.kurai.free.fr/site.php",
+"http://tw.search.yahoo.com/search?fr=fp-tab-web-t&ei=UTF-8&p=phpMyVisites",
+"http://www.google.com/search?client=safari&rls=en&q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.google.fr/search?hl=fr&rls=GGIC,GGIC:1970--2,GGIC:fr&q=related:www.free.fr/",
+"http://www.google.fr/search?hl=fr&q=related:perso.orange.fr/resistances/lactonlesap/index.htm",
+"http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=13&topic=24403",
+"http://universsimpson.free.fr/ullmanspage.php",
+"http://www.google.fr/search?hl=fr&q=demande emploi mise %C3%A0 jour site internet&btnG=Rechercher&meta=lr%3Dlang_fr",
+"http://www.juggletube.com/",
+"http://www.google.com/search?hl=fr&client=safari&rls=fr&q=statistique internet gratuit&btnG=Rechercher&lr=",
+"http://www.google.com/search?q=www.free.fr coppermine &rls=com.microsoft:fr:IE-SearchBox&ie=UTF-8&oe=UTF-8&sourceid=ie7&rlz=1I7SKPB",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.agilav.fr/DepartementReconditionnement.html",
+"http://www.phpmyvisites.us/",
+"http://www.google.com/search?hl=fr&q=statistiques site&lr=lang_fr",
+"http://www.librairie-portugaise.com/",
+"http://www.raleigh-northcarolina.biz/search/Slippage.html",
+"http://blog-perso.onzeweb.info/2006/05/06/wordpress-phpmyvisites-10/",
+"http://starclubbing.com/",
+"http://www.gastonspectacles.com/?gclid=COve_eGmkIsCFQIvlAodV2mvSQ",
+"http://www.phpmyvisites.net/forums/index.php/t/2677/0/",
+"http://www.google.com/search?client=safari&rls=fr&q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+"http://search.ke.voila.fr/S/orange?rtype=kw&profil=smart&bhv=web_fr&rdata=GOOGLE&logid=2354200001174838174938809&keap=28&prevnbans=10&ap=4",
+"http://universsimpson.free.fr/ullmanspage.php",
+"http://iut-rcc.univ-reims.fr/accueil.php?menu=5&lang=fr",
+"http://www.industriespionage.net/main/?page_id=4",
+"http://www.ethicall-telecom.fr/ect_webcount/",
+"http://www.google.co.ma/search?hl=fr&q=creer un sites web gratuit&meta=",
+"http://www.phpmyvisites.net/forums/index.php?t=rview&goto=13676",
+"http://www.google.com/search?client=opera&rls=en&q=phpmyvisites&sourceid=opera&ie=utf-8&oe=utf-8",
+"http://127.0.0.1/www.info-distrib.fr/?sct=liste&url=carte_mere.htm",
+"http://www.google.ch/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=6Y&q=statistiques web&btnG=Rechercher&meta=",
+"http://www.google.fr/search?sourceid=navclient&aq=t&hl=fr&ie=UTF-8&rls=GFRD,GFRD:2007-09,GFRD:fr&q=phpmyvisits",
+"http://www.nuitpourpre.net/leblog/index.php/?q=",
+"http://www.sex974.com/goodies.php",
+"http://beet.ddl.free.fr/index.php?id=05",
+"http://sex974.com/abonnement.php",
+"http://www.revolunet.com/sites.utiles.asp?Toutes-Statistiques%20PHP/MySQL",
+"http://www.phpmyvisites.net/",
+"http://www.opensourcescripts.com/dir/PHP/Web_Traffic_Analysis/297.html",
+"http://www.google.com/search?sourceid=gmail&q=phpmyvisites",
+"http://www.google.es/search?hl=es&q=download simsun.ttc&btnG=B%C3%BAsqueda&meta=",
+"http://www.raleigh-northcarolina.biz/search/May.html",
+"http://cm5.free.fr/index.htm",
+"http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=ps&q=php my stat&btnG=Rechercher&meta=",
+"http://www.gsm-wifi.net/index.php?option=com_frontpage&Itemid=1",
+"http://search.msn.fr/results.aspx?q=logiciel gratuit&FORM=MSN6B&lang=fr-fr&cp=1252",
+"http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=fJq&q=stats phpmyvisite&btnG=Rechercher&meta=",
+"http://www.google.com/search?client=safari&rls=fr-fr&q=php statistics&ie=UTF-8&oe=UTF-8",
+"http://www.google.com/search?hl=fr&q=d%C3%A9mo&btnG=Recherche Google&lr=",
+"http://ebw2.be/Saint-Joseph_Tubize/STJoseph.html",
+"http://www.phpmyvisites.net/phpmv2/",
+"http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=aNq&q=php typer les m%C3%A9thodes int string&btnG=Rechercher&meta=",
+"http://www.google.com/search?client=opera&rls=en&q=phpmyvisites&sourceid=opera&ie=utf-8&oe=utf-8",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.castelpourpre.com/maison.html",
+"http://www.castelpourpre.com/maison.html",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=phpmv2&meta=&btnG=Recherche Google",
+"http://www.google.fr/search?q=SCRIPT STATISTIQUE&hl=fr&pwst=1&start=10&sa=N",
+"http://www.antennereunion.fr/rubrique.php3?id_rubrique=41&debut_page=432",
+"http://www.phpmyvisites.net/",
+"http://www.0-8.biz/",
+"http://www.kess.snug.pl/",
+"http://www.google.ch/search?q=statistiques gratuites site web&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:fr:official",
+"http://www.google.fr/search?hl=fr&q=tout les site gratuit logiciel&btnG=Recherche Google&meta=",
+"http://www.phpmyvisites.us/",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=phpmyvisites&meta=&btnG=Recherche Google",
+"http://www.animal-virtuel.com/stats/phpmyvisites.php",
+"http://www.fruits-basket-temple.com/index.php?section=anime",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&meta=",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&meta=",
+"http://www.pilarcanalda.com/inici/index.php",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.google.com/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&lr=",
+"http://www.phpmyvisites.us/",
+"http://www.phpmyvisites.net/",
+"http://www.phpmyvisites.net/",
+"http://www.google.com/search?hl=fr&q=PhpMyVisit&btnG=Rechercher&lr=lang_fr",
+"http://info-afrique.be/",
+"http://www.jazzentete.com/",
+"http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.annuaire-telephone-portable.com%2Fsat%2Fdetection.php|onclick|L0",
+"http://www.phpmyvisites.net/forums/index.php/t/2613/0/",
+"http://www.google.fr/search?hl=fr&q=logiciel gratuit open source&meta=",
+"http://www.phpmyvisites.us/",
+"http://spiritangeldesign.free.fr/index.php?p=credit",
+"http://generation1.free.fr/rubriques.htm",
+"http://www.google.fr/search?hl=fr&q=outil informatique et statistique&btnG=Recherche Google&meta=",
+"http://www.commentcamarche.net/forum/affich-2802486-hebergement-et-statistiques-de-visites",
+"http://www.google.be/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=phpmyvisites&meta=&btnG=Recherche Google",
+"http://www.phpmyvisites.net/forums/index.php/t/1497/0/",
+"http://www.nili.be/",
+"http://www.google.com/search?hl=fr&client=safari&rls=fr&q=statistiques php&btnG=Rechercher&lr=",
+"http://www.parisrandovelo.com/forum/viewtopic.php?t=605&start=15",
+"http://www.google.fr/search?hl=fr&q=demo&btnG=Recherche Google&meta=cr%3DcountryFR",
+"http://natation.privas.dyndns.org/modules/intro_cnp/",
+"http://www.phpmyvisites.net/",
+"http://www.digigasin.ch/product_info.php?products_id=2214&osCsid=70959f3746c784495a5032cbb79dbc3d",
+"http://msdgmedia.free.fr/Multimedia/DessinerPlume/index.htm",
+"http://msdgmedia.free.fr/Multimedia/DessinerPlume/index.htm",
+"http://fr.ask.com/web?q=gratuit&l=dir&o=1124",
+"http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&hs=r2q&q=fichier contenant les sites visit%C3%A9s&btnG=Rechercher&meta=",
+"http://www.lorajos.nl/",
+"http://www.rugby13montpellier.com/shop.php",
+"http://www.beautediscount.com/",
+"http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&q=php site web&btnG=Rechercher&meta=",
+"http://www.forum-newbeetle.fr/",
+"http://france.catsfamily.net/main/coupsdecoeur.html",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&btnG=Recherche Google&meta=",
+"http://www.phpscripts-fr.net/scripts/derniers.php",
+"http://generation1.free.fr",
+"http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=kwB&q=free statistiques&btnG=Rechercher&meta=cr%3DcountryFR",
+"http://www.google.fr/search?hl=fr&q=tout les site gratuit logiciel&btnG=Recherche Google&meta=",
+"http://forum.tvsport.ro//index.php?s=d2589da3f1f7173e22d695934e8fe0f4&act=Forward&f=92&t=2053",
+"http://www.google.fr/search?hl=fr&q=creation site libre OR open source&btnG=Rechercher&meta=",
+"http://www.phpmyvisites.net/forums/index.php/t/1302/0/",
+"http://www.google.fr/search?q=unable open&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.google.fr/search?hl=fr&q=statistiques sites&meta=",
+"http://www.phpmyvisites.us/requirements.html",
+"http://www.phpmyvisites.us/",
+"http://www.satellitemania.it/",
+"http://www.google.com.tr/search?hl=tr&q=phpmyvisites&meta=",
+"http://www.phpmyvisites.us/",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=d%C3%A9mo &meta=&btnG=Recherche Google",
+"http://www.google.fr/search?sourceid=navclient&hl=fr&ie=UTF-8&rlz=1T4GGIC_frFR215&q=demo",
+"http://www.amnestyinternational.be/shopping/page_101.php",
+"http://www.google.fr/search?hl=fr&q=phpmv2&meta=",
+"http://www.google.fr/custom?hl=fr&ie=ISO-8859-1&oe=ISO-8859-1&client=pub-4902541541856011&cof=FORID%3A1%3BGL%3A1%3BLBGC%3A336699%3BLC%3A%230000ff%3BVLC%3A%23663399%3BGFNT%3A%230000ff%3BGIMP%3A%230000ff%3BDIV%3A%23336699%3B&domains=phpmyvisites.net&q=installation&btnG=Rechercher&sitesearch=phpmyvisites.net&meta=",
+"http://www.phpmyvisites.net/",
+"http://www.google.co.ma/search?hl=fr&q=related:search1-1.free.fr/",
+"http://www.google.co.ma/search?hl=fr&q=related:search1-1.free.fr/",
+"http://www.szextra.hu/hir/?id=201&r=5",
+"http://www.google.fr/search?hl=fr&ned=&q=type de serveur utilis%C3%A9 par free&btnmeta%3Dsearch%3Dsearch=Rechercher sur le Web",
+"http://www.canner-evasion.com/",
+"http://universsimpson.free.fr/itchyscratchy.php",
+"http://googeli.dynalias.com/",
+"http://aj.garcia.free.fr/index10.htm",
+"http://www.google.fr/search?sourceid=navclient&hl=fr&ie=UTF-8&rls=GGIH,GGIH:2006-51,GGIH:fr&q=d%c3%a9mo",
+"http://www.le-phoenix.fr/",
+"http://www.bmcharmilles.fr/fenetres.php?menu=3",
+"http://www.nass-collection.com/visite/index.php?site=1&date=2007-03-24&period=1&mod=view_referers",
+"http://www.neutrinium238.com/tutoriaux/photoshop/index.php?id=3",
+"http://www.phpmyvisites.net/",
+"http://www.annees-laser.com/Page/Boutique/Boutique.aspx",
+"http://www.wifeo.com/membre-actualite.php?article=32-phpmyvisites--statistiques-gratuite",
+"http://www.magalieforever.com/videos/clips.html",
+"http://192.168.1.1/~bureau3/Musica/Musiques.php",
+"http://www.phpmyvisites.us/",
+"http://www.antigone-net.net/index.php?option=com_content&task=section&id=5&Itemid=79",
+"http://www.gonthier-be.com/qui.htm",
+"http://www.deosjuggling.fr/",
+"http://www.google.fr/search?hl=fr&q=communaute de pratique open source&btnG=Rechercher&meta=",
+"http://www.google.com/search?client=safari&rls=fr&q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+"http://www.sex974.com/freetour.php?q=solo",
+"http://blog-perso.onzeweb.info/developpement/wp-phpmyvisites",
+"http://www.google.fr/search?hl=fr&q=related:perso.orange.fr/laurent.cleon/",
+"http://www.google.be/search?q=les sites web les plus visit%C3%A9s&hl=fr&rls=SKPB,SKPB:2006-40,SKPB:fr&start=20&sa=N",
+"http://tourdumonde.cochisette.com/index2.php",
+"http://www.lespaladins.com/fr_accueil.php",
+"http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=13&topic=24403",
+"http://www.google.fr/search?hl=fr&q=getthunderbird.com&btnG=Rechercher&meta=cr%3DcountryFR",
+"http://www.google.com/search?sourceid=navclient&ie=UTF-8&rls=RNWE,RNWE:2004-16,RNWE:en&q=phpmyvisites",
+"http://www.google.fr/search?hl=fr&q=php statistiques&btnG=Recherche Google&meta=",
+"http://www.phpmyvisites.net/forums/index.php/m/15653/0/?srch=mot de passe",
+"http://www.phpmyvisites.us/",
+"http://www.tendanceouest.com/radiolive.htm",
+"http://www.puget-passion.fr/Champignon/lamorille.htm",
+"http://www.google.com/search?client=safari&rls=fr-fr&q=phpmyvisites&ie=UTF-8&oe=UTF-8",
+"http://smmobadix.free.fr/index.php?",
+"http://aide-a-la-navigation.orange.fr/process?key=0019f5a5de969bfa7df5c354e6fa71e7cac",
+"http://www.swalif.net/softs/showthread.php?t=146114",
+"http://fr.search.yahoo.com/search?ei=UTF-8&p=google&meta=vl%3D&ybs=0&fl=1&vl=&pstart=1&fr=logout&b=61",
+"http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=9GD&q=phpmyvisites&btnG=Rechercher&meta=",
+"http://www.google.fr/search?hl=fr&client=firefox-a&channel=s&rls=org.mozilla%3Afr%3Aofficial&hs=nds&q=Unable to open &btnG=Rechercher&meta=",
+"http://search.live.com/results.aspx?q=logiciel gratuit&mkt=fr-fr&FORM=LIVSOP&go.x=0&go.y=6",
+"http://www.furia-metal.com/",
+"http://www.posicionanet.com/garantias.html",
+"http://sos.primavista.net/Mail-Senden.93.0.html",
+"http://www.poeta.cz/",
+"http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=13&topic=24403",
+"http://localhost/",
+"http://www.google.fr/search?q=phpmyvisits&sourceid=navclient-ff&ie=UTF-8&rlz=1B2GGGL_frFR207FR207",
+"http://www.google.com/search?q=php nuke tracker&rls=com.microsoft:fr-ca&ie=UTF-8&oe=UTF-8&startIndex=&startPage=1",
+"http://www.stumbleupon.com/refer.php?url=http%3A%2F%2Fwww.phpmyvisites.net%2F",
+"http://www.lenautilus.net/nautilusgb/galerie.html",
+"http://www.google.fr/search?hl=fr&q=logiciel visite site internet&meta=lr%3Dlang_fr",
+"http://universsimpson.free.fr/ullmanspage.php",
+"http://www.google.fr/search?hl=fr&rlz=1T4GFRG_frFR212FR212&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=h%C3%A9bergement sur free&spell=1",
+"http://www.google.com/search?hl=en&safe=off&client=firefox-a&rls=org.mozilla:en-US:official&hs=SOY&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=phpmyvisites&spell=1",
+"http://lesemouvus.jeun.fr/index.htm?sid=ea0882e54624b43fa556e463c5ad299f",
+"http://www.google.fr/search?sourceid=navclient&ie=UTF-8&rlz=1T4GGLJ_enBE215BE215&q=DEMO",
+"http://82.225.141.143/",
+"http://www.google.fr/search?hl=fr&q=DEMO&meta=",
+"http://www.phpmyvisites.net/telechargements.html",
+"http://www.phpmyvisites.net/forums/index.php/f/15/0/",
+"http://www.scat-hell.com/",
+"http://flouz.info/",
+"http://krimhlab.free.fr/index.php?main=gallerie&menu_h=menuhga",
+"http://www.lordphoenix.info/logiciels/",
+"http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.saxy.fr%2F|onclick|L11",
+"http://www.commecadujapon.com/php/photo.php?photofile=20060110.1300.1.jpg&titre=Shinseijin - nouvelle adulte",
+"http://www.jeffroy.eu/index2.php",
+"http://forum.spip.org/fr_174961.html?var_recherche=statistiques",
+"http://127.0.0.1/",
+"http://www.google.de/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a",
+"http://www.phpmyvisites.us/",
+"http://www.google.fr/search?q=cr%C3%A9er facilement un site web en php&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.phpmyvisites.net/?_RW_=http%3A%2F%2Fwww.diskutime.com%2Fdisk%2Fkerkopostime.php%3Fanetari%3DBlici%23bottom|onclick|L128",
+"http://www.phpmyvisites.net/documentation/index.php?title=Configuration&oldid=1550",
+"http://www.google.fr/custom?domains=http%3A%2F%2Fwww.autourdecheznous.info&q=ring bourguesan ffb&sa=Recherche Google&sitesearch=&client=pub-6772093135347263&forid=1&ie=ISO-8859-1&oe=ISO-8859-1&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23E6E6E6%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID%3A11&hl=fr&ad=w9&num=10",
+"http://www.commentcamarche.net/forum/affich-2802486-hebergement-et-statistiques-de-visites",
+"http://www.archives.rennes.fr/fonds/affichedetailfig.php?cot=100Fi378",
+"http://www.pechemouchecorse.com/phpBB2-fr/search.php",
+"http://www.autooptions.fr/catalogue_viewprod_1360_0_9_0_0.html",
+"http://www.nalao.com/",
+"http://www.mandrivalinux-online.eu/phpmv2/index.php?site=1&date=2007-03-25&period=1&mod=view_referers",
+"http://www.google.be/search?hl=fr&q=statistiques web phpmyvisites&btnG=Rechercher&meta=",
+"http://fr.search.yahoo.com/search?p=t%C3%A9l%C3%A9charger cv gratuit&rs=1&fr2=rs-top&ei=UTF-8&meta=vl%3D&ybs=0&fl=1&vl=&fr=yfp-t-501",
+"http://www.arlon-is-on.be/",
+"http://www.google.fr/search?hl=fr&q=t%C3%A9l%C3%A9charger gratuit de logiciel de cr%C3%A9ation de site internet en php&meta=",
+"http://www.malta.poznan.pl/",
+"http://www.google.fr/search?hl=fr&q=phpmyvisits",
+"http://www.phpmyvisites.us/",
+"http://www.phpmyvisites.us/",
+"http://www.mfhg.org/showmedia.php?mediaID=82",
+"http://www.google.fr/search?q=phpmyvisites&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.animule.net/php/commentaires.php?id=90",
+"http://www.google.fr/search?q=Fatal error%3A Call to undefined function%3A&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.google.fr/custom?hl=fr&ie=ISO-8859-1&oe=ISO-8859-1&client=pub-4902541541856011&cof=FORID%3A1%3BGL%3A1%3BLBGC%3A336699%3BLC%3A%230000ff%3BVLC%3A%23663399%3BGFNT%3A%230000ff%3BGIMP%3A%230000ff%3BDIV%3A%23336699%3B&domains=phpmyvisites.net&q=traduction&btnG=Rechercher&sitesearch=phpmyvisites.net&meta=lr%3Dlang_fr",
+"http://www.webrankinfo.com/outils/echanges-de-liens.php?rub=res",
+"http://www.google.fr/search?q=web analyse php&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a",
+"http://www.donuts-models.com/pages/elite_pro.html",
+"http://www.google.fr/search?hl=fr&q=fichier traduction php&meta=",
+"http://www.google.ch/search?hl=fr&q=website statistique open source&btnG=Recherche Google&meta=",
+"http://www.saxy.fr/",
+"http://search.ke.voila.fr/S/orange?sev=&rtype=kw&profil=deskbar_ora_h&bhv=web_fr&rdata=teste",
+"http://www.rendy.eu/odkazy/",
+"http://homeomath.imingo.net/annales_bacsti.htm",
+"http://www.google.fr/search?hl=fr&client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&hs=F7Z&q=imagecreatefrompng gd&btnG=Rechercher&meta=",
+"http://www.google.fr/search?client=firefox-a&rls=org.mozilla%3Afr%3Aofficial&channel=s&hl=fr&q=phpmyvisites&meta=&btnG=Recherche Google",
+"http://www.jeremysumpter.info/view.php?lang=e&flag=5&page=pp-cp&num=1",
+"http://events.idi.ntnu.no/mrc2007/organisation.php",
+"http://www.google.fr/search?q=modifier droit utilisateur mysql&hl=fr&start=20&sa=N",
+"http://streaming.bpi.fr/bpi-visites/catalogue/phpmyvisites.php",
+"http://www.forum-newbeetle.fr/recent.php",
+"http://www.captainnelson.com/archives/89",
+"http://insousciance.expose.free.fr/decidela/index.php",
+"http://www.google.fr/search?hl=fr&q=phpmyvisites&meta=",
+"http://www.google.fr/search?hl=fr&q=guide de communaute arabe open source &btnG=Recherche Google&meta=",
+"http://donbass.free.fr/radio/profile.php?id=210",
+"http://www.psn3.com/Cerisier,Evans/fiche.html",
+"http://aide-a-la-navigation.orange.fr/process?key=002e98505757dcabd69a8a215dfe57cf9c6",
+"http://search.ke.voila.fr/S/orange?rtype=kw&profil=smart&bhv=web_fr&kw= &rdata=t%E9l%E9chargements",
+"http://www.epochtimes.ru/",
+"http://www.poterie-bois.com/petits animaux/chats",
+"http://forum.hardware.fr/hfr/WindowsSoftware/ajout-compteur-site-sujet_172698_1.htm",
+"http://www.gougueule.com/Spongestats",
+ );
diff --git a/plugins/VisitorGenerator/data/UserAgent.php b/plugins/VisitorGenerator/data/UserAgent.php
new file mode 100644
index 0000000000..b5f019a482
--- /dev/null
+++ b/plugins/VisitorGenerator/data/UserAgent.php
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
+ * @version $Id$
+ *
+ * @category Piwik_Plugin
+ * @package Piwik_VisitorGenerator
+ */
+
+/**
+ * User-Agent: strings
+ *
+ * @package Piwik_VisitorGenerator
+ */
+$userAgent = array(
+"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
+"Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0 )",
+"Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)",
+"Mozilla/4.8 [en] (Windows NT 5.1; U)",
+"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.0",
+"Opera/7.51 (Windows NT 5.1; U) [en]",
+"Opera/7.50 (Windows XP; U)",
+"Avant Browser/1.2.789rel1 (http://www.avantbrowser.com)",
+"Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4) Gecko Netscape/7.1 (ax)",
+"Mozilla/5.0 (Windows; U; Windows XP) Gecko MultiZilla/1.6.1.0a",
+"Opera/7.50 (Windows ME; U) [en]",
+"Mozilla/3.01Gold (Win95; I)",
+"Mozilla/2.02E (Win95; U)",
+"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
+"Googlebot/2.1 (+http://www.googlebot.com/bot.html)",
+"msnbot/1.0 (+http://search.msn.com/msnbot.htm)",
+"msnbot/0.11 (+http://search.msn.com/msnbot.htm)",
+"Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)",
+"Mozilla/2.0 (compatible; Ask Jeeves/Teoma)",
+"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.2 (KHTML, like Gecko) Safari/125.8",
+"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/125.2 (KHTML, like Gecko) Safari/85.8",
+"Mozilla/4.0 (compatible; MSIE 5.15; Mac_PowerPC)",
+"Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7a) Gecko/20040614 Firefox/0.9.0+",
+"Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.15",
+"Mozilla/5.0 (X11; U; Linux; i686; en-US; rv:1.6) Gecko Debian/1.6-7",
+"ozilla/5.0 (X11; U; Linux; i686; en-US; rv:1.6) Gecko Epiphany/1.2.5",
+"Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.3) Gecko/20040924 Epiphany/1.4.4 (Ubuntu)",
+"Mozilla/5.0 (X11; U; Linux; i686; en-US; rv:1.6) Gecko Galeon/1.3.14",
+"Konqueror/3.0-rc4; (Konqueror/3.0-rc4; i686 Linux;;datecode)",
+"Mozilla/5.0 (compatible; Konqueror/3.3; Linux 2.6.8-gentoo-r3; X11;",
+"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040614 Firefox/0.8",
+"ELinks/0.9.3 (textmode; Linux 2.6.9-kanotix-8 i686; 127x41)",
+"ELinks (0.4pre5; Linux 2.6.10-ac7 i686; 80x33)",
+"Links (2.1pre15; Linux 2.4.26 i686; 158x61)",
+"Links/0.9.1 (Linux 2.4.24; i386;)",
+"MSIE (MSIE 6.0; X11; Linux; i686) Opera 7.23",
+"Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/0.8.12",
+"w3m/0.5.1",
+"Links (2.1pre15; FreeBSD 5.3-RELEASE i386; 196x84)",
+"Mozilla/5.0 (X11; U; FreeBSD; i386; en-US; rv:1.7) Gecko",
+"Mozilla/4.77 [en] (X11; I; IRIX;64 6.5 IP30)",
+"Mozilla/4.8 [en] (X11; U; SunOS; 5.7 sun4u)",
+"Mozilla/3.0 (compatible; NetPositive/2.1.1; BeOS)",
+"Gulper Web Bot 0.2.4 (www.ecsl.cs.sunysb.edu/~maxim/cgi-bin/Link/GulperBot)",
+"EmailWolf 1.00",
+"grub-client-1.5.3; (grub-client-1.5.3; Crawl your own stuff with http://grub.org)",
+"Download Demon/3.5.0.11",
+"OmniWeb/2.7-beta-3 OWF/1.0",
+"SearchExpress",
+"Microsoft URL Control - 6.00.8862",
+);
diff --git a/plugins/VisitorGenerator/templates/generate.tpl b/plugins/VisitorGenerator/templates/generate.tpl
new file mode 100644
index 0000000000..a4063f25b9
--- /dev/null
+++ b/plugins/VisitorGenerator/templates/generate.tpl
@@ -0,0 +1,30 @@
+{assign var=showSitesSelection value=false}
+{assign var=showPeriodSelection value=false}
+{include file="CoreAdminHome/templates/header.tpl"}
+
+<h2>{'VisitorGenerator_VisitorGenerator'|translate}</h2>
+
+<table class="adminTable adminTableNoBorder" style="width: 600px;">
+<thead>
+ <tr>
+ <th>{'VisitorGenerator_Visitors'|translate}</th>
+ <th>{'VisitorGenerator_ActionsPerVisit'|translate}</th>
+ <th>{'VisitorGenerator_Date'|translate}</th>
+ </tr>
+</thead>
+<tbody>
+{foreach from=$dates item=date}
+ <tr>
+ <td>{$date.visitors}</td>
+ <td>{$date.actionsPerVisit}</td>
+ <td>{$date.startTime|date_format:"%Y-%m-%d"}</td>
+ </tr>
+{/foreach}
+</tbody>
+</table>
+
+<p>{'VisitorGenerator_NbActions'|translate}: {$nbActionsTotal}<br />
+{'VisitorGenerator_NbRequestsPerSec'|translate}: {$nbRequestsPerSec}<br />
+{$timer}</p>
+
+{include file="CoreAdminHome/templates/footer.tpl"} \ No newline at end of file
diff --git a/plugins/VisitorGenerator/templates/index.tpl b/plugins/VisitorGenerator/templates/index.tpl
new file mode 100644
index 0000000000..f54349b472
--- /dev/null
+++ b/plugins/VisitorGenerator/templates/index.tpl
@@ -0,0 +1,45 @@
+{assign var=showSitesSelection value=false}
+{assign var=showPeriodSelection value=false}
+{include file="CoreAdminHome/templates/header.tpl"}
+
+<h2>{'VisitorGenerator_VisitorGenerator'|translate}</h2>
+<p>{'VisitorGenerator_PluginDescription'|translate}</p>
+
+<form method="POST" action="{url module=VisitorGenerator action=generate}">
+<table class="adminTable adminTableNoBorder" style="width: 600px;">
+<tr>
+ <td><label for="idSite">{'VisitorGenerator_SelectWebsite'|translate}</label></td>
+ <td><select name="idSite">
+ {foreach from=$sitesList item=site}
+ <option value="{$site.idsite}">{$site.name}</option>
+ {/foreach}
+ </select></td>
+</tr>
+<tr>
+ <td><label for="minVisitors">{'VisitorGenerator_MinVisitors'|translate}</label></td>
+ <td><input type="text" value="20" name="minVisitors" /></td>
+</tr>
+<tr>
+ <td><label for="maxVisitors">{'VisitorGenerator_MaxVisitors'|translate}</label></td>
+ <td><input type="text" value="100" name="maxVisitors" /></td>
+</tr>
+<tr>
+ <td><label for="nbActions">{'VisitorGenerator_NbActions'|translate}</label></td>
+ <td><input type="text" value="10" name="nbActions" /></td>
+</tr>
+<tr>
+ <td><label for="daysToCompute">{'VisitorGenerator_DaysToCompute'|translate}</label></td>
+ <td><input type="text" value="1" name="daysToCompute" /></td>
+</tr>
+</table>
+<p>{'VisitorGenerator_Warning'|translate}<br />
+{'VisitorGenerator_NotReversible'|translate:'<b>':'</b>'}<br /><br />
+{'VisitorGenerator_AreYouSure'|translate}<br />
+</p>
+<input type="checkbox" name="choice" id="choice" value="yes" /> <label for="choice">{'VisitorGenerator_ChoiceYes'|translate}</label>
+<br />
+<input type="hidden" value="{$token_auth}" name="token_auth" />
+<input type="submit" value="{'VisitorGenerator_Submit'|translate}" name="submit" class="submit" />
+</form>
+
+{include file="CoreAdminHome/templates/footer.tpl"} \ No newline at end of file