Merge pull request #4673 from GPCsolutions/develop-forcedinstall
New: Improved forced install process
This commit is contained in:
commit
0ff6149741
@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2013-2014 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2013-2014 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -28,6 +28,8 @@
|
|||||||
*/
|
*/
|
||||||
include_once 'inc.php';
|
include_once 'inc.php';
|
||||||
|
|
||||||
|
global $langs;
|
||||||
|
|
||||||
$err = 0;
|
$err = 0;
|
||||||
$allowinstall = 0;
|
$allowinstall = 0;
|
||||||
$allowupgrade = false;
|
$allowupgrade = false;
|
||||||
@ -42,7 +44,10 @@ $langs->load("install");
|
|||||||
$useforcedwizard=false;
|
$useforcedwizard=false;
|
||||||
$forcedfile="./install.forced.php";
|
$forcedfile="./install.forced.php";
|
||||||
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
||||||
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once $forcedfile; }
|
if (@file_exists($forcedfile)) {
|
||||||
|
$useforcedwizard = true;
|
||||||
|
include_once $forcedfile;
|
||||||
|
}
|
||||||
|
|
||||||
dolibarr_install_syslog("--- check: Dolibarr install/upgrade process started");
|
dolibarr_install_syslog("--- check: Dolibarr install/upgrade process started");
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
|
||||||
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2004 Sebastien DiCintio <sdicintio@ressource-toi.org>
|
* Copyright (C) 2004 Sebastien DiCintio <sdicintio@ressource-toi.org>
|
||||||
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
|
* Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -28,6 +29,8 @@
|
|||||||
|
|
||||||
include_once 'inc.php';
|
include_once 'inc.php';
|
||||||
|
|
||||||
|
global $langs;
|
||||||
|
|
||||||
$err=0;
|
$err=0;
|
||||||
|
|
||||||
$setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):(isset($_GET["lang"])?$_GET["lang"]:'auto');
|
$setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):(isset($_GET["lang"])?$_GET["lang"]:'auto');
|
||||||
@ -58,12 +61,10 @@ $useforcedwizard=false;
|
|||||||
$forcedfile="./install.forced.php";
|
$forcedfile="./install.forced.php";
|
||||||
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php"; // Must be after inc.php
|
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php"; // Must be after inc.php
|
||||||
if (@file_exists($forcedfile)) {
|
if (@file_exists($forcedfile)) {
|
||||||
$useforcedwizard=true; include_once $forcedfile;
|
$useforcedwizard = true;
|
||||||
|
include_once $forcedfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
//$force_install_message='This is the message';
|
|
||||||
//$force_install_noedit=1;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
@ -120,37 +121,20 @@ if (! empty($force_install_message))
|
|||||||
print $langs->trans("WebPagesDirectory");
|
print $langs->trans("WebPagesDirectory");
|
||||||
print "</b></td>";
|
print "</b></td>";
|
||||||
|
|
||||||
if(! isset($dolibarr_main_url_root) || dol_strlen($dolibarr_main_url_root) == 0)
|
if (empty($dolibarr_main_url_root)) {
|
||||||
{
|
$dolibarr_main_document_root = detect_dolibarr_main_document_root();
|
||||||
//print "x".$_SERVER["SCRIPT_FILENAME"]." y".$_SERVER["DOCUMENT_ROOT"];
|
|
||||||
|
|
||||||
// Si le php fonctionne en CGI, alors SCRIPT_FILENAME vaut le path du php et
|
|
||||||
// ce n'est pas ce qu'on veut. Dans ce cas, on propose $_SERVER["DOCUMENT_ROOT"]
|
|
||||||
if (preg_match('/^php$/i',$_SERVER["SCRIPT_FILENAME"]) || preg_match('/[\\/]php$/i',$_SERVER["SCRIPT_FILENAME"]) || preg_match('/php\.exe$/i',$_SERVER["SCRIPT_FILENAME"]))
|
|
||||||
{
|
|
||||||
$dolibarr_main_document_root=$_SERVER["DOCUMENT_ROOT"];
|
|
||||||
|
|
||||||
if (! preg_match('/[\\/]dolibarr[\\/]htdocs$/i',$dolibarr_main_document_root))
|
|
||||||
{
|
|
||||||
$dolibarr_main_document_root.="/dolibarr/htdocs";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$dolibarr_main_document_root = substr($_SERVER["SCRIPT_FILENAME"],0,dol_strlen($_SERVER["SCRIPT_FILENAME"]) - 21);
|
|
||||||
// Nettoyage du path propose
|
|
||||||
// Gere les chemins windows avec double "\"
|
|
||||||
$dolibarr_main_document_root = str_replace('\\\\','/',$dolibarr_main_document_root);
|
|
||||||
|
|
||||||
// Supprime les slash ou antislash de fins
|
|
||||||
$dolibarr_main_document_root = preg_replace('/[\\/]+$/','',$dolibarr_main_document_root);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<td class="label" valign="top"><?php
|
<td class="label" valign="top">
|
||||||
if ($force_install_noedit) print '<input type="hidden" value="'.$dolibarr_main_document_root.'" name="main_dir">';
|
<input type="text"
|
||||||
print '<input type="text" size="60" value="'.$dolibarr_main_document_root.'"'.(empty($force_install_noedit)?'':' disabled').' name="main_dir'.(empty($force_install_noedit)?'':'_bis').'">';
|
size="60"
|
||||||
?></td>
|
value="<?php print $dolibarr_main_document_root ?>"
|
||||||
|
name="main_dir"
|
||||||
|
<?php if (!empty($force_install_noedit)) {
|
||||||
|
print 'disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php
|
<td class="comment"><?php
|
||||||
print $langs->trans("WithNoSlashAtTheEnd")."<br>";
|
print $langs->trans("WithNoSlashAtTheEnd")."<br>";
|
||||||
print $langs->trans("Examples").":<br>";
|
print $langs->trans("Examples").":<br>";
|
||||||
@ -167,24 +151,21 @@ if (! empty($force_install_message))
|
|||||||
<td valign="top" class="label"><b> <?php print $langs->trans("DocumentsDirectory"); ?></b>
|
<td valign="top" class="label"><b> <?php print $langs->trans("DocumentsDirectory"); ?></b>
|
||||||
</td>
|
</td>
|
||||||
<?php
|
<?php
|
||||||
if (empty($dolibarr_main_data_root))
|
$dolibarr_main_data_root = $force_install_main_data_root;
|
||||||
{
|
if (empty($dolibarr_main_data_root)) {
|
||||||
// Si le repertoire documents non defini, on en propose un par defaut
|
$dolibarr_main_data_root = detect_dolibarr_main_data_root($dolibarr_main_document_root);
|
||||||
if (empty($force_install_main_data_root))
|
|
||||||
{
|
|
||||||
$dolibarr_main_data_root=preg_replace("/\/htdocs$/","",$dolibarr_main_document_root);
|
|
||||||
$dolibarr_main_data_root.="/documents";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$dolibarr_main_data_root=$force_install_main_data_root;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<td class="label" valign="top"><?php
|
<td class="label" valign="top">
|
||||||
if ($force_install_noedit) print '<input type="hidden" value="'.$dolibarr_main_data_root.'" name="main_data_dir">';
|
<input type="text"
|
||||||
print '<input type="text" size="60" value="'.$dolibarr_main_data_root.'"'.(empty($force_install_noedit)?'':' disabled').' name="main_data_dir'.(empty($force_install_noedit)?'':'_bis').'">';
|
size="60"
|
||||||
?></td>
|
value="<?php print $dolibarr_main_data_root ?>"
|
||||||
|
name="main_data_dir"
|
||||||
|
<?php if (!empty($force_install_noedit)) {
|
||||||
|
print 'disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php
|
<td class="comment"><?php
|
||||||
print $langs->trans("WithNoSlashAtTheEnd")."<br>";
|
print $langs->trans("WithNoSlashAtTheEnd")."<br>";
|
||||||
print $langs->trans("DirectoryRecommendation")."<br>";
|
print $langs->trans("DirectoryRecommendation")."<br>";
|
||||||
@ -199,39 +180,23 @@ if (! empty($force_install_message))
|
|||||||
|
|
||||||
<!-- Root URL $dolibarr_main_url_root -->
|
<!-- Root URL $dolibarr_main_url_root -->
|
||||||
<?php
|
<?php
|
||||||
if (! empty($main_url)) $dolibarr_main_url_root=$main_url;
|
if (empty($dolibarr_main_url_root)) {
|
||||||
if (empty($dolibarr_main_url_root))
|
$dolibarr_main_url_root = detect_dolibarr_main_url_root();
|
||||||
{
|
|
||||||
// If defined (Ie: Apache with Linux)
|
|
||||||
if (isset($_SERVER["SCRIPT_URI"])) {
|
|
||||||
$dolibarr_main_url_root=$_SERVER["SCRIPT_URI"];
|
|
||||||
}
|
|
||||||
// If defined (Ie: Apache with Caudium)
|
|
||||||
elseif (isset($_SERVER["SERVER_URL"]) && isset($_SERVER["DOCUMENT_URI"])) {
|
|
||||||
$dolibarr_main_url_root=$_SERVER["SERVER_URL"].$_SERVER["DOCUMENT_URI"];
|
|
||||||
}
|
|
||||||
// If SCRIPT_URI, SERVER_URL, DOCUMENT_URI not defined (Ie: Apache 2.0.44 for Windows)
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$proto='http';
|
|
||||||
if (! empty($_SERVER["HTTP_HOST"])) $serverport=$_SERVER["HTTP_HOST"];
|
|
||||||
else $serverport=$_SERVER["SERVER_NAME"];
|
|
||||||
$dolibarr_main_url_root=$proto."://".$serverport.$_SERVER["SCRIPT_NAME"];
|
|
||||||
}
|
|
||||||
// Clean proposed URL
|
|
||||||
$dolibarr_main_url_root = preg_replace('/\/fileconf\.php$/','',$dolibarr_main_url_root); // Remove the /fileconf.php
|
|
||||||
$dolibarr_main_url_root = preg_replace('/\/$/','',$dolibarr_main_url_root); // Remove the /
|
|
||||||
$dolibarr_main_url_root = preg_replace('/\/index\.php$/','',$dolibarr_main_url_root); // Remove the /index.php
|
|
||||||
$dolibarr_main_url_root = preg_replace('/\/install$/','',$dolibarr_main_url_root); // Remove the /install
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" class="label"><b> <?php echo $langs->trans("URLRoot"); ?></b>
|
<td valign="top" class="label"><b> <?php echo $langs->trans("URLRoot"); ?></b>
|
||||||
</td>
|
</td>
|
||||||
<td valign="top" class="label"><?php
|
<td valign="top" class="label">
|
||||||
if ($force_install_noedit) print '<input type="hidden" value="'.$dolibarr_main_url_root.'" name="main_url">';
|
<input type="text"
|
||||||
print '<input type="text" size="60" value="'.$dolibarr_main_url_root.'"'.(empty($force_install_noedit)?'':' disabled').' name="main_url'.(empty($force_install_noedit)?'':'_bis').'">';
|
size="60"
|
||||||
?></td>
|
name="main_url"
|
||||||
|
value="<?php print $dolibarr_main_url_root; ?> "
|
||||||
|
<?php if (!empty($force_install_noedit)) {
|
||||||
|
print 'disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php print $langs->trans("Examples").":<br>"; ?>
|
<td class="comment"><?php print $langs->trans("Examples").":<br>"; ?>
|
||||||
<ul>
|
<ul>
|
||||||
<li>http://localhost/</li>
|
<li>http://localhost/</li>
|
||||||
@ -245,9 +210,17 @@ if (! empty($force_install_message))
|
|||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td valign="top" class="label"><?php echo $langs->trans("ForceHttps"); ?></td>
|
<td valign="top" class="label"><?php echo $langs->trans("ForceHttps"); ?></td>
|
||||||
<td class="label" valign="top"><input type="checkbox"
|
<td class="label" valign="top">
|
||||||
name="main_force_https"
|
<input type="checkbox"
|
||||||
<?php if (! empty($force_install_mainforcehttps)) print ' checked'; ?>></td>
|
name="main_force_https"
|
||||||
|
<?php if (!empty($force_install_mainforcehttps)) {
|
||||||
|
print 'checked';
|
||||||
|
} ?>
|
||||||
|
<?php if ($force_install_noedit == 2 && $force_install_mainforcehttps !== null) {
|
||||||
|
print 'disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("CheckToForceHttps"); ?>
|
<td class="comment"><?php echo $langs->trans("CheckToForceHttps"); ?>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
@ -265,13 +238,18 @@ if (! empty($force_install_message))
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="label" valign="top"><b> <?php echo $langs->trans("DatabaseName"); ?>
|
<td class="label" valign="top"><b> <?php echo $langs->trans("DatabaseName"); ?>
|
||||||
</b></td>
|
</b></td>
|
||||||
|
<td class="label" valign="top">
|
||||||
<td class="label" valign="top"><input type="text" id="db_name"
|
<input type="text" id="db_name"
|
||||||
name="db_name"
|
name="db_name"
|
||||||
value="<?php echo (! empty($dolibarr_main_db_name))?$dolibarr_main_db_name:($force_install_database?$force_install_database:'dolibarr'); ?>"></td>
|
value="<?php echo (!empty($dolibarr_main_db_name)) ? $dolibarr_main_db_name : ($force_install_database ? $force_install_database : 'dolibarr'); ?>"
|
||||||
<td class="comment"><?php echo $langs->trans("DatabaseName"); ?></td>
|
<?php if ($force_install_noedit == 2 && $force_install_database !== null) {
|
||||||
|
print 'disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
|
<td class="comment"><?php echo $langs->trans("DatabaseName"); ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
@ -286,7 +264,8 @@ if (! empty($force_install_message))
|
|||||||
<td valign="top" class="label"><b> <?php echo $langs->trans("DriverType"); ?>
|
<td valign="top" class="label"><b> <?php echo $langs->trans("DriverType"); ?>
|
||||||
</b></td>
|
</b></td>
|
||||||
|
|
||||||
<td class="label"><?php
|
<td class="label">
|
||||||
|
<?php
|
||||||
|
|
||||||
$defaultype=! empty($dolibarr_main_db_type)?$dolibarr_main_db_type:($force_install_type?$force_install_type:'mysqli');
|
$defaultype=! empty($dolibarr_main_db_type)?$dolibarr_main_db_type:($force_install_type?$force_install_type:'mysqli');
|
||||||
|
|
||||||
@ -342,13 +321,17 @@ if (! empty($force_install_message))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
?>
|
||||||
|
<select id="db_type"
|
||||||
|
name="db_type"
|
||||||
|
<?php if ($force_install_noedit && $force_install_type !== null) {
|
||||||
|
print 'disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
<?php print $option; ?>
|
||||||
|
</select>
|
||||||
|
|
||||||
if ($force_install_noedit && $force_install_type) print '<input id="db_type" type="hidden" value="'.$force_install_type.'" name="db_type">';
|
</td>
|
||||||
print '<select id="db_type" name="db_type'.(empty($force_install_noedit) || empty($force_install_type)?'':'_bis').'"'.($force_install_noedit && $force_install_type?' disabled':'').'>';
|
|
||||||
print $option;
|
|
||||||
print '</select>';
|
|
||||||
|
|
||||||
?></td>
|
|
||||||
<td class="comment"><?php echo $langs->trans("DatabaseType"); ?></td>
|
<td class="comment"><?php echo $langs->trans("DatabaseType"); ?></td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
@ -356,11 +339,14 @@ if (! empty($force_install_message))
|
|||||||
<tr class="hidesqlite">
|
<tr class="hidesqlite">
|
||||||
<td valign="top" class="label"><b> <?php echo $langs->trans("Server"); ?>
|
<td valign="top" class="label"><b> <?php echo $langs->trans("Server"); ?>
|
||||||
</b></td>
|
</b></td>
|
||||||
<td valign="top" class="label"><input type="text"
|
<td valign="top" class="label">
|
||||||
name="db_host<?php print ($force_install_noedit==2 && $force_install_dbserver)?'_bis':''; ?>"
|
<input type="text"
|
||||||
<?php if ($force_install_noedit==2 && $force_install_dbserver) print ' disabled'; ?>
|
name="db_host"
|
||||||
value="<?php print (! empty($dolibarr_main_db_host))?$dolibarr_main_db_host:(empty($force_install_dbserver)?'localhost':$force_install_dbserver); ?>">
|
value="<?php print (!empty($force_install_dbserver) ? $force_install_dbserver : (!empty($dolibarr_main_db_host) ? $dolibarr_main_db_host : 'localhost')); ?>"
|
||||||
<?php if ($force_install_noedit==2 && $force_install_dbserver) print '<input type="hidden" name="db_host" value="'.((! empty($dolibarr_main_db_host))?$dolibarr_main_db_host:$force_install_dbserver).'">'; ?>
|
<?php if ($force_install_noedit == 2 && $force_install_dbserver !== null) {
|
||||||
|
print ' disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
</td>
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("ServerAddressDescription"); ?>
|
<td class="comment"><?php echo $langs->trans("ServerAddressDescription"); ?>
|
||||||
</td>
|
</td>
|
||||||
@ -369,11 +355,15 @@ if (! empty($force_install_message))
|
|||||||
|
|
||||||
<tr class="hidesqlite">
|
<tr class="hidesqlite">
|
||||||
<td valign="top" class="label"><?php echo $langs->trans("Port"); ?></td>
|
<td valign="top" class="label"><?php echo $langs->trans("Port"); ?></td>
|
||||||
<td valign="top" class="label"><input type="text" id="db_port"
|
<td valign="top" class="label">
|
||||||
name="db_port<?php print ($force_install_noedit==2 && $force_install_port)?'_bis':''; ?>"
|
<input type="text"
|
||||||
<?php if ($force_install_noedit==2 && $force_install_port) print ' disabled'; ?>
|
name="db_port"
|
||||||
value="<?php print (! empty($dolibarr_main_db_port))?$dolibarr_main_db_port:$force_install_port; ?>">
|
id="db_port"
|
||||||
<?php if ($force_install_noedit==2 && $force_install_port) print '<input type="hidden" name="db_port" value="'.((! empty($dolibarr_main_db_port))?$dolibarr_main_db_port:$force_install_port).'">'; ?>
|
value="<?php print (!empty($force_install_port)) ? $force_install_port : $dolibarr_main_db_port; ?>"
|
||||||
|
<?php if ($force_install_noedit == 2 && $force_install_port !== null) {
|
||||||
|
print ' disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
</td>
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("ServerPortDescription"); ?>
|
<td class="comment"><?php echo $langs->trans("ServerPortDescription"); ?>
|
||||||
</td>
|
</td>
|
||||||
@ -383,20 +373,33 @@ if (! empty($force_install_message))
|
|||||||
<tr class="hidesqlite">
|
<tr class="hidesqlite">
|
||||||
<td class="label" valign="top"><?php echo $langs->trans("DatabasePrefix"); ?>
|
<td class="label" valign="top"><?php echo $langs->trans("DatabasePrefix"); ?>
|
||||||
</td>
|
</td>
|
||||||
|
<td class="label" valign="top">
|
||||||
<td class="label" valign="top"><input type="text" id="db_prefix"
|
<input type="text" id="db_prefix"
|
||||||
name="db_prefix"
|
name="db_prefix"
|
||||||
value="<?php echo (! empty($dolibarr_main_db_prefix))?$dolibarr_main_db_prefix:($force_install_prefix?$force_install_prefix:'llx_'); ?>"></td>
|
value="<?php echo(!empty($force_install_prefix) ? $force_install_prefix : (!empty($dolibarr_main_db_prefix) ? $dolibarr_main_db_prefix : 'llx_')); ?>"
|
||||||
|
<?php if ($force_install_noedit == 2 && $force_install_prefix !== null) {
|
||||||
|
print ' disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("DatabasePrefix"); ?></td>
|
<td class="comment"><?php echo $langs->trans("DatabasePrefix"); ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr class="hidesqlite">
|
<tr class="hidesqlite">
|
||||||
<td class="label" valign="top"><?php echo $langs->trans("CreateDatabase"); ?>
|
<td class="label" valign="top"><?php echo $langs->trans("CreateDatabase"); ?>
|
||||||
</td>
|
</td>
|
||||||
|
<td class="label" valign="top">
|
||||||
<td class="label" valign="top"><input type="checkbox"
|
<input type="checkbox"
|
||||||
id="db_create_database" name="db_create_database"
|
id="db_create_database"
|
||||||
<?php if ($force_install_createdatabase) print ' checked'; ?>></td>
|
name="db_create_database"
|
||||||
|
<?php if ($force_install_createdatabase) {
|
||||||
|
print ' checked';
|
||||||
|
} ?>
|
||||||
|
<?php if ($force_install_noedit == 2 && $force_install_createdatabase !== null) {
|
||||||
|
print ' disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("CheckToCreateDatabase"); ?>
|
<td class="comment"><?php echo $langs->trans("CheckToCreateDatabase"); ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -404,33 +407,54 @@ if (! empty($force_install_message))
|
|||||||
<tr class="hidesqlite">
|
<tr class="hidesqlite">
|
||||||
<td class="label" valign="top"><b><?php echo $langs->trans("Login"); ?></b>
|
<td class="label" valign="top"><b><?php echo $langs->trans("Login"); ?></b>
|
||||||
</td>
|
</td>
|
||||||
<td class="label" valign="top"><input type="text" id="db_user"
|
<td class="label" valign="top">
|
||||||
name="db_user"
|
<input type="text" id="db_user"
|
||||||
value="<?php print (! empty($dolibarr_main_db_user))?$dolibarr_main_db_user:$force_install_databaselogin; ?>"></td>
|
name="db_user"
|
||||||
|
value="<?php print (!empty($force_install_databaselogin)) ? $force_install_databaselogin : $dolibarr_main_db_user; ?>"
|
||||||
|
<?php if ($force_install_noedit == 2 && $force_install_databaselogin !== null) {
|
||||||
|
print ' disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("AdminLogin"); ?></td>
|
<td class="comment"><?php echo $langs->trans("AdminLogin"); ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr class="hidesqlite">
|
<tr class="hidesqlite">
|
||||||
<td class="label" valign="top"><b><?php echo $langs->trans("Password"); ?></b>
|
<td class="label" valign="top"><b><?php echo $langs->trans("Password"); ?></b>
|
||||||
</td>
|
</td>
|
||||||
<td class="label" valign="top"><input type="password" id="db_pass" autocomplete="off"
|
<td class="label" valign="top">
|
||||||
name="db_pass"
|
<input type="password" id="db_pass" autocomplete="off"
|
||||||
value="<?php
|
name="db_pass"
|
||||||
//$autofill=((! empty($dolibarr_main_db_pass))?$dolibarr_main_db_pass:$force_install_databasepass);
|
value="<?php
|
||||||
$autofill=((! empty($_SESSION['dol_save_pass']))?$_SESSION['dol_save_pass']:$force_install_databasepass);
|
// We don't want to set password. It will be extracted from the forced install file at step1.
|
||||||
if (! empty($dolibarr_main_prod)) $autofill='';
|
$autofill = ((!empty($_SESSION['dol_save_pass'])) ? $_SESSION['dol_save_pass'] : '');
|
||||||
print dol_escape_htmltag($autofill);
|
if (!empty($dolibarr_main_prod)) {
|
||||||
?>"></td>
|
$autofill = '';
|
||||||
|
}
|
||||||
|
print dol_escape_htmltag($autofill);
|
||||||
|
?>"
|
||||||
|
<?php if ($force_install_noedit == 2 && $force_install_databasepass !== null) {
|
||||||
|
print 'disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("AdminPassword"); ?></td>
|
<td class="comment"><?php echo $langs->trans("AdminPassword"); ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr class="hidesqlite">
|
<tr class="hidesqlite">
|
||||||
<td class="label" valign="top"><?php echo $langs->trans("CreateUser"); ?>
|
<td class="label" valign="top"><?php echo $langs->trans("CreateUser"); ?>
|
||||||
</td>
|
</td>
|
||||||
|
<td class="label" valign="top">
|
||||||
<td class="label" valign="top"><input type="checkbox"
|
<input type="checkbox"
|
||||||
id="db_create_user" name="db_create_user"
|
id="db_create_user" name="db_create_user"
|
||||||
<?php if (! empty($force_install_createuser)) print ' checked'; ?>></td>
|
<?php if (!empty($force_install_createuser)) {
|
||||||
|
print 'checked';
|
||||||
|
} ?>
|
||||||
|
<?php if ($force_install_noedit == 2 && $force_install_createuser !== null) {
|
||||||
|
print 'disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("CheckToCreateUser"); ?>
|
<td class="comment"><?php echo $langs->trans("CheckToCreateUser"); ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -438,8 +462,8 @@ if (! empty($force_install_message))
|
|||||||
|
|
||||||
<!-- Super access -->
|
<!-- Super access -->
|
||||||
<?php
|
<?php
|
||||||
$force_install_databaserootlogin=preg_replace('/__SUPERUSERLOGIN__/','root',$force_install_databaserootlogin);
|
$force_install_databaserootlogin = parse_database_login($force_install_databaserootlogin);
|
||||||
$force_install_databaserootpass=preg_replace('/__SUPERUSERPASSWORD__/','',$force_install_databaserootpass);
|
$force_install_databaserootpass = parse_database_pass($force_install_databaserootpass);
|
||||||
?>
|
?>
|
||||||
<tr class="hidesqlite hideroot">
|
<tr class="hidesqlite hideroot">
|
||||||
<td colspan="3" class="label" align="center"><br>
|
<td colspan="3" class="label" align="center"><br>
|
||||||
@ -449,9 +473,17 @@ if (! empty($force_install_message))
|
|||||||
|
|
||||||
<tr class="hidesqlite hideroot">
|
<tr class="hidesqlite hideroot">
|
||||||
<td class="label" valign="top"><b><?php echo $langs->trans("Login"); ?></b></td>
|
<td class="label" valign="top"><b><?php echo $langs->trans("Login"); ?></b></td>
|
||||||
<td class="label" valign="top"><input type="text" id="db_user_root"
|
<td class="label" valign="top">
|
||||||
name="db_user_root" class="needroot"
|
<input type="text"
|
||||||
value="<?php print (! empty($db_user_root))?$db_user_root:$force_install_databaserootlogin; ?>"></td>
|
id="db_user_root"
|
||||||
|
name="db_user_root"
|
||||||
|
class="needroot"
|
||||||
|
value="<?php print (!empty($force_install_databaserootlogin)) ? $force_install_databaserootlogin : $db_user_root; ?>"
|
||||||
|
<?php if ($force_install_noedit == 2 && $force_install_databaserootlogin !== null) {
|
||||||
|
print 'disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("DatabaseRootLoginDescription"); ?>
|
<td class="comment"><?php echo $langs->trans("DatabaseRootLoginDescription"); ?>
|
||||||
<!--
|
<!--
|
||||||
<?php echo '<br>'.$langs->trans("Examples").':<br>' ?>
|
<?php echo '<br>'.$langs->trans("Examples").':<br>' ?>
|
||||||
@ -466,14 +498,30 @@ if (! empty($force_install_message))
|
|||||||
<tr class="hidesqlite hideroot">
|
<tr class="hidesqlite hideroot">
|
||||||
<td class="label" valign="top"><b><?php echo $langs->trans("Password"); ?></b>
|
<td class="label" valign="top"><b><?php echo $langs->trans("Password"); ?></b>
|
||||||
</td>
|
</td>
|
||||||
<td class="label" valign="top"><input type="password" autocomplete="off"
|
<td class="label" valign="top">
|
||||||
id="db_pass_root" name="db_pass_root" class="needroot"
|
<input type="password"
|
||||||
value="<?php
|
autocomplete="off"
|
||||||
$autofill=((! empty($db_pass_root))?$db_pass_root:$force_install_databaserootpass);
|
id="db_pass_root"
|
||||||
if (! empty($dolibarr_main_prod)) $autofill=''; // Do not autofill password if instance is a production instance
|
name="db_pass_root"
|
||||||
if (! empty($_SERVER["SERVER_NAME"]) && ! in_array($_SERVER["SERVER_NAME"], array('127.0.0.1', 'localhost'))) $autofill=''; // Do not autofill password for remote access
|
class="needroot"
|
||||||
print dol_escape_htmltag($autofill);
|
value="<?php
|
||||||
?>"></td>
|
// We don't want to set password. It will be extracted from the forced install file at step1.
|
||||||
|
$autofill = ((!empty($force_install_database_rootpass)) ? '' : $db_pass_root);
|
||||||
|
if (!empty($dolibarr_main_prod)) {
|
||||||
|
$autofill = '';
|
||||||
|
} // Do not autofill password if instance is a production instance
|
||||||
|
if (!empty($_SERVER["SERVER_NAME"]) && !in_array($_SERVER["SERVER_NAME"],
|
||||||
|
array('127.0.0.1', 'localhost'))
|
||||||
|
) {
|
||||||
|
$autofill = '';
|
||||||
|
} // Do not autofill password for remote access
|
||||||
|
print dol_escape_htmltag($autofill);
|
||||||
|
?>"
|
||||||
|
<?php if ($force_install_noedit == 2 && $force_install_databaserootpass !== null) {
|
||||||
|
print ' disabled';
|
||||||
|
} ?>
|
||||||
|
>
|
||||||
|
</td>
|
||||||
<td class="comment"><?php echo $langs->trans("KeepEmptyIfNoPassword"); ?>
|
<td class="comment"><?php echo $langs->trans("KeepEmptyIfNoPassword"); ?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -529,7 +577,7 @@ jQuery(document).ready(function() {
|
|||||||
jQuery("#db_create_user").click(function() {
|
jQuery("#db_create_user").click(function() {
|
||||||
init_needroot();
|
init_needroot();
|
||||||
});
|
});
|
||||||
<?php if ($force_install_noedit && empty($force_install_databasepass)) { ?>
|
<?php if ($force_install_noedit == 2 && empty($force_install_databasepass)) { ?>
|
||||||
jQuery("#db_pass").focus();
|
jQuery("#db_pass").focus();
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,9 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2004 Sebastien DiCintio <sdicintio@ressource-toi.org>
|
* Copyright (C) 2004 Sebastien DiCintio <sdicintio@ressource-toi.org>
|
||||||
* Copyright (C) 2007-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2007-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
|
||||||
|
* Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -489,3 +490,92 @@ function dolibarr_install_syslog($message, $level=LOG_DEBUG)
|
|||||||
dol_syslog($message,$level);
|
dol_syslog($message,$level);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Automatically detect Dolibarr's main document root
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function detect_dolibarr_main_document_root()
|
||||||
|
{
|
||||||
|
// If PHP is in CGI mode, SCRIPT_FILENAME is PHP's path.
|
||||||
|
// Since that's not what we want, we suggest $_SERVER["DOCUMENT_ROOT"]
|
||||||
|
if (preg_match('/php$/i', $_SERVER["SCRIPT_FILENAME"]) || preg_match('/[\\/]php$/i',
|
||||||
|
$_SERVER["SCRIPT_FILENAME"]) || preg_match('/php\.exe$/i', $_SERVER["SCRIPT_FILENAME"])
|
||||||
|
) {
|
||||||
|
$dolibarr_main_document_root = $_SERVER["DOCUMENT_ROOT"];
|
||||||
|
|
||||||
|
if (!preg_match('/[\\/]dolibarr[\\/]htdocs$/i', $dolibarr_main_document_root)) {
|
||||||
|
$dolibarr_main_document_root .= "/dolibarr/htdocs";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// We assume /install to be under /htdocs, so we get the parent directory of the current directory
|
||||||
|
$dolibarr_main_document_root = dirname(dirname($_SERVER["SCRIPT_FILENAME"]));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $dolibarr_main_document_root;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Automatically detect Dolibarr's main data root
|
||||||
|
*
|
||||||
|
* @param string $dolibarr_main_document_root Current main document root
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function detect_dolibarr_main_data_root($dolibarr_main_document_root)
|
||||||
|
{
|
||||||
|
$dolibarr_main_data_root = preg_replace("/\/htdocs$/", "", $dolibarr_main_document_root);
|
||||||
|
$dolibarr_main_data_root .= "/documents";
|
||||||
|
return $dolibarr_main_data_root;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Automatically detect Dolibarr's main URL root
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function detect_dolibarr_main_url_root()
|
||||||
|
{
|
||||||
|
// If defined (Ie: Apache with Linux)
|
||||||
|
if (isset($_SERVER["SCRIPT_URI"])) {
|
||||||
|
$dolibarr_main_url_root = $_SERVER["SCRIPT_URI"];
|
||||||
|
} // If defined (Ie: Apache with Caudium)
|
||||||
|
elseif (isset($_SERVER["SERVER_URL"]) && isset($_SERVER["DOCUMENT_URI"])) {
|
||||||
|
$dolibarr_main_url_root = $_SERVER["SERVER_URL"] . $_SERVER["DOCUMENT_URI"];
|
||||||
|
} // If SCRIPT_URI, SERVER_URL, DOCUMENT_URI not defined (Ie: Apache 2.0.44 for Windows)
|
||||||
|
else {
|
||||||
|
$proto = 'http';
|
||||||
|
if (!empty($_SERVER["HTTP_HOST"])) {
|
||||||
|
$serverport = $_SERVER["HTTP_HOST"];
|
||||||
|
} else {
|
||||||
|
$serverport = $_SERVER["SERVER_NAME"];
|
||||||
|
}
|
||||||
|
$dolibarr_main_url_root = $proto . "://" . $serverport . $_SERVER["SCRIPT_NAME"];
|
||||||
|
}
|
||||||
|
// Clean proposed URL
|
||||||
|
// We assume /install to be under /htdocs, so we get the parent path of the current URL
|
||||||
|
$dolibarr_main_url_root = dirname(dirname($dolibarr_main_url_root));
|
||||||
|
|
||||||
|
return $dolibarr_main_url_root;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces automatic database login by actual value
|
||||||
|
*
|
||||||
|
* @param string $force_install_databaserootlogin Login
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function parse_database_login($force_install_databaserootlogin)
|
||||||
|
{
|
||||||
|
return preg_replace('/__SUPERUSERLOGIN__/', 'root', $force_install_databaserootlogin);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Replaces automatic database password by actual value
|
||||||
|
*
|
||||||
|
* @param string $force_install_databaserootpass Password
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function parse_database_pass($force_install_databaserootpass)
|
||||||
|
{
|
||||||
|
return preg_replace('/__SUPERUSERPASSWORD__/', '', $force_install_databaserootpass);
|
||||||
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -26,6 +27,8 @@ include_once 'inc.php';
|
|||||||
include_once '../core/class/html.form.class.php';
|
include_once '../core/class/html.form.class.php';
|
||||||
include_once '../core/class/html.formadmin.class.php';
|
include_once '../core/class/html.formadmin.class.php';
|
||||||
|
|
||||||
|
global $langs;
|
||||||
|
|
||||||
$err = 0;
|
$err = 0;
|
||||||
|
|
||||||
// If the config file exists and is filled, we're not on first install so we skip the language selection page
|
// If the config file exists and is filled, we're not on first install so we skip the language selection page
|
||||||
|
|||||||
73
htdocs/install/install.forced.sample.php
Normal file
73
htdocs/install/install.forced.sample.php
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @var bool Hide PHP informations */
|
||||||
|
$force_install_nophpinfo = true;
|
||||||
|
|
||||||
|
/** @var int 1 = Lock and hide environment variables, 2 = Lock all set variables */
|
||||||
|
$force_install_noedit = 2;
|
||||||
|
|
||||||
|
/** @var string Information message */
|
||||||
|
$force_install_message = 'Welcome to your Dolibarr install';
|
||||||
|
|
||||||
|
/** @var string Data root absolute path (documents folder) */
|
||||||
|
$force_install_main_data_root = null;
|
||||||
|
|
||||||
|
/** @var bool Force HTTPS */
|
||||||
|
$force_install_mainforcehttps = true;
|
||||||
|
|
||||||
|
/** @var string Database name */
|
||||||
|
$force_install_database = 'dolibarr';
|
||||||
|
|
||||||
|
/** @var string Database driver (mysql|mysqli|pgsql|mssql|sqlite|sqlite3) */
|
||||||
|
$force_install_type = 'mysqli';
|
||||||
|
|
||||||
|
/** @var string Database server host */
|
||||||
|
$force_install_dbserver = 'localhost';
|
||||||
|
|
||||||
|
/** @var int Database server port */
|
||||||
|
$force_install_port = 3306;
|
||||||
|
|
||||||
|
/** @var string Database tables prefix */
|
||||||
|
$force_install_prefix = 'llx_';
|
||||||
|
|
||||||
|
/** @var bool Force database creation */
|
||||||
|
$force_install_createdatabase = true;
|
||||||
|
|
||||||
|
/** @var string Database username */
|
||||||
|
$force_install_databaselogin = 'root';
|
||||||
|
|
||||||
|
/** @var string Database password */
|
||||||
|
$force_install_databasepass = '';
|
||||||
|
|
||||||
|
/** @var bool Force database user creation */
|
||||||
|
$force_install_createuser = false;
|
||||||
|
|
||||||
|
/** @var string Database root username */
|
||||||
|
$force_install_databaserootlogin = 'root';
|
||||||
|
|
||||||
|
/** @var string Database root password */
|
||||||
|
$force_install_databaserootpass = '';
|
||||||
|
|
||||||
|
/** @var string Dolibarr super-administrator username */
|
||||||
|
$force_install_dolibarrlogin = 'admin';
|
||||||
|
|
||||||
|
/** @var bool Force install locking */
|
||||||
|
$force_install_lockinstall = true;
|
||||||
|
|
||||||
|
/** @var string Enable module(s) (Comma separated class names list) */
|
||||||
|
$force_install_module = 'modSociete,modFournisseur,modFacture';
|
||||||
@ -1,10 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
|
||||||
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -30,6 +30,8 @@ define('DONOTLOADCONF',1); // To avoid loading conf by file inc.php
|
|||||||
|
|
||||||
include 'inc.php';
|
include 'inc.php';
|
||||||
|
|
||||||
|
global $langs;
|
||||||
|
|
||||||
$action=GETPOST('action','alpha');
|
$action=GETPOST('action','alpha');
|
||||||
$setuplang=(GETPOST('selectlang','',3)?GETPOST('selectlang','',3):'auto');
|
$setuplang=(GETPOST('selectlang','',3)?GETPOST('selectlang','',3):'auto');
|
||||||
$langs->setDefaultLang($setuplang);
|
$langs->setDefaultLang($setuplang);
|
||||||
@ -38,12 +40,15 @@ $langs->load("admin");
|
|||||||
$langs->load("install");
|
$langs->load("install");
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
|
|
||||||
// Recuparation des information de connexion
|
// Dolibarr pages directory
|
||||||
|
$main_dir = GETPOST('main_dir');
|
||||||
|
// Directory for generated documents (invoices, orders, ecm, etc...)
|
||||||
|
$main_data_dir = GETPOST('main_data_dir') ? GETPOST('main_data_dir') : $main_dir . '/documents';
|
||||||
|
// Dolibarr root URL
|
||||||
|
$main_url = GETPOST('main_url');
|
||||||
|
// Database login informations
|
||||||
$userroot=GETPOST('db_user_root');
|
$userroot=GETPOST('db_user_root');
|
||||||
$passroot=GETPOST('db_pass_root');
|
$passroot=GETPOST('db_pass_root');
|
||||||
// Repertoire des pages dolibarr
|
|
||||||
$main_dir=GETPOST('main_dir');
|
|
||||||
$main_url=GETPOST('main_url');
|
|
||||||
// Database server
|
// Database server
|
||||||
$db_type=GETPOST('db_type','alpha');
|
$db_type=GETPOST('db_type','alpha');
|
||||||
$db_host=GETPOST('db_host','alpha');
|
$db_host=GETPOST('db_host','alpha');
|
||||||
@ -52,8 +57,16 @@ $db_user=GETPOST('db_user','alpha');
|
|||||||
$db_pass=GETPOST('db_pass');
|
$db_pass=GETPOST('db_pass');
|
||||||
$db_port=GETPOST('db_port','int');
|
$db_port=GETPOST('db_port','int');
|
||||||
$db_prefix=GETPOST('db_prefix','alpha');
|
$db_prefix=GETPOST('db_prefix','alpha');
|
||||||
|
$db_create_database = GETPOST('db_create_database');
|
||||||
|
$db_create_user = GETPOST('db_create_user');
|
||||||
|
// Force https
|
||||||
|
$main_force_https = ((GETPOST("main_force_https") && (GETPOST("main_force_https") == "on" || GETPOST("main_force_https") == 1)) ? '1' : '0');
|
||||||
|
// Use alternative directory
|
||||||
|
$main_use_alt_dir = ((GETPOST("main_use_alt_dir") && (GETPOST("main_use_alt_dir") == "on" || GETPOST("main_use_alt_dir") == 1)) ? '' : '//');
|
||||||
|
// Alternative root directory name
|
||||||
|
$main_alt_dir_name = ((GETPOST("main_alt_dir_name") && GETPOST("main_alt_dir_name") != '') ? GETPOST("main_alt_dir_name") : 'custom');
|
||||||
|
|
||||||
session_start(); // To be able to keep info into session (used for not loosing pass during navigation. pass must not transit throug parmaeters)
|
session_start(); // To be able to keep info into session (used for not loosing pass during navigation. pass must not transit throug parameters)
|
||||||
|
|
||||||
// Save a flag to tell to restore input value if we do back
|
// Save a flag to tell to restore input value if we do back
|
||||||
$_SESSION['dol_save_pass']=$db_pass;
|
$_SESSION['dol_save_pass']=$db_pass;
|
||||||
@ -63,7 +76,58 @@ $_SESSION['dol_save_pass']=$db_pass;
|
|||||||
$useforcedwizard=false;
|
$useforcedwizard=false;
|
||||||
$forcedfile="./install.forced.php";
|
$forcedfile="./install.forced.php";
|
||||||
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
||||||
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once $forcedfile; }
|
if (@file_exists($forcedfile)) {
|
||||||
|
$useforcedwizard = true;
|
||||||
|
include_once $forcedfile;
|
||||||
|
// If forced install is enabled, let's replace post values. These are empty because form fields are disabled.
|
||||||
|
if ($force_install_noedit) {
|
||||||
|
$main_dir = detect_dolibarr_main_document_root();
|
||||||
|
if (!empty($force_install_main_data_root)) {
|
||||||
|
$main_data_dir = $force_install_main_data_root;
|
||||||
|
} else {
|
||||||
|
$main_data_dir = detect_dolibarr_main_data_root($main_dir);
|
||||||
|
}
|
||||||
|
$main_url = detect_dolibarr_main_url_root();
|
||||||
|
if (!empty($force_install_databaserootlogin)) {
|
||||||
|
$userroot = parse_database_login($force_install_databaserootlogin);
|
||||||
|
}
|
||||||
|
if (!empty($force_install_databaserootpass)) {
|
||||||
|
$passroot = parse_database_pass($force_install_databaserootpass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($force_install_noedit == 2) {
|
||||||
|
if (!empty($force_install_type)) {
|
||||||
|
$db_type = $force_install_type;
|
||||||
|
}
|
||||||
|
if (!empty($force_install_dbserver)) {
|
||||||
|
$db_host = $force_install_dbserver;
|
||||||
|
}
|
||||||
|
if (!empty($force_install_database)) {
|
||||||
|
$db_name = $force_install_database;
|
||||||
|
}
|
||||||
|
if (!empty($force_install_databaselogin)) {
|
||||||
|
$db_user = $force_install_databaselogin;
|
||||||
|
}
|
||||||
|
if (!empty($force_install_databasepass)) {
|
||||||
|
$db_pass = $force_install_databasepass;
|
||||||
|
}
|
||||||
|
if (!empty($force_install_port)) {
|
||||||
|
$db_port = $force_install_port;
|
||||||
|
}
|
||||||
|
if (!empty($force_install_prefix)) {
|
||||||
|
$db_prefix = $force_install_prefix;
|
||||||
|
}
|
||||||
|
if (!empty($force_install_createdatabase)) {
|
||||||
|
$db_create_database = $force_install_createdatabase;
|
||||||
|
}
|
||||||
|
if (!empty($force_install_createuser)) {
|
||||||
|
$db_create_user = $force_install_createuser;
|
||||||
|
}
|
||||||
|
if (!empty($force_install_mainforcehttps)) {
|
||||||
|
$main_force_https = $force_install_mainforcehttps;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dolibarr_install_syslog("--- step1: entering step1.php page");
|
dolibarr_install_syslog("--- step1: entering step1.php page");
|
||||||
|
|
||||||
@ -134,28 +198,20 @@ if (! empty($main_url) && substr($main_url, dol_strlen($main_url) -1) == "/")
|
|||||||
$main_url = substr($main_url, 0, dol_strlen($main_url)-1);
|
$main_url = substr($main_url, 0, dol_strlen($main_url)-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Directory for generated documents (invoices, orders, ecm, etc...)
|
// Test database connection
|
||||||
$main_data_dir=isset($_POST["main_data_dir"])?$_POST["main_data_dir"]:'';
|
if (! $error) {
|
||||||
if (! $main_data_dir) { $main_data_dir="$main_dir/documents"; }
|
|
||||||
|
|
||||||
|
|
||||||
// Test database connexion
|
|
||||||
if (! $error)
|
|
||||||
{
|
|
||||||
$result=@include_once $main_dir."/core/db/".$db_type.'.class.php';
|
$result=@include_once $main_dir."/core/db/".$db_type.'.class.php';
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
// If we ask database or user creation we need to connect as root, so we need root login
|
// If we ask database or user creation we need to connect as root, so we need root login
|
||||||
if (! empty($_POST["db_create_database"]) && ! $userroot)
|
if (!empty($db_create_database) && !$userroot) {
|
||||||
{
|
|
||||||
print '<div class="error">'.$langs->trans("YouAskDatabaseCreationSoDolibarrNeedToConnect",$db_name).'</div>';
|
print '<div class="error">'.$langs->trans("YouAskDatabaseCreationSoDolibarrNeedToConnect",$db_name).'</div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print $langs->trans("BecauseConnectionFailedParametersMayBeWrong").'<br><br>';
|
print $langs->trans("BecauseConnectionFailedParametersMayBeWrong").'<br><br>';
|
||||||
print $langs->trans("ErrorGoBackAndCorrectParameters");
|
print $langs->trans("ErrorGoBackAndCorrectParameters");
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
if (! empty($_POST["db_create_user"]) && ! $userroot)
|
if (!empty($db_create_user) && !$userroot) {
|
||||||
{
|
|
||||||
print '<div class="error">'.$langs->trans("YouAskLoginCreationSoDolibarrNeedToConnect",$db_user).'</div>';
|
print '<div class="error">'.$langs->trans("YouAskLoginCreationSoDolibarrNeedToConnect",$db_user).'</div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print $langs->trans("BecauseConnectionFailedParametersMayBeWrong").'<br><br>';
|
print $langs->trans("BecauseConnectionFailedParametersMayBeWrong").'<br><br>';
|
||||||
@ -164,11 +220,9 @@ if (! $error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If we need root access
|
// If we need root access
|
||||||
if (! $error && (! empty($_POST["db_create_database"]) || ! empty($_POST["db_create_user"])))
|
if (!$error && (!empty($db_create_database) || !empty($db_create_user))) {
|
||||||
{
|
|
||||||
$databasefortest=$db_name;
|
$databasefortest=$db_name;
|
||||||
if (! empty($_POST["db_create_database"]))
|
if (!empty($db_create_database)) {
|
||||||
{
|
|
||||||
if ($db_type == 'mysql' || $db_type == 'mysqli')
|
if ($db_type == 'mysql' || $db_type == 'mysqli')
|
||||||
{
|
{
|
||||||
$databasefortest='mysql';
|
$databasefortest='mysql';
|
||||||
@ -189,16 +243,13 @@ if (! $error)
|
|||||||
dol_syslog("databasefortest=" . $databasefortest . " connected=" . $db->connected . " database_selected=" . $db->database_selected, LOG_DEBUG);
|
dol_syslog("databasefortest=" . $databasefortest . " connected=" . $db->connected . " database_selected=" . $db->database_selected, LOG_DEBUG);
|
||||||
//print "databasefortest=".$databasefortest." connected=".$db->connected." database_selected=".$db->database_selected;
|
//print "databasefortest=".$databasefortest." connected=".$db->connected." database_selected=".$db->database_selected;
|
||||||
|
|
||||||
if (empty($_POST["db_create_database"]) && $db->connected && ! $db->database_selected)
|
if (empty($db_create_database) && $db->connected && !$db->database_selected) {
|
||||||
{
|
|
||||||
print '<div class="error">'.$langs->trans("ErrorConnectedButDatabaseNotFound",$db_name).'</div>';
|
print '<div class="error">'.$langs->trans("ErrorConnectedButDatabaseNotFound",$db_name).'</div>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
if (! $db->connected) print $langs->trans("IfDatabaseNotExistsGoBackAndUncheckCreate").'<br><br>';
|
if (! $db->connected) print $langs->trans("IfDatabaseNotExistsGoBackAndUncheckCreate").'<br><br>';
|
||||||
print $langs->trans("ErrorGoBackAndCorrectParameters");
|
print $langs->trans("ErrorGoBackAndCorrectParameters");
|
||||||
$error++;
|
$error++;
|
||||||
}
|
} elseif ($db->error && (empty($db_create_database) && $db->connected)) {
|
||||||
elseif ($db->error && ! (! empty($_POST["db_create_database"]) && $db->connected))
|
|
||||||
{
|
|
||||||
// Note: you may experience error here with message "No such file or directory" when mysql was installed for the first time but not yet launched.
|
// Note: you may experience error here with message "No such file or directory" when mysql was installed for the first time but not yet launched.
|
||||||
if ($db->error == "No such file or directory") print '<div class="error">'.$langs->trans("ErrorToConnectToMysqlCheckInstance").'</div>';
|
if ($db->error == "No such file or directory") print '<div class="error">'.$langs->trans("ErrorToConnectToMysqlCheckInstance").'</div>';
|
||||||
else print '<div class="error">'.$db->error.'</div>';
|
else print '<div class="error">'.$db->error.'</div>';
|
||||||
@ -210,8 +261,7 @@ if (! $error)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If we need simple access
|
// If we need simple access
|
||||||
if (! $error && (empty($_POST["db_create_database"]) && empty($_POST["db_create_user"])))
|
if (!$error && (empty($db_create_database) && empty($db_create_user))) {
|
||||||
{
|
|
||||||
$db=getDoliDBInstance($db_type, $db_host, $db_user, $db_pass, $db_name, $db_port);
|
$db=getDoliDBInstance($db_type, $db_host, $db_user, $db_pass, $db_name, $db_port);
|
||||||
|
|
||||||
if ($db->error)
|
if ($db->error)
|
||||||
@ -246,8 +296,7 @@ else
|
|||||||
|
|
||||||
if (! $error && $db->connected)
|
if (! $error && $db->connected)
|
||||||
{
|
{
|
||||||
if (! empty($_POST["db_create_database"]))
|
if (! empty($db_create_database)) {
|
||||||
{
|
|
||||||
$result=$db->select_db($db_name);
|
$result=$db->select_db($db_name);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
@ -262,8 +311,7 @@ if (! $error && $db->connected)
|
|||||||
// Define $defaultCharacterSet and $defaultDBSortingCollation
|
// Define $defaultCharacterSet and $defaultDBSortingCollation
|
||||||
if (! $error && $db->connected)
|
if (! $error && $db->connected)
|
||||||
{
|
{
|
||||||
if (! empty($_POST["db_create_database"])) // If we create database, we force default value
|
if (!empty($db_create_database)) { // If we create database, we force default value
|
||||||
{
|
|
||||||
$defaultCharacterSet=$db->forcecharset;
|
$defaultCharacterSet=$db->forcecharset;
|
||||||
$defaultDBSortingCollation=$db->forcecollate;
|
$defaultDBSortingCollation=$db->forcecollate;
|
||||||
}
|
}
|
||||||
@ -430,15 +478,6 @@ if (! $error && $db->connected && $action == "set")
|
|||||||
// Table prefix
|
// Table prefix
|
||||||
$main_db_prefix = (! empty($db_prefix) ? $db_prefix : 'llx_');
|
$main_db_prefix = (! empty($db_prefix) ? $db_prefix : 'llx_');
|
||||||
|
|
||||||
// Force https
|
|
||||||
$main_force_https = ((GETPOST("main_force_https") && (GETPOST("main_force_https") == "on" || GETPOST("main_force_https") == '1')) ? '1' : '0');
|
|
||||||
|
|
||||||
// Use alternative directory
|
|
||||||
$main_use_alt_dir = ((GETPOST("main_use_alt_dir") && (GETPOST("main_use_alt_dir") == "off" || GETPOST("main_use_alt_dir") == '0')) ? '//' : '');
|
|
||||||
|
|
||||||
// Alternative root directory name
|
|
||||||
$main_alt_dir_name = ((GETPOST("main_alt_dir_name") && GETPOST("main_alt_dir_name") != '') ? GETPOST("main_alt_dir_name") : 'custom');
|
|
||||||
|
|
||||||
// Write conf file on disk
|
// Write conf file on disk
|
||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
@ -469,14 +508,8 @@ if (! $error && $db->connected && $action == "set")
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td><img src="../theme/eldy/img/tick.png" alt="Ok"></td></tr>';
|
print '<td><img src="../theme/eldy/img/tick.png" alt="Ok"></td></tr>';
|
||||||
|
|
||||||
|
|
||||||
$userroot=isset($_POST["db_user_root"])?$_POST["db_user_root"]:"";
|
|
||||||
$passroot=isset($_POST["db_pass_root"])?$_POST["db_pass_root"]:"";
|
|
||||||
|
|
||||||
|
|
||||||
// Si creation utilisateur admin demandee, on le cree
|
// Si creation utilisateur admin demandee, on le cree
|
||||||
if (isset($_POST["db_create_user"]) && $_POST["db_create_user"] == "on")
|
if (isset($db_create_user) && $db_create_user == "on") {
|
||||||
{
|
|
||||||
dolibarr_install_syslog("step1: create database user: " . $dolibarr_main_db_user);
|
dolibarr_install_syslog("step1: create database user: " . $dolibarr_main_db_user);
|
||||||
|
|
||||||
//print $conf->db->host." , ".$conf->db->name." , ".$conf->db->user." , ".$conf->db->port;
|
//print $conf->db->host." , ".$conf->db->name." , ".$conf->db->user." , ".$conf->db->port;
|
||||||
@ -569,8 +602,7 @@ if (! $error && $db->connected && $action == "set")
|
|||||||
|
|
||||||
|
|
||||||
// If database creation is asked, we create it
|
// If database creation is asked, we create it
|
||||||
if (! $error && (isset($_POST["db_create_database"]) && $_POST["db_create_database"] == "on"))
|
if (!$error && (isset($db_create_database) && $db_create_database == "on")) {
|
||||||
{
|
|
||||||
dolibarr_install_syslog("step1: create database: " . $dolibarr_main_db_name . " " . $dolibarr_main_db_character_set . " " . $dolibarr_main_db_collation . " " . $dolibarr_main_db_user);
|
dolibarr_install_syslog("step1: create database: " . $dolibarr_main_db_name . " " . $dolibarr_main_db_character_set . " " . $dolibarr_main_db_collation . " " . $dolibarr_main_db_user);
|
||||||
$newdb=getDoliDBInstance($conf->db->type,$conf->db->host,$userroot,$passroot,'',$conf->db->port);
|
$newdb=getDoliDBInstance($conf->db->type,$conf->db->host,$userroot,$passroot,'',$conf->db->port);
|
||||||
//print 'eee'.$conf->db->type." ".$conf->db->host." ".$userroot." ".$passroot." ".$conf->db->port." ".$newdb->connected." ".$newdb->forcecharset;exit;
|
//print 'eee'.$conf->db->type." ".$conf->db->host." ".$userroot." ".$passroot." ".$conf->db->port." ".$newdb->connected." ".$newdb->forcecharset;exit;
|
||||||
@ -873,7 +905,7 @@ function write_conf_file($conffile)
|
|||||||
|
|
||||||
fputs($fp, '$dolibarr_main_restrict_os_commands=\'mysqldump, mysql, pg_dump, pgrestore\';');
|
fputs($fp, '$dolibarr_main_restrict_os_commands=\'mysqldump, mysql, pg_dump, pgrestore\';');
|
||||||
fputs($fp,"\n");
|
fputs($fp,"\n");
|
||||||
|
|
||||||
fputs($fp, '$dolibarr_nocsrfcheck=\'0\';');
|
fputs($fp, '$dolibarr_nocsrfcheck=\'0\';');
|
||||||
fputs($fp,"\n");
|
fputs($fp,"\n");
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2015 Cedric GROSS <c.gross@kreiz-it.fr>
|
* Copyright (C) 2015 Cedric GROSS <c.gross@kreiz-it.fr>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -28,6 +28,8 @@ include 'inc.php';
|
|||||||
require_once $dolibarr_main_document_root.'/core/class/conf.class.php';
|
require_once $dolibarr_main_document_root.'/core/class/conf.class.php';
|
||||||
require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php';
|
require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php';
|
||||||
|
|
||||||
|
global $langs;
|
||||||
|
|
||||||
$step = 2;
|
$step = 2;
|
||||||
$ok = 0;
|
$ok = 0;
|
||||||
|
|
||||||
@ -61,7 +63,10 @@ if ($dolibarr_main_db_type == "sqlite3") $choix=5;
|
|||||||
$useforcedwizard=false;
|
$useforcedwizard=false;
|
||||||
$forcedfile="./install.forced.php";
|
$forcedfile="./install.forced.php";
|
||||||
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
||||||
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once $forcedfile; }
|
if (@file_exists($forcedfile)) {
|
||||||
|
$useforcedwizard = true;
|
||||||
|
include_once $forcedfile;
|
||||||
|
}
|
||||||
|
|
||||||
dolibarr_install_syslog("--- step2: entering step2.php page");
|
dolibarr_install_syslog("--- step2: entering step2.php page");
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2004 Sebastien DiCintio <sdicintio@ressource-toi.org>
|
* Copyright (C) 2004 Sebastien DiCintio <sdicintio@ressource-toi.org>
|
||||||
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -30,6 +30,7 @@ include_once 'inc.php';
|
|||||||
require_once $dolibarr_main_document_root.'/core/class/conf.class.php';
|
require_once $dolibarr_main_document_root.'/core/class/conf.class.php';
|
||||||
require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php';
|
require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php';
|
||||||
|
|
||||||
|
global $langs;
|
||||||
|
|
||||||
$setuplang=(GETPOST('selectlang','',3)?GETPOST('selectlang','',3):'auto');
|
$setuplang=(GETPOST('selectlang','',3)?GETPOST('selectlang','',3):'auto');
|
||||||
$langs->setDefaultLang($setuplang);
|
$langs->setDefaultLang($setuplang);
|
||||||
@ -41,7 +42,10 @@ $langs->load("install");
|
|||||||
$useforcedwizard=false;
|
$useforcedwizard=false;
|
||||||
$forcedfile="./install.forced.php";
|
$forcedfile="./install.forced.php";
|
||||||
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
||||||
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once $forcedfile; }
|
if (@file_exists($forcedfile)) {
|
||||||
|
$useforcedwizard = true;
|
||||||
|
include_once $forcedfile;
|
||||||
|
}
|
||||||
|
|
||||||
dolibarr_install_syslog("--- step4: entering step4.php page");
|
dolibarr_install_syslog("--- step4: entering step4.php page");
|
||||||
|
|
||||||
@ -75,7 +79,7 @@ $db=getDoliDBInstance($conf->db->type,$conf->db->host,$conf->db->user,$conf->db-
|
|||||||
if ($db->ok)
|
if ($db->ok)
|
||||||
{
|
{
|
||||||
print '<tr><td>'.$langs->trans("DolibarrAdminLogin").' :</td><td>';
|
print '<tr><td>'.$langs->trans("DolibarrAdminLogin").' :</td><td>';
|
||||||
print '<input name="login" type="text" value="'.(! empty($_GET["login"])?$_GET["login"]:(isset($force_install_dolibarrlogin)?$force_install_dolibarrlogin:'')).'"></td></tr>';
|
print '<input name="login" type="text" value="' . (!empty($_GET["login"]) ? $_GET["login"] : (isset($force_install_dolibarrlogin) ? $force_install_dolibarrlogin : '')) . '"' . ($force_install_noedit == 2 && $force_install_dolibarrlogin !== null ? ' disabled' : '') . '></td></tr>';
|
||||||
print '<tr><td>'.$langs->trans("Password").' :</td><td>';
|
print '<tr><td>'.$langs->trans("Password").' :</td><td>';
|
||||||
print '<input type="password" name="pass"></td></tr>';
|
print '<input type="password" name="pass"></td></tr>';
|
||||||
print '<tr><td>'.$langs->trans("PasswordAgain").' :</td><td>';
|
print '<tr><td>'.$langs->trans("PasswordAgain").' :</td><td>';
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
|
||||||
* Copyright (C) 2004 Sebastien DiCintio <sdicintio@ressource-toi.org>
|
* Copyright (C) 2004 Sebastien DiCintio <sdicintio@ressource-toi.org>
|
||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -31,6 +31,7 @@ if (file_exists($conffile)) include_once $conffile;
|
|||||||
require_once $dolibarr_main_document_root . '/core/lib/admin.lib.php';
|
require_once $dolibarr_main_document_root . '/core/lib/admin.lib.php';
|
||||||
require_once $dolibarr_main_document_root . '/core/lib/security.lib.php'; // for dol_hash
|
require_once $dolibarr_main_document_root . '/core/lib/security.lib.php'; // for dol_hash
|
||||||
|
|
||||||
|
global $langs;
|
||||||
|
|
||||||
$setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):'auto';
|
$setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):'auto';
|
||||||
$langs->setDefaultLang($setuplang);
|
$langs->setDefaultLang($setuplang);
|
||||||
@ -50,24 +51,25 @@ if (! empty($action) && preg_match('/upgrade/i', $action)) // If it's an old upg
|
|||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
$langs->load("install");
|
$langs->load("install");
|
||||||
|
|
||||||
|
$login = GETPOST('login', 'alpha');
|
||||||
|
$pass = GETPOST('pass', 'alpha');
|
||||||
|
$pass_verif = GETPOST('pass_verif', 'alpha');
|
||||||
|
|
||||||
$success=0;
|
$success=0;
|
||||||
|
|
||||||
// Init "forced values" to nothing. "forced values" are used after using an install wizard (using a file install.forced.php).
|
|
||||||
if (! isset($force_install_type)) $force_install_type='';
|
|
||||||
if (! isset($force_install_dbserver)) $force_install_dbserver='';
|
|
||||||
if (! isset($force_install_port)) $force_install_port='';
|
|
||||||
if (! isset($force_install_database)) $force_install_database='';
|
|
||||||
if (! isset($force_install_createdatabase)) $force_install_createdatabase='';
|
|
||||||
if (! isset($force_install_databaselogin)) $force_install_databaselogin='';
|
|
||||||
if (! isset($force_install_databasepass)) $force_install_databasepass='';
|
|
||||||
if (! isset($force_install_databaserootlogin)) $force_install_databaserootlogin='';
|
|
||||||
if (! isset($force_install_databaserootpass)) $force_install_databaserootpass='';
|
|
||||||
if (! isset($force_install_lockinstall)) $force_install_lockinstall='';
|
|
||||||
// Now we load forced value from install.forced.php file.
|
|
||||||
$useforcedwizard=false;
|
$useforcedwizard=false;
|
||||||
$forcedfile="./install.forced.php";
|
$forcedfile="./install.forced.php";
|
||||||
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
if ($conffile == "/etc/dolibarr/conf.php") $forcedfile="/etc/dolibarr/install.forced.php";
|
||||||
if (@file_exists($forcedfile)) { $useforcedwizard=true; include_once $forcedfile; }
|
if (@file_exists($forcedfile)) {
|
||||||
|
$useforcedwizard = true;
|
||||||
|
include_once $forcedfile;
|
||||||
|
// If forced install is enabled, let's replace post values. These are empty because form fields are disabled.
|
||||||
|
if ($force_install_noedit == 2) {
|
||||||
|
if (!empty($force_install_dolibarrlogin)) {
|
||||||
|
$login = $force_install_dolibarrlogin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dolibarr_install_syslog("--- step5: entering step5.php page");
|
dolibarr_install_syslog("--- step5: entering step5.php page");
|
||||||
|
|
||||||
@ -77,25 +79,21 @@ dolibarr_install_syslog("--- step5: entering step5.php page");
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// If install, check pass and pass_verif used to create admin account
|
// If install, check pass and pass_verif used to create admin account
|
||||||
if ($action == "set")
|
if ($action == "set") {
|
||||||
{
|
if ($pass <> $pass_verif) {
|
||||||
if ($_POST["pass"] <> $_POST["pass_verif"])
|
header("Location: step4.php?error=1&selectlang=$setuplang" . (isset($login) ? '&login=' . $login : ''));
|
||||||
{
|
exit;
|
||||||
header("Location: step4.php?error=1&selectlang=$setuplang".(isset($_POST["login"])?'&login='.$_POST["login"]:''));
|
}
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dol_strlen(trim($_POST["pass"])) == 0)
|
if (dol_strlen(trim($pass)) == 0) {
|
||||||
{
|
header("Location: step4.php?error=2&selectlang=$setuplang" . (isset($login) ? '&login=' . $login : ''));
|
||||||
header("Location: step4.php?error=2&selectlang=$setuplang".(isset($_POST["login"])?'&login='.$_POST["login"]:''));
|
exit;
|
||||||
exit;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (dol_strlen(trim($_POST["login"])) == 0)
|
if (dol_strlen(trim($login)) == 0) {
|
||||||
{
|
header("Location: step4.php?error=3&selectlang=$setuplang" . (isset($login) ? '&login=' . $login : ''));
|
||||||
header("Location: step4.php?error=3&selectlang=$setuplang".(isset($_POST["login"])?'&login='.$_POST["login"]:''));
|
exit;
|
||||||
exit;
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -187,8 +185,8 @@ if ($action == "set" || empty($action) || preg_match('/upgrade/i',$action))
|
|||||||
$newuser = new User($db);
|
$newuser = new User($db);
|
||||||
$newuser->lastname='SuperAdmin';
|
$newuser->lastname='SuperAdmin';
|
||||||
$newuser->firstname='';
|
$newuser->firstname='';
|
||||||
$newuser->login=$_POST["login"];
|
$newuser->login = $login;
|
||||||
$newuser->pass=$_POST["pass"];
|
$newuser->pass = $pass;
|
||||||
$newuser->admin=1;
|
$newuser->admin=1;
|
||||||
$newuser->entity=0;
|
$newuser->entity=0;
|
||||||
|
|
||||||
@ -196,7 +194,7 @@ if ($action == "set" || empty($action) || preg_match('/upgrade/i',$action))
|
|||||||
$result=$newuser->create($createuser,1);
|
$result=$newuser->create($createuser,1);
|
||||||
if ($result > 0)
|
if ($result > 0)
|
||||||
{
|
{
|
||||||
print $langs->trans("AdminLoginCreatedSuccessfuly",$_POST["login"])."<br>";
|
print $langs->trans("AdminLoginCreatedSuccessfuly", $login) . "<br>";
|
||||||
$success = 1;
|
$success = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -204,7 +202,7 @@ if ($action == "set" || empty($action) || preg_match('/upgrade/i',$action))
|
|||||||
if ($newuser->error == 'ErrorLoginAlreadyExists')
|
if ($newuser->error == 'ErrorLoginAlreadyExists')
|
||||||
{
|
{
|
||||||
dolibarr_install_syslog('step5: AdminLoginAlreadyExists', LOG_WARNING);
|
dolibarr_install_syslog('step5: AdminLoginAlreadyExists', LOG_WARNING);
|
||||||
print '<br><div class="warning">'.$langs->trans("AdminLoginAlreadyExists",$_POST["login"])."</div><br>";
|
print '<br><div class="warning">' . $langs->trans("AdminLoginAlreadyExists", $login) . "</div><br>";
|
||||||
$success = 1;
|
$success = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -320,8 +318,7 @@ if ($action == "set" || empty($action) || preg_match('/upgrade/i',$action))
|
|||||||
// Create lock file
|
// Create lock file
|
||||||
|
|
||||||
// If first install
|
// If first install
|
||||||
if ($action == "set")
|
if ($action == "set" && $success) {
|
||||||
{
|
|
||||||
if (empty($conf->global->MAIN_VERSION_LAST_UPGRADE) || ($conf->global->MAIN_VERSION_LAST_UPGRADE == DOL_VERSION))
|
if (empty($conf->global->MAIN_VERSION_LAST_UPGRADE) || ($conf->global->MAIN_VERSION_LAST_UPGRADE == DOL_VERSION))
|
||||||
{
|
{
|
||||||
// Install is finished
|
// Install is finished
|
||||||
@ -352,7 +349,7 @@ if ($action == "set")
|
|||||||
|
|
||||||
print $langs->trans("YouNeedToPersonalizeSetup")."<br><br>";
|
print $langs->trans("YouNeedToPersonalizeSetup")."<br><br>";
|
||||||
|
|
||||||
print '<div class="center"><a href="../admin/index.php?mainmenu=home&leftmenu=setup'.(isset($_POST["login"])?'&username='.urlencode($_POST["login"]):'').'">';
|
print '<div class="center"><a href="../admin/index.php?mainmenu=home&leftmenu=setup' . (isset($login) ? '&username=' . urlencode($login) : '') . '">';
|
||||||
print $langs->trans("GoToSetupArea");
|
print $langs->trans("GoToSetupArea");
|
||||||
print '</a></div>';
|
print '</a></div>';
|
||||||
}
|
}
|
||||||
@ -400,7 +397,7 @@ elseif (empty($action) || preg_match('/upgrade/i',$action))
|
|||||||
|
|
||||||
print "<br>";
|
print "<br>";
|
||||||
|
|
||||||
print '<div class="center"><a href="../index.php?mainmenu=home'.(isset($_POST["login"])?'&username='.urlencode($_POST["login"]):'').'">';
|
print '<div class="center"><a href="../index.php?mainmenu=home' . (isset($login) ? '&username=' . urlencode($login) : '') . '">';
|
||||||
print $langs->trans("GoToDolibarr");
|
print $langs->trans("GoToDolibarr");
|
||||||
print '</a></div>';
|
print '</a></div>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2010 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -41,6 +41,8 @@ if (! file_exists($conffile))
|
|||||||
require_once $conffile; if (! isset($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // For backward compatibility
|
require_once $conffile; if (! isset($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // For backward compatibility
|
||||||
require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php';
|
require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php';
|
||||||
|
|
||||||
|
global $langs;
|
||||||
|
|
||||||
$grant_query='';
|
$grant_query='';
|
||||||
$step = 2;
|
$step = 2;
|
||||||
$ok = 0;
|
$ok = 0;
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
/* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
||||||
* Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2005-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
|
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@capnetworks.com>
|
||||||
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2010 Juanjo Menent <jmenent@2byte.es>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015-2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -47,6 +47,8 @@ require_once $dolibarr_main_document_root . '/core/lib/price.lib.php';
|
|||||||
require_once $dolibarr_main_document_root . '/core/class/menubase.class.php';
|
require_once $dolibarr_main_document_root . '/core/class/menubase.class.php';
|
||||||
require_once $dolibarr_main_document_root . '/core/lib/files.lib.php';
|
require_once $dolibarr_main_document_root . '/core/lib/files.lib.php';
|
||||||
|
|
||||||
|
global $langs;
|
||||||
|
|
||||||
$grant_query='';
|
$grant_query='';
|
||||||
$step = 2;
|
$step = 2;
|
||||||
$error = 0;
|
$error = 0;
|
||||||
|
|||||||
@ -85,7 +85,8 @@ WithNoSlashAtTheEnd=Without the slash "/" at the end
|
|||||||
DirectoryRecommendation=It is recommanded to use a directory outside of your directory of your web pages.
|
DirectoryRecommendation=It is recommanded to use a directory outside of your directory of your web pages.
|
||||||
LoginAlreadyExists=Already exists
|
LoginAlreadyExists=Already exists
|
||||||
DolibarrAdminLogin=Dolibarr admin login
|
DolibarrAdminLogin=Dolibarr admin login
|
||||||
AdminLoginAlreadyExists=Dolibarr administrator account '<b>%s</b>' already exists. Go back, if you want to create another one.
|
AdminLoginAlreadyExists=Dolibarr administrator account '<b>%s</b>' already exists. Go back, if you want to create another one.
|
||||||
|
FailedToCreateAdminLogin=Failed to create Dolibarr administrator account.
|
||||||
WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called <b>install.lock</b> into Dolibarr document directory, in order to avoid malicious use of it.
|
WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called <b>install.lock</b> into Dolibarr document directory, in order to avoid malicious use of it.
|
||||||
FunctionNotAvailableInThisPHP=Not available on this PHP
|
FunctionNotAvailableInThisPHP=Not available on this PHP
|
||||||
ChoosedMigrateScript=Choose migration script
|
ChoosedMigrateScript=Choose migration script
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user