Amélioration traces install

This commit is contained in:
Laurent Destailleur 2007-11-29 02:32:54 +00:00
parent 017a7fabcd
commit d7cfa91441
2 changed files with 99 additions and 74 deletions

View File

@ -58,7 +58,8 @@ if ($_POST["action"] == "set")
umask(0);
foreach($_POST as $cle=>$valeur)
{
echo '<input type="hidden" name="'.$cle.'" value="'.$valeur.'">';
echo '<input type="hidden" name="'.$cle.'" value="'.$valeur.'">';
if (! eregi('^db_pass',$cle)) dolibarr_install_syslog("Choice for ".$cle." = ".$valeur);
}
}

View File

@ -21,7 +21,7 @@
/**
\file htdocs/install/etape2.php
\brief Crée les tables, clés primaires, clés étrangères, index et fonctions en base puis charge les données de référence
\brief Cr<EFBFBD>e les tables, cl<EFBFBD>s primaires, cl<EFBFBD>s <EFBFBD>trang<EFBFBD>res, index et fonctions en base puis charge les donn<EFBFBD>es de r<EFBFBD>f<EFBFBD>rence
\version $Revision$
*/
@ -33,7 +33,7 @@ $etape = 2;
$ok = 0;
// Cette page peut etre longue. On augmente le délai autorise.
// Cette page peut etre longue. On augmente le d<EFBFBD>lai autorise.
// Ne fonctionne que si on est pas en safe_mode.
$err=error_reporting();
error_reporting(0);
@ -73,7 +73,7 @@ if ($_POST["action"] == "set")
}
else
{
print "<tr><td>Erreur lors de la création de : $dolibarr_main_db_name</td><td>".$langs->trans("Error")."</td></tr>";
print "<tr><td>Erreur lors de la cr<EFBFBD>ation de : $dolibarr_main_db_name</td><td>".$langs->trans("Error")."</td></tr>";
}
if ($ok)
@ -81,7 +81,7 @@ if ($_POST["action"] == "set")
if($db->database_selected == 1)
{
dolibarr_install_syslog("etape2: Connexion réussie à la base : $dolibarr_main_db_name");
dolibarr_install_syslog("etape2: Connexion r<EFBFBD>ussie <20> la base : $dolibarr_main_db_name");
}
else
{
@ -110,16 +110,17 @@ if ($_POST["action"] == "set")
***************************************************************************************/
if ($ok)
{
if ($choix==1) $dir = "../../mysql/tables/";
if ($choix==1) $dir = "../../mysql/tables/";
elseif ($choix==2) $dir = "../../pgsql/tables/";
elseif ($choix==3) $dir = "../../mssql/tables/";
$ok = 0;
$handle=opendir($dir);
dolibarr_install_syslog("Ouverture repertoire ".$dir." handle=".$handle,LOG_DEBUG);
$table_exists = 0;
while (($file = readdir($handle))!==false)
{
if (substr($file, strlen($file) - 4) == '.sql' && substr($file,0,4) == 'llx_' && substr($file, -8) <> '.key.sql')
if (eregi('\.sql$',$file) && eregi('^llx_',$file) && ! eregi('\.key\.sql$',$file))
{
$name = substr($file, 0, strlen($file) - 4);
$buffer = '';
@ -135,32 +136,45 @@ if ($_POST["action"] == "set")
}
}
fclose($fp);
}
//print "<tr><td>Création de la table $name/td>";
$requestnb++;
if ($db->query($buffer))
{
// print "<td>OK requete ==== $buffer</td></tr>";
$buffer=trim($buffer);
//print "<tr><td>Creation de la table $name/td>";
$requestnb++;
if ($character_set_client=="UTF-8"){
$buffer=utf8_encode ($buffer);
}
dolibarr_install_syslog("Request: ".$buffer,LOG_DEBUG);
if ($db->query($buffer))
{
// print "<td>OK requete ==== $buffer</td></tr>";
}
else
{
if ($db->errno() == 'DB_ERROR_TABLE_ALREADY_EXISTS')
{
//print "<td>Deja existante</td></tr>";
}
else
{
print "<tr><td>".$langs->trans("CreateTableAndPrimaryKey",$name);
print "<br>".$langs->trans("Request").' '.$requestnb.' : '.$buffer;
print "</td>";
print "<td>".$langs->trans("Error")." ".$db->errno()." ".$db->error()."</td></tr>";
$error++;
}
}
}
else
{
if ($db->errno() == 'DB_ERROR_TABLE_ALREADY_EXISTS')
{
//print "<td>Déjà existante</td></tr>";
$table_exists = 1;
}
else
{
print "<tr><td>".$langs->trans("CreateTableAndPrimaryKey",$name);
print "<br>".$langs->trans("Request").' '.$requestnb.' : '.$buffer;
print "</td>";
print "<td>".$langs->trans("Error")." ".$db->errno()." ".$db->error()."</td></tr>";
$error++;
}
print "<tr><td>".$langs->trans("CreateTableAndPrimaryKey",$name);
print "</td>";
print "<td>".$langs->trans("Error")." Failed to open file ".$dir.$file."</td></tr>";
$error++;
dolibarr_install_syslog("Failed to open file ".$dir.$file,LOG_ERR);
}
}
}
}
closedir($handle);
@ -176,24 +190,24 @@ if ($_POST["action"] == "set")
/***************************************************************************************
*
* Chargement fichiers tables/*.key.sql
* A faire après les fichiers *.sql
* A faire apres les fichiers *.sql
*
***************************************************************************************/
if ($ok)
{
if ($choix==1) $dir = "../../mysql/tables/";
if ($choix==1) $dir = "../../mysql/tables/";
elseif ($choix==2) $dir = "../../pgsql/tables/";
elseif ($choix==3) $dir = "../../mssql/tables/";
$okkeys = 0;
$handle=opendir($dir);
$table_exists = 0;
dolibarr_install_syslog("Ouverture repertoire ".$dir." handle=".$handle,LOG_DEBUG);
while (($file = readdir($handle))!==false)
{
if (substr($file, strlen($file) - 4) == '.sql' && substr($file,0,4) == 'llx_' && substr($file, -8) == '.key.sql')
if (eregi('\.sql$',$file) && eregi('^llx_',$file) && eregi('\.key\.sql$',$file))
{
$name = substr($file, 0, strlen($file) - 4);
//print "<tr><td>Création de la table $name</td>";
//print "<tr><td>Creation de la table $name</td>";
$buffer = '';
$fp = fopen($dir.$file,"r");
if ($fp)
@ -213,7 +227,7 @@ if ($_POST["action"] == "set")
{
// Version qualified, delete SQL comments
$buf=eregi_replace('^-- V([0-9\.]+)','',$buf);
//print "Ligne $i qualifiée par version: ".$buf.'<br>';
//print "Ligne $i qualifiee par version: ".$buf.'<br>';
}
}
@ -221,44 +235,54 @@ if ($_POST["action"] == "set")
if (! eregi('^--',$buf)) $buffer .= $buf;
}
fclose($fp);
// Si plusieurs requetes, on boucle sur chaque
$listesql=split(';',$buffer);
foreach ($listesql as $req)
{
$buffer=trim($req);
if ($buffer)
{
//print "<tr><td>Creation des cles et index de la table $name: '$buffer'</td>";
$requestnb++;
if ($character_set_client=="UTF-8"){
$buffer=utf8_encode ($buffer);
}
dolibarr_install_syslog("Request: ".$buffer,LOG_DEBUG);
if ($db->query($buffer))
{
//print "<td>OK requete ==== $buffer</td></tr>";
}
else
{
if ($db->errno() == 'DB_ERROR_KEY_NAME_ALREADY_EXISTS' ||
$db->errno() == 'DB_ERROR_CANNOT_CREATE' ||
$db->errno() == 'DB_ERROR_PRIMARY_KEY_ALREADY_EXISTS' ||
eregi('duplicate key name',$db->error()))
{
//print "<td>Deja existante</td></tr>";
$key_exists = 1;
}
else
{
print "<tr><td>".$langs->trans("CreateOtherKeysForTable",$name);
print "<br>".$langs->trans("Request").' '.$requestnb.' : '.$buffer;
print "</td>";
print "<td>".$langs->trans("Error")." ".$db->errno()." ".$db->error()."</td></tr>";
$error++;
}
}
}
}
}
// Si plusieurs requetes, on boucle sur chaque
$listesql=split(';',$buffer);
foreach ($listesql as $buffer)
else
{
if (trim($buffer))
{
//print "<tr><td>Création des clés et index de la table $name: '$buffer'</td>";
$requestnb++;
if ($character_set_client=="UTF-8"){
$buffer=utf8_encode ($buffer);
}
if ($db->query(trim($buffer)))
{
//print "<td>OK requete ==== $buffer</td></tr>";
}
else
{
if ($db->errno() == 'DB_ERROR_KEY_NAME_ALREADY_EXISTS' ||
$db->errno() == 'DB_ERROR_CANNOT_CREATE' ||
$db->errno() == 'DB_ERROR_PRIMARY_KEY_ALREADY_EXISTS' ||
eregi('duplicate key name',$db->error()))
{
//print "<td>Déjà existante</td></tr>";
$key_exists = 1;
}
else
{
print "<tr><td>".$langs->trans("CreateOtherKeysForTable",$name);
print "<br>".$langs->trans("Request").' '.$requestnb.' : '.$buffer;
print "</td>";
print "<td>".$langs->trans("Error")." ".$db->errno()." ".$db->error()."</td></tr>";
$error++;
}
}
}
print "<tr><td>".$langs->trans("CreateOtherKeysForTable",$name);
print "</td>";
print "<td>".$langs->trans("Error")." Failed to open file ".$dir.$file."</td></tr>";
$error++;
dolibarr_install_syslog("Failed to open file ".$dir.$file,LOG_ERR);
}
}
@ -305,7 +329,7 @@ if ($_POST["action"] == "set")
elseif ($choix==2) $dir = "../../pgsql/functions/";
elseif ($choix==3) $dir = "../../mssql/functions/";
// Création données
// Cr<EFBFBD>ation donn<6E>es
$file = "functions.sql";
if (file_exists($dir.$file)) {
$fp = fopen($dir.$file,"r");
@ -323,7 +347,7 @@ if ($_POST["action"] == "set")
}
// Si plusieurs requetes, on boucle sur chaque
$listesql=split('§',eregi_replace(";';",";'§",$buffer));
$listesql=split('<EFBFBD>',eregi_replace(";';",";'<EFBFBD>",$buffer));
foreach ($listesql as $buffer) {
if (trim($buffer)) {
@ -372,7 +396,7 @@ if ($_POST["action"] == "set")
elseif ($choix==2) $dir = "../../pgsql/data/";
elseif ($choix==3) $dir = "../../mssql/data/";
// Création données
// Cr<EFBFBD>ation donn<6E>es
$file = "data.sql";
$fp = fopen($dir.$file,"r");
if ($fp)
@ -419,7 +443,7 @@ if ($_POST["action"] == "set")
/***************************************************************************************
*
* Les variables qui ecrase le chemin par defaut sont redéfinies
* Les variables qui ecrase le chemin par defaut sont red<EFBFBD>finies
*
***************************************************************************************/
if ($ok == 1)