diff --git a/htdocs/install/fileconf.php b/htdocs/install/fileconf.php
index 0186e42809d..a240973f095 100644
--- a/htdocs/install/fileconf.php
+++ b/htdocs/install/fileconf.php
@@ -24,7 +24,7 @@
/**
* \file htdocs/install/fileconf.php
* \ingroup install
- * \brief Ask all informations required to build Dolibarr htdocs/conf/conf.php file (will be wrote on disk on next page)
+ * \brief Ask all informations required to build Dolibarr htdocs/conf/conf.php file (will be wrote on disk on next page step1)
*/
include_once 'inc.php';
diff --git a/htdocs/install/step1.php b/htdocs/install/step1.php
index 838ef34afa3..920028a697c 100644
--- a/htdocs/install/step1.php
+++ b/htdocs/install/step1.php
@@ -32,8 +32,8 @@ include 'inc.php';
global $langs;
-$action=GETPOST('action','alpha');
-$setuplang=(GETPOST('selectlang','aZ09',3)?GETPOST('selectlang','aZ09',3):'auto');
+$action=GETPOST('action','aZ09')?GETPOST('action','aZ09'):(empty($argv[1])?'':$argv[1]);
+$setuplang=GETPOST('selectlang','aZ09',3)?GETPOST('selectlang','aZ09',3):(empty($argv[2])?'auto':$argv[2]);
$langs->setDefaultLang($setuplang);
$langs->load("admin");
@@ -41,24 +41,24 @@ $langs->load("install");
$langs->load("errors");
// Dolibarr pages directory
-$main_dir = GETPOST('main_dir');
+$main_dir = GETPOST('main_dir')?GETPOST('main_dir'):(empty($argv[3])?'':$argv[3]);
// Directory for generated documents (invoices, orders, ecm, etc...)
-$main_data_dir = GETPOST('main_data_dir') ? GETPOST('main_data_dir') : $main_dir . '/documents';
+$main_data_dir = GETPOST('main_data_dir') ? GETPOST('main_data_dir') : (empty($argv[4])? ($main_dir . '/documents') :$argv[4]);
// Dolibarr root URL
-$main_url = GETPOST('main_url');
+$main_url = GETPOST('main_url')?GETPOST('main_url'):(empty($argv[5])?'':$argv[5]);
// Database login informations
-$userroot=GETPOST('db_user_root');
-$passroot=GETPOST('db_pass_root');
+$userroot=GETPOST('db_user_root')?GETPOST('db_user_root'):(empty($argv[6])?'':$argv[6]);
+$passroot=GETPOST('db_pass_root')?GETPOST('db_pass_root'):(empty($argv[7])?'':$argv[7]);
// Database server
-$db_type=GETPOST('db_type','alpha');
-$db_host=GETPOST('db_host','alpha');
-$db_name=GETPOST('db_name','alpha');
-$db_user=GETPOST('db_user','alpha');
-$db_pass=GETPOST('db_pass');
-$db_port=GETPOST('db_port','int');
-$db_prefix=GETPOST('db_prefix','alpha');
-$db_create_database = GETPOST('db_create_database','none');
-$db_create_user = GETPOST('db_create_user','none');
+$db_type=GETPOST('db_type','alpha')?GETPOST('db_type','alpha'):(empty($argv[8])?'':$argv[8]);
+$db_host=GETPOST('db_host','alpha')?GETPOST('db_host','alpha'):(empty($argv[9])?'':$argv[9]);
+$db_name=GETPOST('db_name','alpha')?GETPOST('db_name','alpha'):(empty($argv[10])?'':$argv[10]);
+$db_user=GETPOST('db_user','alpha')?GETPOST('db_user','alpha'):(empty($argv[11])?'':$argv[11]);
+$db_pass=GETPOST('db_pass')?GETPOST('db_pass'):(empty($argv[12])?'':$argv[12]);
+$db_port=GETPOST('db_port','int')?GETPOST('db_port','int'):(empty($argv[13])?'':$argv[13]);
+$db_prefix=GETPOST('db_prefix','alpha')?GETPOST('db_prefix','alpha'):(empty($argv[14])?'':$argv[14]);
+$db_create_database = GETPOST('db_create_database','none')?GETPOST('db_create_database','none'):(empty($argv[15])?'':$argv[15]);
+$db_create_user = GETPOST('db_create_user','none')?GETPOST('db_create_user','none'):(empty($argv[16])?'':$argv[16]);
// Force https
$main_force_https = ((GETPOST("main_force_https",'alpha') && (GETPOST("main_force_https",'alpha') == "on" || GETPOST("main_force_https",'alpha') == 1)) ? '1' : '0');
// Use alternative directory
@@ -800,10 +800,17 @@ function jsinfo()
setDefaultLang($setuplang);
$langs->load("admin");
@@ -622,8 +622,17 @@ else
print 'Parameter action=set not defined';
}
+
+$ret=0;
+if (!$ok && isset($argv[1])) $ret=1;
+dolibarr_install_syslog("Exit ".$ret);
+
dolibarr_install_syslog("--- step2: end");
pFooter($ok?0:1,$setuplang);
if (isset($db) && is_object($db)) $db->close();
+
+// Return code if ran from command line
+if ($ret) exit($ret);
+
diff --git a/htdocs/install/step4.php b/htdocs/install/step4.php
index 0fe8c6bbf06..ccd328b5092 100644
--- a/htdocs/install/step4.php
+++ b/htdocs/install/step4.php
@@ -32,7 +32,7 @@ require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php';
global $langs;
-$setuplang=(GETPOST('selectlang','aZ09',3)?GETPOST('selectlang','aZ09',3):'auto');
+$setuplang=GETPOST('selectlang','aZ09',3)?GETPOST('selectlang','aZ09',3):(empty($argv[1])?'auto':$argv[1]);
$langs->setDefaultLang($setuplang);
$langs->load("admin");
@@ -49,7 +49,7 @@ if (@file_exists($forcedfile)) {
dolibarr_install_syslog("--- step4: entering step4.php page");
-$err=0;
+$error=0;
$ok = 0;
@@ -92,7 +92,7 @@ if ($db->ok)
{
print '
';
print '