<?php
/*
-------------------------------------------------------------------------
AllMyStats V1.75 - Statistiques site web - Web traffic analysis
-------------------------------------------------------------------------
Copyright (C) 2008-2010 - Herve Seywert
copyright-GNU-xx.txt
-------------------------------------------------------------------------
Web: http://allmystats.wertronic.com - http://www.wertronic.com
-------------------------------------------------------------------------
*/
?>
<html>
<head>
<title>AllMyStats - Install Web Traffic Analysis</title>
<meta http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">
<link href="../stylesheet.css" rel="stylesheet" type="text/css">
</head>
<body>
<p> </p><p> </p>
<?php
//--------------------
$submit_test_jetlag = $_POST["submit_test_jetlag"];
$jetlag_not_ok = $_POST["jetlag_not_ok"];
$jetlag_OK = $_POST["jetlag_OK"];
$langue = $_POST["langue"];
$submit_langage_OK = $_POST["submit_langage_OK"];
$jetlag = $_POST["jetlag"];
$path_allmystats_abs = $_POST['path_allmystats_abs'];
if($path_allmystats_abs == ''){
if(!$langue) { $langue = 'fr'; }
require ("../includes/languages/".$langue."/main.php");
echo '
<p> </p><p> </p><p> </p>
<table style="border: 0px solid #000000; margin-left: auto; margin-right: auto; border-collapse: collapse; background-color: #000000; width: 570px;">
<tr>
<td>
<table style="border: 0px solid #000000; padding: 2px; background-color: #99CCFF; width: 100%;">
<tr>
<td style="font-family: Verdana, Arial, sans-serif; font-size: 14px; font-weight: bold; text-align:center; vertical-align:middle;">'
.MSG_INSTALL_TITLE.'
</td>
</tr>
<tr>
<td colspan="2">
<table style="border-collapse: collapse; border: 1px solid #000000; background-color: #FAFAFA; width: 100%; color: #000000; font-family: Verdana, Arial, sans-serif; font-size: 10px; font-style: normal;">
<tr>
<td style="text-align:center; padding:3px; font-family:Verdana, Arial, sans-serif; font-size:14px;"><br />'; ?>
<?php
if (!isset($submit_langage_OK) && !isset($submit_test_jetlag) && !isset($jetlag_not_ok)){
echo MSG_INSTALL_LANGUAGES;
?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" name="choose_langage">
<select name="langue">
<option selected value="<?php echo $langue; ?>">francais</option>
<option value="fr">francais</option>
<option value="en">english</option>
<option value="ru">Russian</option>
</select><br><br>
<input type="submit" name="submit_langage_OK" value="OK">
</form>
<?php
} else {
require ("../includes/languages/".$langue."/main.php");
if(!$jetlag ) { $jetlag = "0"; }
echo MSG_JETLAG; ?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="Test_jetlag">
<input name="langue" type="hidden" value="<?php echo $langue ?>">
<?php
if (isset($submit_test_jetlag) ) {
echo '<select name="jetlag" disabled="disabled">';
} else {
echo '<select name="jetlag">';
} ?>
<option value="<?php echo $jetlag ?>" selected><?php echo $jetlag ?></option>
<option value="-1">-1</option>
<option value="-2">-2</option>
<option value="-3">-3</option>
<option value="-4">-4</option>
<option value="-5">-5</option>
<option value="-6">-6</option>
<option value="-7">-7</option>
<option value="-8">-8</option>
<option value="-9">-9</option>
<option value="-10">-10</option>
<option value="-11">-11</option>
<option value="0">0</option>
<option value="+1">+1</option>
<option value="+2">+2</option>
<option value="+3">+3</option>
<option value="+4">+4</option>
<option value="+5">+5</option>
<option value="+6">+6</option>
<option value="+7">+7</option>
<option value="+8">+8</option>
<option value="+9">+9</option>
<option value="+10">+10</option>
<option value="+11">+11</option>
<option value="+12">+12</option>
</select>
<?php
$date = date('d/m/Y',strtotime($jetlag." hours", strtotime(date("Y-m-d H:i:s"))));
$heure = date('H:i',strtotime($jetlag." hours", strtotime(date("Y-m-d H:i:s"))));
if (!isset($submit_test_jetlag) ){ ?>
<br>
<input type="submit" name="submit_test_jetlag" value="Test <?php echo MSG_JETLAG ?>">
<?php
}
if (isset($submit_test_jetlag) && !isset($jetlag_OK) ){ ?>
<table border="0" align="center" cellpadding="7">
<tr>
<td nowrap><?php
echo MSG_INSTALL_SAME_DATE."<br>";
echo "<big>Date = <strong>".$date."</strong></big><br>";
echo "<Big>Heure = <strong>".$heure."</strong></big><br>";
?>
<input name="langue" type="hidden" value="<?php echo $langue ?>">
<input name="jetlag" type="hidden" value="<?php echo $jetlag ?>">
<input type="submit" name="jetlag_not_ok" value="No">
</form>
<!-- <form action="install/install.php" method="post" name="pre_conf_ok"> -->
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="pre_conf_ok">
<?php
//$path_allmystats_abs = dirname($_SERVER["PHP_SELF"]);
$PathInstall = dirname($_SERVER["PHP_SELF"]);
$path_allmystats_abs = substr_replace($PathInstall, '', strrpos($PathInstall, '/'));
?>
<input name="langue" type="hidden" value="<?php echo $langue ?>">
<input name="jetlag" type="hidden" value="<?php echo $jetlag ?>">
<input name="path_allmystats_abs" type="hidden" value="<?php echo $path_allmystats_abs ?>">
<input type="submit" name="jetlag_OK" value="Yes">
</form>
<br>
</td>
</tr>
</table>
<?php
}
}
exit;
?>
</table></td></tr></table></td></tr></table><br />
<?php
}
//---------------------------
if( isset($_POST['MySqlConfig']) ) { //corrected (isset($Install)) to isset($_POST['MySqlConfig']) 21-12-2010
$MySqlConfig = $_POST['MySqlConfig'];
$mysql_login = $_POST['mysql_login'];
$mysql_pass = $_POST['mysql_pass'];
$mysql_host = $_POST['mysql_host'];
$mysql_dbnom = $_POST['mysql_dbnom'];
$mysql_prefix = $_POST['mysql_prefix']; //corrected ($_POST['$mysql_prefix'] to $_POST['mysql_prefix'] 21-12-2010
}
if( !isset($langue) && !isset($jetlag) && !isset($path_allmystats_abs) ) {
?>
<p> </p><p> </p>
<form action="../index.php" method="post" name="nodata">
<div style="text-align:center;"><strong>No data</strong><br />
<input type="submit" name="nodata" value="Continue"></div>
</form>
<?php
exit;
}
////require('../includes/mysql_tables.php');
require ('../includes/languages/'.$langue.'/main.php');
include_once('../version.php');
//-------------------------------------------------------------------
?>
<?php
echo '
<table style="border: 0px solid #000000; margin-left: auto; margin-right: auto; border-collapse: collapse; background-color: #000000; width: 570px;">
<tr>
<td>
<table style="border: 0px solid #000000; padding: 2px; background-color: #99CCFF; width: 100%;">
<tr>
<td style="font-family: Verdana, Arial, sans-serif; font-size: 14px; font-weight: bold; text-align:center; vertical-align:middle;">'
.MSG_INSTALL_TITLE.'
</td>
</tr>
<tr>
<td colspan="2">
<table style="border-collapse: collapse; border: 1px solid #000000; background-color: #FAFAFA; width: 100%; color: #000000; font-family: Verdana, Arial, sans-serif; font-size: 10px; font-style: normal;">
<tr>
<td style="text-align:center; padding:3px; font-family:Verdana, Arial, sans-serif; font-size:14px;"><br />';
//Test Write
if ($file = @fopen("../TEST_write.test", "w") ) {
fclose($file);
unlink("../TEST_write.test");
} else {
echo "<font color=\"#FF0000\"><b>ERROR:</b></font><br>".$path_allmystats_abs. "/directory must be <b>chmod 777</b><br><br>" ;
exit;
}
//----------- Test de la connexion MySQL ----------------------------
if (isset($MySqlConfig)) {
if(!@mysql_connect($mysql_host,$mysql_login,$mysql_pass) ||trim($mysql_login) == '' || trim($mysql_pass) == '' || trim($mysql_host) == ''
|| trim($mysql_dbnom) == '') {
echo MSG_INSTALL_MYSQL_CONNEXION_ERROR;
echo "
<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" name=\"Install\">
<input name=\"mysql_login\" type=\"hidden\" value=\"".$mysql_login."\">
<input name=\"mysql_pass\" type=\"hidden\" value=\"".$mysql_pass."\">
<input name=\"mysql_host\" type=\"hidden\" value=\"".$mysql_host."\">
<input name=\"mysql_dbnom\" type=\"hidden\" value=\"".$mysql_dbnom."\">
<input name=\"$mysql_prefix\" type=\"hidden\" value=\"".$$mysql_prefix."\">
<input name=\"langue\" type=\"hidden\" value=\"".$langue."\">
<input name=\"jetlag\" type=\"hidden\" value=\"".$jetlag."\">
<input name=\"path_allmystats_abs\" type=\"hidden\" value=\"".$path_allmystats_abs."\"><br>
<input type=\"submit\" name=\"ReturnFormulaire\" value=\"OK\"><br><br>
</form>";
exit;
} else {
// Test de connexion à la base de données
if(!@mysql_select_db($mysql_dbnom)) {
echo "Le nom de la base de données n'est pas reconnu<br>Unkonwn data base name";
echo "
<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\" name=\"Install\">
<input name=\"mysql_login\" type=\"hidden\" value=\"".$mysql_login."\">
<input name=\"mysql_pass\" type=\"hidden\" value=\"".$mysql_pass."\">
<input name=\"mysql_host\" type=\"hidden\" value=\"".$mysql_host."\">
<input name=\"mysql_dbnom\" type=\"hidden\" value=\"".$mysql_dbnom."\">
<input name=\"$mysql_prefix\" type=\"hidden\" value=\"".$$mysql_prefix."\">
<input name=\"langue\" type=\"hidden\" value=\"".$langue."\">
<input name=\"jetlag\" type=\"hidden\" value=\"".$jetlag."\">
<input name=\"path_allmystats_abs\" type=\"hidden\" value=\"".$path_allmystats_abs."\"><br>
<input type=\"submit\" name=\"ReturnFormulaire\" value=\"OK\"><br><br>
</form>";
exit;
}
echo "<center>"."Connexion MySql OK"."</center><br><br>";
mysql_query("SET NAMES 'utf8'"); //OK mais pas mettre de utf8 encode decode et les tables en utf8
//------------------- Ecriture du fichier config.php ----------------------
@$content.="<?php\n";
@$content.="\$mysql_host=\"".$mysql_host."\"; //Adresse du serveur MySQL - MySQL server address (localhost)\n";
@$content.="\$mysql_dbnom=\"".$mysql_dbnom."\"; //Nom de la base de données - MySQL database name\n";
@$content.="\$mysql_login=\"".$mysql_login."\"; //Login pour accéder à la base de données - MySQL database Login (username)\n";
@$content.="\$mysql_pass=\"".$mysql_pass."\"; //Mot de passe pour accéder à la base de données - MySQL database Password\n";
@$content.="\$mysql_prefix=\"".$mysql_prefix."\"; //Préfixe des tables - MySQL table prefix\n";
@$content.="\n";
@$content.="\$site= \$_SERVER['HTTP_HOST']; //Or http://www.site.tld \n";
@$content.="\$langue=\"".$langue."\"; //fr, en \n";
$jetlag = strtr($jetlag, " ", "+"); //si " " devant est +, replace avec + plus clair pour l'utilisateur
@$content.="\$UTC=\"".$jetlag."\"; //Décalage horaire - Time Difference ( -12 à +12 ) Vous pouvez Vérifier la valeur avec Test UTC dans l'admin - You can check the value with Test UTC in admin \n";
@$content.="\n";
@$content.="\$graph_visitors_pages=\"2\"; //Graphs visitors & visited pages: if 1 --> Simple scale graph, if 2 --> Double scale graph \n";
@$content.="\$display_alexa_pagerank = true; //if true Display Alexa traffic rank and PageRank Google - php.ini must be allow_url_fopen = on \n";
@$content.="\n";
@$content.="\$IpExlues = array(\"\"); //Exclude ip ex: array(\"123.117.86.38\",\"220.181\"); 220.181 --> plage 220.181.0.0 à 220.181.255.255 \n";
@$content.="\$Flag_Exclus_by_IP = \"\"; //Flag ip exclus ex: \"AllMyStats: IP non comptabilisée\"; \n";
@$content.="\$Flag_Exclus_by_cookie = \"\"; //Falg cookie installed ex: \"AllMyStats: Visites non comptabilisées (cookie)\" \n";
@$content.="\n";
@$content.="\$user_login = \"admin\"; //Login \n";
@$content.="\$passwd = \"allmystats\"; //Password \n";
@$content.="\$error_login = \"5\"; //Maximum number of login attempts errors\n";
@$content.="\$nb_max_HistoRecord_log = \"30\"; //History Login: maximum number of records log files\n";
@$content.="\n";
@$content.= "\$path_allmystats_abs = \"".$path_allmystats_abs."/\"; //Chemin absolu de allmystats (à partir de la racine du site ) ex : /allmystats/ (avec / au début) \n";
@$content.="?>\n";
$filename = "../config_allmystats.php";
//Write
if ( $file = fopen($filename, "w") ) {
fwrite($file, $content);
fclose($file);
}
//-------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//RE Test connect mais à partir du fichier config
require "../config_allmystats.php";
require ("../includes/languages/".$langue."/main.php");
$connect_mysql = mysql_connect($mysql_host, $mysql_login, $mysql_pass);
mysql_select_db($mysql_dbnom);
mysql_query("SET NAMES 'utf8'"); //tables en utf8
//-------------------------------------------------------------------
// define tables
define('TABLE_UPDATES', $mysql_prefix.'_updates');
define('TABLE_ARCHIVE', $mysql_prefix.'_archive');
define('TABLE_BAD_USER_AGENT', $mysql_prefix.'_bad_user_agent');
define('TABLE_CRAWLER', $mysql_prefix.'_crawler');
define('TABLE_MONTHLY_KEYWORDS', $mysql_prefix.'_monthly_keywords');
define('TABLE_DAYS_KEYWORDS', $mysql_prefix.'_days_keywords');
define('TABLE_DAYS_PAGES', $mysql_prefix.'_days_pages');
define('TABLE_UNIQUE_VISITOR', $mysql_prefix.'_unique_visitor');
define('TABLE_PAGE_VISITOR', $mysql_prefix.'_page_visitor');
define('TABLE_UNIQUE_BOT', $mysql_prefix.'_unique_bot');
define('TABLE_PAGE_BOT', $mysql_prefix.'_page_bot');
define('TABLE_UNIQUE_BAD_AGENT', $mysql_prefix.'_unique_bad_agent');
define('TABLE_PAGE_BAD_AGENT', $mysql_prefix.'_page_bad_agent');
//-------------------------------------------------------------------
// Test si les tables existent déjà
$tables = mysql_query("SHOW TABLES ", $connect_mysql) or die ("MySQL query error");
echo '
<table align="center" width="75%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>';
while (list($tablename) = mysql_fetch_array($tables)) {
if($tablename == TABLE_ARCHIVE) {
$table_archive = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_BAD_USER_AGENT){
$table_bad_user_agent = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_CRAWLER){
$table_crawler = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_MONTHLY_KEYWORDS){
$table_monthly_keywords = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_DAYS_KEYWORDS){
$table_days_keywords = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_DAYS_PAGES){
$table_days_pages = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_UNIQUE_VISITOR){
$table_unique_visitor = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_PAGE_VISITOR){
$table_page_visitor = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_UNIQUE_BOT){
$table_unique_bot = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_PAGE_BOT){
$table_page_bot = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_UNIQUE_BAD_AGENT){
$table_unique_bad_agent = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
} elseif ($tablename == TABLE_PAGE_BAD_AGENT){
$table_page_bad_agent = 1;
echo $tablename.MSG_INSTALL_TABLE_ALREADY_EXIST.'<br>';
}
}
// ---------------------------------------------------
if ($table_archive == 1 && $table_bad_user_agent == 1 && $table_crawler == 1 &&
$table_page_visitor == 1 && $table_unique_visitor == 1 && $table_monthly_keywords == 1 &&
$table_days_keywords == 1 && $table_days_pages == 1 && $table_unique_bot == 1 && $table_page_bot == 1 &&
$table_unique_bad_agent == 1 && $table_page_bad_agent == 1) {
unlink($filename);
echo '<br><br>'.MSG_INSTALL_ALL_TABLE_ALREADY_EXIST.'<br><br>';
echo "
<form action=\"../\" method=\"post\" name=\"Table_exist\">
<input name=\"langue\" type=\"hidden\" value=\"".$langue."\">
<input name=\"jetlag\" type=\"hidden\" value=\"".$jetlag."\">
<input name=\"path_allmystats_abs\" type=\"hidden\" value=\"".$path_allmystats_abs."\"><br>
<input name=\"submiNoInstall\" type=\"submit\" value=\"OK\">
</form><br><br>";
mysql_close();
exit;
} elseif ($table_archive == 1 || $table_bad_user_agent == 1 || $table_crawler == 1 ||
$table_page_visitor == 1 || $table_unique_visitor == 1 || $table_monthly_keywords == 1 ||
$table_days_keywords == 1 || $table_days_pages == 1 || $table_unique_bot == 1 || $table_page_bot == 1 ||
$table_unique_bad_agent == 1 && $table_page_bad_agent == 1) {
unlink($filename);
echo '<br><br>'.MSG_INSTALL_ONE_OR_TABLES_ALREADY_EXIST.'<br><br>';
echo "
<form action=\"../\" method=\"post\" name=\"Table_exist\">
<input name=\"langue\" type=\"hidden\" value=\"".$langue."\">
<input name=\"jetlag\" type=\"hidden\" value=\"".$jetlag."\">
<input name=\"path_allmystats_abs\" type=\"hidden\" value=\"".$path_allmystats_abs."\"><br>
<input name=\"submiNoInstall\" type=\"submit\" value=\"OK\">
</form><br><br>";
mysql_close();
exit;
}
echo "
</td>
</tr>
</table>";
// -------------------------------------------------------------------
// Create table
// -------------------------------------------------------------------
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_ARCHIVE."` (
`annee` int(11) NOT NULL default '0',
`mois` int(11) NOT NULL default '0',
`visiteur` int(11) NOT NULL default '0',
`visite` int(11) NOT NULL default '0',
`visites_hors_bot` int(11) NOT NULL default '0',
`pages_hors_bot` int(11) NOT NULL default '0',
`visites_robot` int(11) NOT NULL default '0',
`pages_robots` int(11) NOT NULL default '0',
PRIMARY KEY (`annee`,`mois`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_DAYS_KEYWORDS."` (
`id` int(11) NOT NULL auto_increment,
`date` varchar(10) NOT NULL,
`host_referer` varchar(127) NOT NULL,
`keyword` varchar(255) NOT NULL,
`nb_item` int(11) NOT NULL,
`percents` decimal(5,2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_MONTHLY_KEYWORDS."` (
`id` int(11) NOT NULL auto_increment,
`date` varchar(7) NOT NULL,
`host_referer` varchar(127) NOT NULL,
`keyword` varchar(255) NOT NULL,
`nb_item` int(11) NOT NULL,
`percents` decimal(5,2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_DAYS_PAGES."` (
`date` varchar(10) NOT NULL,
`pages_name` varchar(255) NOT NULL,
`visitors` int(11) NOT NULL,
`visited_pages` int(11) NOT NULL,
PRIMARY KEY (`date`,`pages_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_PAGE_BAD_AGENT."` (
`code` bigint(20) NOT NULL default '0',
`page` varchar(255) NOT NULL,
`visits` int(11) NOT NULL default '0',
`hour` varchar(5) NOT NULL default '',
PRIMARY KEY (`code`,`page`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_PAGE_BOT."` (
`code` bigint(20) NOT NULL default '0',
`page` varchar(255) NOT NULL,
`visits` int(11) NOT NULL default '0',
`hour` varchar(5) NOT NULL default '',
PRIMARY KEY (`code`,`page`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_PAGE_VISITOR."` (
`code` bigint(20) NOT NULL default '0',
`page` varchar(255) NOT NULL,
`visits` int(11) NOT NULL default '0',
`hour` varchar(5) NOT NULL default '',
PRIMARY KEY (`code`,`page`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_UNIQUE_BAD_AGENT."` (
`agent` varchar(255) default NULL,
`type` char(1) default NULL,
`referer` varchar(512) default NULL,
`ip` varchar(50) NOT NULL default '',
`date` varchar(10) NOT NULL default '',
`reverse_dns` varchar(100) default NULL,
`code` bigint(20) NOT NULL auto_increment,
`country` varchar(50) default NULL,
`visits` int(11) NOT NULL default '0',
PRIMARY KEY (`code`),
KEY `ADDR` (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_UNIQUE_BOT."` (
`agent` varchar(255) default NULL,
`referer` varchar(512) default NULL,
`ip` varchar(50) NOT NULL default '',
`date` varchar(10) default NULL,
`reverse_dns` varchar(100) default NULL,
`code` bigint(20) NOT NULL auto_increment,
`country` varchar(50) default NULL,
`visits` int(11) NOT NULL default '0',
PRIMARY KEY (`code`),
KEY `ADDR` (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_UNIQUE_VISITOR."` (
`agent` varchar(255) default NULL,
`referer` varchar(512) default NULL,
`ip` varchar(50) NOT NULL default '',
`date` varchar(10) default NULL,
`reverse_dns` varchar(100) default NULL,
`code` bigint(20) NOT NULL auto_increment,
`country` varchar(50) default NULL,
`visits` int(11) NOT NULL default '0',
PRIMARY KEY (`code`),
KEY `ADDR` (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
// ------- Only since AllMyStats v1.59 to ... -----------------------
//Histo updates
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_UPDATES."` (
`id` int(11) NOT NULL auto_increment,
`date` varchar(10) NOT NULL,
`action` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0;";
mysql_query($sql);
//------------------------------------------------------------------
//Mise à jour de la table update
$version_update = false;
$result = @mysql_query("select * from ".TABLE_UPDATES."");
while($row = @mysql_fetch_array($result)){
if ($row['action'] == 'update to V1.59') {
$version_update = true;
}
}
if (!$version_update) {
$sql = "insert into ".TABLE_UPDATES." values ('', NOW(), 'update to V1.59');"; //For compatibility whith update v1.59
$result = mysql_query($sql) or die('Erreur! '.$sql.'<br>'.mysql_error());
}
$install_this_version = false;
$result = @mysql_query("select * from ".TABLE_UPDATES."");
while($row = @mysql_fetch_array($result)){
if ($row['action'] == "INSTALL ".VERSION) {
$install_this_version = true;
}
}
if (!$install_this_version) {
$sql = "insert into ".TABLE_UPDATES." values ('', NOW(), 'INSTALL ".VERSION."');";
$result = mysql_query($sql) or die('Erreur! '.$sql.'<br>'.mysql_error());
}
//-------------------------------------------------------------------------------------------
#############################################################################################
//Create table TABLE_BAD_USER_AGENT, TABLE_CRAWLER & import data
//-------------------------------------------------------------------------------------------
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_BAD_USER_AGENT."` (
`id` int(5) NOT NULL auto_increment,
`user_agent` varchar(255) NOT NULL default '',
`info` varchar(255) NOT NULL default '',
`type` char(1) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
$sql = "CREATE TABLE IF NOT EXISTS `".TABLE_CRAWLER."` (
`id_crawler` smallint(5) NOT NULL auto_increment,
`crawler_user_agent` varchar(255) collate utf8_unicode_ci default NULL,
`org_name` varchar(50) collate utf8_unicode_ci default NULL,
`bot_name` varchar(50) collate utf8_unicode_ci default NULL,
`crawler_url` varchar(255) collate utf8_unicode_ci default NULL,
`crawler_info` varchar(255) collate utf8_unicode_ci default NULL,
`crawler_ip` varchar(16) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id_crawler`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;";
mysql_query($sql);
//Import du contenu de _bad_user_agent et _crawler
$N_import = 0;
$SQL_query = 'INSERT INTO `'.TABLE_BAD_USER_AGENT.'` (`id`, `user_agent`, `info`, `type`) VALUES ';
mysql_import_file('../includes/sql/allmystats_bad_user_agent.sql', $SQL_query, $errmsg) ;
if ($errmsg) {
echo '<br>Error: '.$errmsg.'<br><br>';
} else {
$N_import = $N_table+1;
}
$SQL_query = 'INSERT INTO `'.TABLE_CRAWLER.'`(`id_crawler`, `crawler_user_agent`, `org_name`, `bot_name`, `crawler_url`, `crawler_info`, `crawler_ip`) VALUES ';
mysql_import_file('../includes/sql/allmystats_crawler.sql', $SQL_query, $errmsg) ;
if ($errmsg) {
echo '<br>Error: '.$errmsg.'<br><br>';
} else {
$N_import = $N_table+1;
}
#############################################################################################
//if ($N_table == 2) {
echo '<center>'.MSG_INSTALL_TABLES_CREATED_SUCCESS.'</center><br><br>';
echo "<br><strong><center>".MSG_INSTALL_COMPLETE."</center></strong><br><br>";
$httpSiteStats = 'http://'.$_SERVER['HTTP_HOST'].str_replace("install","",dirname($_SERVER["PHP_SELF"]));
if ($langue == 'fr') {
echo "
<center>
<form action=\"http://allmystats.wertronic.com/fr_end_install.php\" method=\"post\" name=\"end\">
<input name=\"httpSiteStats\" type=\"hidden\" value=\"".$httpSiteStats."\">
<input name=\"langue\" type=\"hidden\" value=\"".$langue."\">
<input name=\"jetlag\" type=\"hidden\" value=\"".$jetlag."\"><br>
<input name=\"submitend\" type=\"submit\" value=\"".MSG_BUTTON_NEXT_STEP."\">
</form>
</center><br><br>";
} elseif ($langue == 'en') {
echo "<center>
<form action=\"http://allmystats.wertronic.com/en_end_install.php\" method=\"post\" name=\"end\">
<input name=\"httpSiteStats\" type=\"hidden\" value=\"".$httpSiteStats."\">
<input name=\"langue\" type=\"hidden\" value=\"".$langue."\">
<input name=\"jetlag\" type=\"hidden\" value=\"".$jetlag."\"><br>
<input name=\"submitend\" type=\"submit\" value=\"".MSG_BUTTON_NEXT_STEP."\">
</form></center><br><br>";
} else {
echo "<center>
<form action=\"http://allmystats.wertronic.com/en_end_install.php\" method=\"post\" name=\"end\">
<input name=\"httpSiteStats\" type=\"hidden\" value=\"".$httpSiteStats."\">
<input name=\"langue\" type=\"hidden\" value=\"Error language\">
<input name=\"jetlag\" type=\"hidden\" value=\"".$jetlag."\"><br>
<input name=\"submitend\" type=\"submit\" value=\"".MSG_BUTTON_NEXT_STEP."\">
</form></center><br><br>";
}
mysql_close();
exit;
//}
mysql_close();
exit;
}// End if(!@mysql_connect($mysql_host,$mysql_login,$mysql_pass) ||trim($mysql_login) == '' || trim($mysql_pass) == '' || trim($mysql_host) == ''
//|| trim($mysql_dbnom) == '') {
} // Fin de if (isset($MySqlConfig)) {
//######################################################################################################
// ------------ Formulaire config MySql -------------------
if (trim($$mysql_prefix == '')) { $$mysql_prefix = 'allms'; }
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post" name="Install">
<table align="center" border="0" cellspacing="0" cellpadding="3">
<tr>
<td><?php echo MSG_INSTALL_MYSQL_LOGIN; ?>:</td>
<td><input name="mysql_login" type="text" value="<?php echo $mysql_login; ?>"></td>
</tr>
<tr>
<td><?php echo MSG_INSTALL_MYSQL_DATABASE_NAME; ?>:</td>
<td><input name="mysql_dbnom" type="text" value="<?php echo $mysql_dbnom; ?>"></td>
</tr>
<tr>
<td><?php echo MSG_INSTALL_MYSQL_PREFIX; ?>:</td>
<td><input name="mysql_prefix" type="text" value="<?php echo $$mysql_prefix; ?>" size="10">_</td>
</tr>
<tr>
<td><?php echo MSG_INSTALL_PASS; ?>:</td>
<td><input name="mysql_pass" type="password" value="<?php echo $mysql_pass; ?>"></td>
</tr>
<tr>
<td><?php echo MSG_INSTALL_MYSQL_SERVER; ?> (host):</td>
<td><input name="mysql_host" type="text" value="<?php echo $mysql_host; ?>"> localhost</td>
</tr>
<tr align="center">
<td colspan="2">
<input name="langue" type="hidden" value="<?php echo $langue; ?>">
<input name="jetlag" type="hidden" value="<?php echo $jetlag; ?>">
<input name="path_allmystats_abs" type="hidden" value="<?php echo $path_allmystats_abs; ?>"><br>
<input type="submit" name="MySqlConfig" value="OK"><br>
</td>
</tr>
</table>
</form>
<?php // ------------ FIN Formulaire config MySql ------------------- ?>
</table></td></tr></table></td></tr></table><br />
</body>
</html>
<?php
//------------------------------------------------
function mysql_import_file($filename, $SQL_query, &$errmsg) {
// lecture du fichier
if(file_exists($filename)) {
$SQL_query = array($SQL_query);
$lines = file($filename);
$lines = array_merge ($SQL_query, $lines);
} else {
$errmsg = "cannot open file $filename";
return false;
}
if(!$lines) {
$errmsg = "cannot open file $filename";
return false;
}
$scriptfile = false;
// Get rid of the comments and form one jumbo line
foreach($lines as $line) {
$line = (trim($line)); //utf8_decode
//if(!ereg('^--', $line)) { //ereg obsolète PHP5.3 - if the line does not begin with --
if(substr($line, 0, 2) <> '--') { //if the line does not begin with --
$scriptfile.=" ".$line.'aaa'; //aaa car problème avec les ;
}
}
if(!$scriptfile) {
$errmsg = "no text found in". $filename;
return false;
}
// Split the jumbo line into smaller lines
$queries = explode(';aaa', $scriptfile);
// Run each line as a query
foreach($queries as $query) {
$query = trim($query);
$query = str_replace('aaa','',$query);
if(trim($query) == "") { continue; }
if(!mysql_query($query.';')) {
$errmsg = "query ".$query." failed";
return false;
}
}
// retour true si la fonction reussie
return true;
}
?>