diff --git a/htdocs/install/etape0.php b/htdocs/install/etape0.php index 9a39ee47089..b6fb03aa29c 100644 --- a/htdocs/install/etape0.php +++ b/htdocs/install/etape0.php @@ -17,7 +17,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ - * $Source$ */ /** @@ -38,12 +37,15 @@ $langs->load("install"); $error = 0; -/* - * Actions +/** + * Récuparation des information de connexion */ +$userroot=isset($_POST["db_user_root"])?$_POST["db_user_root"]:""; +$passroot=isset($_POST["db_pass_root"])?$_POST["db_pass_root"]:""; +// Répertoire des pages dolibarr +$main_dir=isset($_POST["main_dir"])?trim($_POST["main_dir"]):''; + - - /* * Affichage page */ @@ -60,45 +62,57 @@ if ($_POST["action"] == "set") } } -/** - * Récuparation des information de connexion - */ -$userroot=isset($_POST["db_user_root"])?$_POST["db_user_root"]:""; -$passroot=isset($_POST["db_pass_root"])?$_POST["db_pass_root"]:""; -// Répertoire des pages dolibarr -$main_dir=isset($_POST["main_dir"])?trim($_POST["main_dir"]):''; +// Check parameters +if (! isset($_POST["db_type"]) || ! $_POST["db_type"]) +{ + print '
'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("DatabaseType")).'
'; + $error++; +} +if (! isset($_POST["db_host"]) || ! $_POST["db_host"]) +{ + print '
'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("Server")).'
'; + $error++; +} +if (! isset($_POST["db_name"]) || ! $_POST["db_name"]) +{ + print '
'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("DatabaseName")).'
'; + $error++; +} + /** * Si l'utilisateur n'est pas déjà créé, on se connecte à l'aide du login root' */ -require_once($main_dir."/lib/databases/".$_POST["db_type"].".lib.php"); -if (isset($_POST["db_create_user"]) && $_POST["db_create_user"] == "on") -{ - $databasefortest=$conf->db->name; - if ($_POST["db_type"] == 'mysql' ||$_POST["db_type"] == 'mysqli') - { - $databasefortest='mysql'; - } - elseif ($_POST["db_type"] == 'pgsql') - { - $databasefortest='postgres'; +if (! $error) +{ + require_once($main_dir."/lib/databases/".$_POST["db_type"].".lib.php"); + if (isset($_POST["db_create_user"]) && $_POST["db_create_user"] == "on") + { + $databasefortest=$conf->db->name; + if ($_POST["db_type"] == 'mysql' ||$_POST["db_type"] == 'mysqli') + { + $databasefortest='mysql'; + } + elseif ($_POST["db_type"] == 'pgsql') + { + $databasefortest='postgres'; + } + else + { + $databasefortest='mssql'; + } + $db = new DoliDb($_POST["db_type"],$_POST["db_host"],$userroot,$passroot,$databasefortest); } else - { - $databasefortest='mssql'; + { + $db = new DoliDb($_POST["db_type"],$_POST["db_host"],$_POST["db_user"],$_POST["db_pass"],$_POST["db_name"]); + } + if ($db->error) + { + print '
'.$db->error.'
'; + $error++; } - $db = new DoliDb($_POST["db_type"],$_POST["db_host"],$userroot,$passroot,$databasefortest); } -else -{ - $db = new DoliDb($_POST["db_type"],$_POST["db_host"],$_POST["db_user"],$_POST["db_pass"],$_POST["db_name"]); -} -if ($db->error) -{ - print '
'.$db->error.'
'; - $error++; -} - /* * Si creation database demandée, il est possible de faire un choix @@ -111,7 +125,7 @@ if (! $error && (isset($_POST["db_create_database"]) && $_POST["db_create_databa $disabled="disabled"; } -if ($db->connected) +if (! $error && $db->connected) { ?> @@ -145,7 +159,7 @@ if ($db->connected) $listOfCharacterSet=$db->getListOfCharacterSet(); $listOfCollation=$db->getListOfCollation(); - { + ?> @@ -181,7 +195,7 @@ if ($db->connected) lasterror(); + if (isset($db)) print $db->lasterror(); print '
'.$langs->trans("BecauseConnectionFailedParametersMayBeWrong").'

'; print $langs->trans("ErrorGoBackAndCorrectParameters"); $error++; diff --git a/htdocs/install/etape1.php b/htdocs/install/etape1.php index f4663283909..efe95971578 100644 --- a/htdocs/install/etape1.php +++ b/htdocs/install/etape1.php @@ -71,7 +71,7 @@ if (! $main_data_dir) { $main_data_dir="$main_dir/documents"; } if ($_POST["action"] == "set") { umask(0); - print '

'.$langs->trans("SaveConfigurationFile").'

'; + print '

'.$langs->trans("ConfigurationFile").'

'; print '
trans("CharacterSetDatabase"); ?>
trans("CharacterSetDatabaseComment"); ?>
'; // Verification validite parametre main_dir @@ -147,15 +147,15 @@ if ($_POST["action"] == "set") fputs($fp,"\n"); /* Authentication */ - if ($_POST["db_type"] == 'mssql') - { - fputs($fp, '$dolibarr_main_authentication="dolibarr_mdb2";'); - } - else - { - fputs($fp, '$dolibarr_main_authentication="dolibarr";'); - } - fputs($fp,"\n"); + if ($_POST["db_type"] == 'mssql') + { + fputs($fp, '$dolibarr_main_authentication="dolibarr_mdb2";'); + } + else + { + fputs($fp, '$dolibarr_main_authentication="dolibarr";'); + } + fputs($fp,"\n"); /* Preparation integration SMARTY */ fputs($fp, '$dolibarr_smarty_libs_dir="";'); @@ -175,6 +175,12 @@ if ($_POST["action"] == "set") { include("$conffile"); // On force rechargement. Ne pas mettre include_once ! conf($dolibarr_main_document_root); + + print ""; } else { diff --git a/htdocs/install/fileconf.php b/htdocs/install/fileconf.php index 8e21ffbacb7..23e0208d5db 100644 --- a/htdocs/install/fileconf.php +++ b/htdocs/install/fileconf.php @@ -1,7 +1,7 @@ * Copyright (C) 2004 Éric Seigne - * Copyright (C) 2004-2005 Laurent Destailleur + * Copyright (C) 2004-2007 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Sebastien DiCintio * @@ -20,7 +20,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ - * $Source$ */ /** @@ -53,9 +52,9 @@ print '
"; + print $langs->trans("SaveConfigurationFile"); + print ""; + print $langs->trans("OK"); + print "
'; '; -print '"; +print ""; if(! isset($dolibarr_main_url_root) || strlen($dolibarr_main_url_root) == 0) { @@ -97,9 +96,9 @@ print $langs->trans("Examples").":
"; - +trans("Examples").":
"; - - + - - + - +
'; +print ''; print $langs->trans("WebPagesDirectory"); -print "
+ trans("DocumentsDirectory"); ?> -
+ trans("URLRoot"); ?> -
+ trans("DriverType"); ?> -
+ trans("Server"); ?> - + @@ -258,9 +257,9 @@ while (($file = readdir($handle))!==false)
+ trans("DatabaseName"); ?> - diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php index 3482f9d120d..7e652ecdf6d 100644 --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -46,23 +46,26 @@ if (file_exists($conffile)) include_once($conffile); // Fichier conf chargé // Remove last / or \ on directories or url value - if (! ereg('^[\\\/]+$',$dolibarr_main_document_root)) $dolibarr_main_document_root=ereg_replace('[\\\/]+$','',$dolibarr_main_document_root); - if (! ereg('^[\\\/]+$',$dolibarr_main_url_root)) $dolibarr_main_url_root=ereg_replace('[\\\/]+$','',$dolibarr_main_url_root); - if (! ereg('^[\\\/]+$',$dolibarr_main_data_root)) $dolibarr_main_data_root=ereg_replace('[\\\/]+$','',$dolibarr_main_data_root); + if (isset($dolibarr_main_document_root) && ! ereg('^[\\\/]+$',$dolibarr_main_document_root)) $dolibarr_main_document_root=ereg_replace('[\\\/]+$','',$dolibarr_main_document_root); + if (isset($dolibarr_main_url_root) && ! ereg('^[\\\/]+$',$dolibarr_main_url_root)) $dolibarr_main_url_root=ereg_replace('[\\\/]+$','',$dolibarr_main_url_root); + if (isset($dolibarr_main_data_root) && ! ereg('^[\\\/]+$',$dolibarr_main_data_root)) $dolibarr_main_data_root=ereg_replace('[\\\/]+$','',$dolibarr_main_data_root); - if ($dolibarr_main_document_root) + if (isset($dolibarr_main_document_root) && $dolibarr_main_document_root) { - require($dolibarr_main_document_root . "/conf/conf.class.php"); - conf($dolibarr_main_document_root ); + conf($dolibarr_main_document_root); } - if ($dolibarr_main_document_root && $dolibarr_main_db_type && ! defined('DONOTLOADCONF')) + if (isset($dolibarr_main_document_root) && $dolibarr_main_document_root && $dolibarr_main_db_type && ! defined('DONOTLOADCONF')) { require_once($dolibarr_main_document_root . "/lib/databases/".$dolibarr_main_db_type.".lib.php"); } } if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_'; -define('MAIN_DB_PREFIX',$dolibarr_main_db_prefix); -define('DOL_DATA_ROOT',$dolibarr_main_data_root); +define('MAIN_DB_PREFIX',(isset($dolibarr_main_db_prefix)?$dolibarr_main_db_prefix:'')); +define('DOL_DATA_ROOT',(isset($dolibarr_main_data_root)?$dolibarr_main_data_root:'')); +if (! isset($conf->character_set_client)) $conf->character_set_client='iso-8859-1'; +if (! isset($conf->db->collation_connection)) $conf->db->collation_connection='latin1_swedish_ci'; +if (! isset($conf->db->user)) $conf->db->user=''; + // Forcage du log pour les install et mises a jour $conf->syslog->enabled=1; @@ -100,9 +103,12 @@ $bc[false]=' class="bg1"'; $bc[true]=' class="bg2"'; +/* +* \brief Charge fichier conf (doit exister) +*/ function conf($dolibarr_main_document_root) { - require_once($dolibarr_main_document_root . "/conf/conf.class.php"); + require_once($dolibarr_main_document_root."/conf/conf.class.php"); global $conf; global $dolibarr_main_db_type; global $dolibarr_main_db_host; @@ -124,6 +130,10 @@ function conf($dolibarr_main_document_root) } + +/* +* \brief Affiche entete HTML +*/ function pHeader($soutitre,$next,$action='set') { global $conf; diff --git a/htdocs/install/index.php b/htdocs/install/index.php index 7e9c7bb6ee0..c1e2174a7d8 100644 --- a/htdocs/install/index.php +++ b/htdocs/install/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004 Laurent Destailleur + * Copyright (C) 2004-2007 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,7 +17,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ - * $Source$ */ /** @@ -51,8 +50,6 @@ print '
'; $langs->load("admin"); $langs_available=$langs->get_available_languages(".."); -define('DOL_DOCUMENT_ROOT','..'); - print '

'; print ''; print '
'.$langs->trans("DefaultLanguage").' : ';