2004-10-20 00:24:10 +02:00
< ? php
2016-02-22 18:45:00 +01:00
/* Copyright ( C ) 2004 Rodolphe Quiedeville < rodolphe @ quiedeville . org >
* Copyright ( C ) 2004 Eric Seigne < eric . seigne @ ryxeo . com >
* Copyright ( C ) 2004 - 2012 Laurent Destailleur < eldy @ users . sourceforge . net >
* Copyright ( C ) 2004 Benoit Mortier < benoit . mortier @ opensides . be >
* Copyright ( C ) 2004 Sebastien DiCintio < sdicintio @ ressource - toi . org >
* Copyright ( C ) 2005 - 2011 Regis Houssin < regis . houssin @ capnetworks . com >
* Copyright ( C ) 2016 Raphaël Doursenaud < rdoursenaud @ gpcsolutions . fr >
2004-02-11 19:08:59 +01:00
*
* 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
2013-01-16 15:36:08 +01:00
* the Free Software Foundation ; either version 3 of the License , or
2004-02-11 19:08:59 +01:00
* ( 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
2011-08-01 01:24:38 +02:00
* along with this program . If not , see < http :// www . gnu . org / licenses />.
2004-02-11 19:08:59 +01:00
*/
2004-12-04 16:30:14 +01:00
2005-03-24 00:27:50 +01:00
/**
2008-12-05 00:25:48 +01:00
* \file htdocs / install / fileconf . php
* \ingroup install
2018-04-12 19:13:06 +02:00
* \brief Ask all informations required to build Dolibarr htdocs / conf / conf . php file ( will be wrote on disk on next page step1 )
2008-12-05 00:25:48 +01:00
*/
2008-02-01 02:01:56 +01:00
2012-10-07 20:04:07 +02:00
include_once 'inc.php' ;
2005-02-12 22:25:39 +01:00
2016-02-22 18:45:00 +01:00
global $langs ;
2005-04-02 22:56:18 +02:00
$err = 0 ;
2012-10-13 13:56:37 +02:00
$setuplang = GETPOST ( " selectlang " , '' , 3 ) ? GETPOST ( " selectlang " , '' , 3 ) : ( isset ( $_GET [ " lang " ]) ? $_GET [ " lang " ] : 'auto' );
2005-10-30 02:07:00 +01:00
$langs -> setDefaultLang ( $setuplang );
2005-02-12 22:25:39 +01:00
$langs -> load ( " install " );
2010-02-04 23:00:51 +01:00
$langs -> load ( " errors " );
2004-02-11 19:08:59 +01:00
2015-07-06 16:33:45 +02:00
dolibarr_install_syslog ( " --- fileconf: entering fileconf.php page " );
2008-04-21 09:21:13 +02:00
2012-12-05 11:18:45 +01:00
// You can force preselected values of the config step of Dolibarr by adding a file
// install.forced.php into directory htdocs/install (This is the case with some wizard
// installer like DoliWamp, DoliMamp or DoliBuntu).
// We first init "forced values" to nothing.
2017-04-24 03:15:03 +02:00
if ( ! isset ( $force_install_noedit )) $force_install_noedit = '' ; // 1=To block vars specific to distrib, 2 to block all technical parameters
2012-12-05 11:18:45 +01:00
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 = '' ;
2017-04-24 03:15:03 +02:00
if ( ! isset ( $force_install_prefix )) $force_install_prefix = '' ;
if ( ! isset ( $force_install_createdatabase )) $force_install_createdatabase = '' ;
2012-12-05 11:18:45 +01:00
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 = '' ;
// Now we load forced value from install.forced.php file.
$useforcedwizard = false ;
$forcedfile = " ./install.forced.php " ;
if ( $conffile == " /etc/dolibarr/conf.php " ) $forcedfile = " /etc/dolibarr/install.forced.php " ; // Must be after inc.php
if ( @ file_exists ( $forcedfile )) {
2016-02-22 18:45:00 +01:00
$useforcedwizard = true ;
include_once $forcedfile ;
2012-10-07 20:04:07 +02:00
}
2010-09-29 10:09:17 +02:00
2017-06-24 21:36:51 +02:00
2008-04-21 09:21:13 +02:00
/*
2010-09-29 10:09:17 +02:00
* View
*/
2005-10-30 02:07:00 +01:00
2012-12-01 15:45:05 +01:00
session_start (); // To be able to keep info into session (used for not loosing pass during navigation. pass must not transit throug parmaeters)
2012-11-20 11:22:57 +01:00
2016-12-23 00:28:16 +01:00
pHeader ( $langs -> trans ( " ConfigurationFile " ), " step1 " , " set " , " " , ( empty ( $force_dolibarr_js_JQUERY ) ? '' : $force_dolibarr_js_JQUERY . '/' ), 'main-inside-bis' );
2004-02-11 19:08:59 +01:00
2010-09-29 10:09:17 +02:00
// Test if we can run a first install process
if ( ! is_writable ( $conffile ))
{
2015-07-06 16:33:45 +02:00
print $langs -> trans ( " ConfFileIsNotWritable " , $conffiletoshow );
dolibarr_install_syslog ( " fileconf: config file is not writable " , LOG_WARNING );
dolibarr_install_syslog ( " --- fileconf: end " );
2010-09-29 10:09:17 +02:00
pFooter ( 1 , $setuplang , 'jscheckparam' );
exit ;
}
2009-10-29 23:28:03 +01:00
if ( ! empty ( $force_install_message ))
2008-05-17 16:56:06 +02:00
{
2017-05-25 19:38:42 +02:00
print '<div><br>' . $langs -> trans ( $force_install_message ) . '</div>' ;
2012-10-07 20:04:07 +02:00
/* print '<script type="text/javascript">' ;
print ' jQuery ( document ) . ready ( function () {
jQuery ( " #linktoshowtechnicalparam " ) . click ( function () {
jQuery ( " .hidewhenedit " ) . hide ();
jQuery ( " .hidewhennoedit " ) . show ();
}); ' ;
if ( $force_install_noedit ) print 'jQuery(".hidewhennoedit").hide();' ;
print '});' ;
print '</script>' ;
print '<br><a href="#" id="linktoshowtechnicalparam" class="hidewhenedit">' . $langs -> trans ( " ShowEditTechnicalParameters " ) . '</a><br>' ;
*/
2008-05-17 16:56:06 +02:00
}
2007-05-26 18:45:00 +02:00
?>
2012-10-07 20:04:07 +02:00
< div >
< table class = " nobordernopadding<?php if ( $force_install_noedit ) print ' hidewhennoedit'; ?> " >
2008-12-05 00:25:48 +01:00
2010-09-29 10:09:17 +02:00
< tr >
2017-05-26 00:02:41 +02:00
< td colspan = " 3 " class = " label " >
2018-04-15 11:27:12 +02:00
< h3 >< img class = " valigntextbottom " src = " ../theme/common/octicons/build/svg/globe.svg " width = " 20 " alt = " webserver " > < ? php echo $langs -> trans ( " WebServer " ); ?> </h3>
2010-09-29 10:09:17 +02:00
</ td >
</ tr >
2007-05-26 18:45:00 +02:00
2011-09-29 22:21:57 +02:00
<!-- Documents root $dolibarr_main_document_root -->
2010-09-29 10:09:17 +02:00
< tr >
2011-09-29 22:21:57 +02:00
< ? php
2017-01-22 12:13:32 +01:00
print '<td class="tdtop label"><b>' ;
2011-09-29 22:21:57 +02:00
print $langs -> trans ( " WebPagesDirectory " );
print " </b></td> " ;
2016-02-22 18:45:00 +01:00
if ( empty ( $dolibarr_main_url_root )) {
$dolibarr_main_document_root = detect_dolibarr_main_document_root ();
2011-09-29 22:21:57 +02:00
}
?>
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " text "
2016-12-13 02:18:14 +01:00
class = " minwidth300 "
2016-02-22 18:45:00 +01:00
value = " <?php print $dolibarr_main_document_root ?> "
name = " main_dir "
< ? php if ( ! empty ( $force_install_noedit )) {
2016-07-23 01:54:09 +02:00
print ' disabled' ;
2016-02-22 18:45:00 +01:00
} ?>
>
</ td >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php
print $langs -> trans ( " WithNoSlashAtTheEnd " ) . " <br> " ;
print $langs -> trans ( " Examples " ) . " :<br> " ;
?>
< ul >
< li >/ var / www / dolibarr / htdocs </ li >
< li > C :/ wwwroot / dolibarr / htdocs </ li >
</ ul >
</ td >
</ tr >
2011-09-29 22:21:57 +02:00
<!-- Documents URL $dolibarr_main_data_root -->
2010-09-29 10:09:17 +02:00
< tr >
2017-01-22 12:13:32 +01:00
< td class = " tdtop label " >< b > < ? php print $langs -> trans ( " DocumentsDirectory " ); ?> </b>
2011-01-09 23:47:02 +01:00
</ td >
2010-09-29 10:09:17 +02:00
< ? php
2016-07-23 01:53:11 +02:00
$dolibarr_main_data_root = @ $force_install_main_data_root ;
2016-02-22 18:45:00 +01:00
if ( empty ( $dolibarr_main_data_root )) {
$dolibarr_main_data_root = detect_dolibarr_main_data_root ( $dolibarr_main_document_root );
2010-09-29 10:09:17 +02:00
}
?>
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " text "
2016-12-13 02:18:14 +01:00
class = " minwidth300 "
2016-02-22 18:45:00 +01:00
value = " <?php print $dolibarr_main_data_root ?> "
name = " main_data_dir "
< ? php if ( ! empty ( $force_install_noedit )) {
2016-07-23 01:54:09 +02:00
print ' disabled' ;
2016-02-22 18:45:00 +01:00
} ?>
>
</ td >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php
print $langs -> trans ( " WithNoSlashAtTheEnd " ) . " <br> " ;
print $langs -> trans ( " DirectoryRecommendation " ) . " <br> " ;
print $langs -> trans ( " Examples " ) . " :<br> " ;
?>
< ul >
2011-07-30 16:56:11 +02:00
< li >/ var / lib / dolibarr / documents </ li >
2010-09-29 10:09:17 +02:00
< li > C :/ My Documents / dolibarr /</ li >
</ ul >
</ td >
</ tr >
2011-09-29 22:21:57 +02:00
<!-- Root URL $dolibarr_main_url_root -->
< ? php
2016-02-22 18:45:00 +01:00
if ( empty ( $dolibarr_main_url_root )) {
$dolibarr_main_url_root = detect_dolibarr_main_url_root ();
2011-09-29 22:21:57 +02:00
}
?>
2011-01-09 23:47:02 +01:00
< tr >
2017-01-22 12:13:32 +01:00
< td class = " tdtop label " >< b > < ? php echo $langs -> trans ( " URLRoot " ); ?> </b>
2011-01-09 23:47:02 +01:00
</ td >
2017-01-22 12:13:32 +01:00
< td class = " tdtop label " >
2016-02-22 18:45:00 +01:00
< input type = " text "
2016-12-13 02:18:14 +01:00
class = " minwidth300 "
2016-02-22 18:45:00 +01:00
name = " main_url "
value = " <?php print $dolibarr_main_url_root ; ?> "
< ? php if ( ! empty ( $force_install_noedit )) {
2016-07-23 01:54:09 +02:00
print ' disabled' ;
2016-02-22 18:45:00 +01:00
} ?>
>
</ td >
2011-01-09 23:47:02 +01:00
< td class = " comment " >< ? php print $langs -> trans ( " Examples " ) . " :<br> " ; ?>
2010-09-29 10:09:17 +02:00
< ul >
< li > http :// localhost /</ li >
< li > http :// www . myserver . com : 8180 / dolibarr </ li >
</ ul >
2011-08-12 20:48:35 +02:00
</ td >
2010-09-29 10:09:17 +02:00
</ tr >
2011-09-29 22:21:57 +02:00
< ? php
if ( ! empty ( $_SERVER [ " HTTPS " ]) && $_SERVER [ " HTTPS " ] == 'on' ) { // Enabled if the installation process is "https://"
?>
2010-09-29 10:09:17 +02:00
< tr >
2017-01-22 12:13:32 +01:00
< td class = " tdtop label " >< ? php echo $langs -> trans ( " ForceHttps " ); ?> </td>
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " checkbox "
name = " main_force_https "
< ? php if ( ! empty ( $force_install_mainforcehttps )) {
2016-07-23 01:54:09 +02:00
print ' checked' ;
2016-02-22 18:45:00 +01:00
} ?>
< ? php if ( $force_install_noedit == 2 && $force_install_mainforcehttps !== null ) {
2016-07-23 01:54:09 +02:00
print ' disabled' ;
2016-02-22 18:45:00 +01:00
} ?>
>
</ td >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " CheckToForceHttps " ); ?>
</ td >
</ tr >
2011-09-29 22:21:57 +02:00
< ? php
}
?>
2010-09-29 10:09:17 +02:00
<!-- Dolibarr database -->
< tr >
2017-05-26 00:02:41 +02:00
< td colspan = " 3 " class = " label " >< br >
2018-04-15 11:27:12 +02:00
< h3 >< img class = " valigntextbottom " src = " ../theme/common/octicons/build/svg/database.svg " width = " 20 " alt = " webserver " > < ? php echo $langs -> trans ( " DolibarrDatabase " ); ?> </h3>
2010-09-29 10:09:17 +02:00
</ td >
</ tr >
2011-12-19 23:32:24 +01:00
< tr >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >< b > < ? php echo $langs -> trans ( " DatabaseName " ); ?>
2016-02-22 18:45:00 +01:00
</ b ></ td >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " text " id = " db_name "
name = " db_name "
value = " <?php echo (!empty( $dolibarr_main_db_name )) ? $dolibarr_main_db_name : ( $force_install_database ? $force_install_database : 'dolibarr'); ?> "
< ? php if ( $force_install_noedit == 2 && $force_install_database !== null ) {
2016-07-23 01:54:09 +02:00
print ' disabled' ;
2016-02-22 18:45:00 +01:00
} ?>
>
</ td >
< td class = " comment " >< ? php echo $langs -> trans ( " DatabaseName " ); ?> </td>
2011-12-19 23:32:24 +01:00
</ tr >
2010-09-29 10:09:17 +02:00
< ? php
if ( ! isset ( $dolibarr_main_db_host ))
{
$dolibarr_main_db_host = " localhost " ;
}
?>
< tr >
2011-01-09 23:47:02 +01:00
<!-- Driver type -->
2017-01-22 12:13:32 +01:00
< td class = " tdtop label " >< b > < ? php echo $langs -> trans ( " DriverType " ); ?>
2010-09-29 10:09:17 +02:00
</ b ></ td >
2016-02-22 18:45:00 +01:00
< td class = " label " >
< ? php
2010-09-29 10:09:17 +02:00
$defaultype =! empty ( $dolibarr_main_db_type ) ? $dolibarr_main_db_type : ( $force_install_type ? $force_install_type : 'mysqli' );
2011-09-29 22:21:57 +02:00
$modules = array ();
$nbok = $nbko = 0 ;
$option = '' ;
2010-12-15 19:15:08 +01:00
2011-09-29 22:21:57 +02:00
// Scan les drivers
2011-10-24 10:06:37 +02:00
$dir = DOL_DOCUMENT_ROOT . '/core/db' ;
2010-09-29 10:09:17 +02:00
$handle = opendir ( $dir );
2011-09-29 22:21:57 +02:00
if ( is_resource ( $handle ))
{
while (( $file = readdir ( $handle )) !== false )
{
2012-01-28 16:04:48 +01:00
if ( is_readable ( $dir . " / " . $file ) && preg_match ( '/^(.*)\.class\.php$/i' , $file , $reg ))
2011-09-29 22:21:57 +02:00
{
$type = $reg [ 1 ];
2013-09-11 15:48:25 +02:00
if ( $type === 'DoliDB' ) continue ; // Skip abstract class
2011-12-19 21:10:23 +01:00
$class = 'DoliDB' . ucfirst ( $type );
2012-08-23 02:04:35 +02:00
include_once $dir . " / " . $file ;
2011-09-29 22:21:57 +02:00
2015-07-12 11:44:37 +02:00
if ( $type == 'sqlite' ) continue ; // We hide sqlite because support can't be complete until sqlite does not manage foreign key creation after table creation (ALTER TABLE child ADD CONSTRAINT not supported)
if ( $type == 'sqlite3' ) continue ; // We hide sqlite3 because support can't be complete until sqlite does not manage foreign key creation after table creation (ALTER TABLE child ADD CONSTRAINT not supported)
2014-08-01 00:53:29 +02:00
2011-12-19 21:10:23 +01:00
// Version min of database
2014-08-01 00:53:29 +02:00
$versionbasemin = explode ( '.' , $class :: VERSIONMIN );
$note = '(' . $class :: LABEL . ' >= ' . $class :: VERSIONMIN . ')' ;
2011-09-29 22:21:57 +02:00
// Switch to mysql if mysqli is not present
if ( $defaultype == 'mysqli' && ! function_exists ( 'mysqli_connect' )) $defaultype = 'mysql' ;
2011-12-19 21:10:23 +01:00
// Show line into list
2012-01-02 02:46:12 +01:00
if ( $type == 'mysql' ) { $testfunction = 'mysql_connect' ; $testclass = '' ; }
if ( $type == 'mysqli' ) { $testfunction = 'mysqli_connect' ; $testclass = '' ; }
if ( $type == 'pgsql' ) { $testfunction = 'pg_connect' ; $testclass = '' ; }
if ( $type == 'mssql' ) { $testfunction = 'mssql_connect' ; $testclass = '' ; }
2015-03-11 03:03:17 +01:00
if ( $type == 'sqlite' ) { $testfunction = '' ; $testclass = 'PDO' ; }
2015-03-05 10:52:37 +01:00
if ( $type == 'sqlite3' ) { $testfunction = '' ; $testclass = 'SQLite3' ; }
2015-05-07 12:20:20 +02:00
$option .= '<option value="' . $type . '"' . ( $defaultype == $type ? ' selected' : '' );
2015-05-07 11:57:23 +02:00
if ( $testfunction && ! function_exists ( $testfunction )) $option .= ' disabled' ;
if ( $testclass && ! class_exists ( $testclass )) $option .= ' disabled' ;
2011-09-29 22:21:57 +02:00
$option .= '>' ;
$option .= $type . ' ' ;
if ( $note ) $option .= ' ' . $note ;
2015-05-23 20:43:01 +02:00
// Deprecated and experimental
if ( $type == 'mysql' ) $option .= ' ' . $langs -> trans ( " Deprecated " );
2015-12-06 13:34:57 +01:00
elseif ( $type == 'mssql' ) $option .= ' ' . $langs -> trans ( " VersionExperimental " );
elseif ( $type == 'sqlite' ) $option .= ' ' . $langs -> trans ( " VersionExperimental " );
elseif ( $type == 'sqlite3' ) $option .= ' ' . $langs -> trans ( " VersionExperimental " );
2011-09-29 22:21:57 +02:00
// No available
elseif ( ! function_exists ( $testfunction )) $option .= ' - ' . $langs -> trans ( " FunctionNotAvailableInThisPHP " );
$option .= '</option>' ;
}
}
}
2016-02-22 18:45:00 +01:00
?>
< select id = " db_type "
name = " db_type "
2017-04-24 03:15:03 +02:00
< ? php if ( $force_install_noedit == 2 && $force_install_type !== null ) {
2016-07-23 01:54:09 +02:00
print ' disabled' ;
2016-02-22 18:45:00 +01:00
} ?>
>
< ? php print $option ; ?>
</ select >
2011-09-29 22:21:57 +02:00
2016-02-22 18:45:00 +01:00
</ td >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " DatabaseType " ); ?> </td>
</ tr >
2012-01-02 02:46:12 +01:00
< tr class = " hidesqlite " >
2017-01-22 12:13:32 +01:00
< td class = " tdtop label " >< b > < ? php echo $langs -> trans ( " DatabaseServer " ); ?>
2010-09-29 10:09:17 +02:00
</ b ></ td >
2017-01-22 12:13:32 +01:00
< td class = " tdtop label " >
2016-02-22 18:45:00 +01:00
< input type = " text "
name = " db_host "
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 !== null ) {
print ' disabled' ;
} ?>
>
2011-06-12 01:21:59 +02:00
</ td >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " ServerAddressDescription " ); ?>
</ td >
</ tr >
2012-01-02 02:46:12 +01:00
< tr class = " hidesqlite " >
2017-01-22 12:13:32 +01:00
< td class = " tdtop label " >< ? php echo $langs -> trans ( " Port " ); ?> </td>
< td class = " tdtop label " >
2016-02-22 18:45:00 +01:00
< input type = " text "
name = " db_port "
id = " db_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' ;
} ?>
>
2011-06-12 01:21:59 +02:00
</ td >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " ServerPortDescription " ); ?>
</ td >
</ tr >
2012-01-02 02:46:12 +01:00
< tr class = " hidesqlite " >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >< ? php echo $langs -> trans ( " DatabasePrefix " ); ?>
2011-12-19 23:32:24 +01:00
</ td >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " text " id = " db_prefix "
name = " db_prefix "
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 >
2011-11-23 23:09:57 +01:00
< td class = " comment " >< ? php echo $langs -> trans ( " DatabasePrefix " ); ?> </td>
</ tr >
2010-09-29 10:09:17 +02:00
2012-01-02 02:46:12 +01:00
< tr class = " hidesqlite " >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >< ? php echo $langs -> trans ( " CreateDatabase " ); ?>
2010-09-29 10:09:17 +02:00
</ td >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " checkbox "
id = " db_create_database "
name = " db_create_database "
< ? php if ( $force_install_createdatabase ) {
print ' checked' ;
} ?>
< ? php if ( $force_install_noedit == 2 && $force_install_createdatabase !== null ) {
print ' disabled' ;
} ?>
>
</ td >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " CheckToCreateDatabase " ); ?>
</ td >
</ tr >
2012-01-02 02:46:12 +01:00
< tr class = " hidesqlite " >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >< b >< ? php echo $langs -> trans ( " Login " ); ?> </b>
2010-09-29 10:09:17 +02:00
</ td >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " text " id = " db_user "
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 >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " AdminLogin " ); ?> </td>
</ tr >
2012-01-02 02:46:12 +01:00
< tr class = " hidesqlite " >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >< b >< ? php echo $langs -> trans ( " Password " ); ?> </b>
2010-09-29 10:09:17 +02:00
</ td >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " password " id = " db_pass " autocomplete = " off "
name = " db_pass "
value = " <?php
2017-06-24 21:36:51 +02:00
// If $force_install_databasepass is on, we don't want to set password, we just show '***'. Real value will be extracted from the forced install file at step1.
$autofill = (( ! empty ( $_SESSION [ 'dol_save_pass' ])) ? $_SESSION [ 'dol_save_pass' ] : str_pad ( '' , strlen ( $force_install_databasepass ), '*' ));
2016-02-22 18:45:00 +01:00
if ( ! empty ( $dolibarr_main_prod )) {
$autofill = '' ;
}
print dol_escape_htmltag ( $autofill );
?> "
< ? php if ( $force_install_noedit == 2 && $force_install_databasepass !== null ) {
2016-07-23 01:54:09 +02:00
print ' disabled' ;
2016-02-22 18:45:00 +01:00
} ?>
>
</ td >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " AdminPassword " ); ?> </td>
</ tr >
2012-01-02 02:46:12 +01:00
< tr class = " hidesqlite " >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >< ? php echo $langs -> trans ( " CreateUser " ); ?>
2010-09-29 10:09:17 +02:00
</ td >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " checkbox "
id = " db_create_user " name = " db_create_user "
< ? php if ( ! empty ( $force_install_createuser )) {
2016-07-23 01:54:09 +02:00
print ' checked' ;
2016-02-22 18:45:00 +01:00
} ?>
< ? php if ( $force_install_noedit == 2 && $force_install_createuser !== null ) {
2016-07-23 01:54:09 +02:00
print ' disabled' ;
2016-02-22 18:45:00 +01:00
} ?>
>
</ td >
2010-09-29 10:09:17 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " CheckToCreateUser " ); ?>
</ td >
</ tr >
<!-- Super access -->
2011-08-07 01:10:00 +02:00
< ? php
2016-02-22 18:45:00 +01:00
$force_install_databaserootlogin = parse_database_login ( $force_install_databaserootlogin );
$force_install_databaserootpass = parse_database_pass ( $force_install_databaserootpass );
2011-08-07 01:10:00 +02:00
?>
2012-07-04 10:23:59 +02:00
< tr class = " hidesqlite hideroot " >
2017-05-26 00:02:41 +02:00
< td colspan = " 3 " class = " label " >< br >
2018-04-15 11:27:12 +02:00
< h3 >< img class = " valigntextbottom " src = " ../theme/common/octicons/build/svg/shield.svg " width = " 20 " alt = " webserver " > < ? php echo $langs -> trans ( " DatabaseSuperUserAccess " ); ?> </h3>
2010-09-29 10:09:17 +02:00
</ td >
</ tr >
2012-07-04 10:23:59 +02:00
< tr class = " hidesqlite hideroot " >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >< b >< ? php echo $langs -> trans ( " Login " ); ?> </b></td>
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " text "
id = " db_user_root "
name = " db_user_root "
class = " needroot "
2016-07-23 01:53:11 +02:00
value = " <?php print (!empty( $force_install_databaserootlogin )) ? $force_install_databaserootlogin : @ $db_user_root ; ?> "
2017-06-24 21:36:51 +02:00
< ? php if ( $force_install_noedit > 0 && ! empty ( $force_install_databaserootlogin )) {
2016-07-23 01:54:09 +02:00
print ' disabled' ;
2016-02-22 18:45:00 +01:00
} ?>
>
</ td >
2011-09-29 22:21:57 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " DatabaseRootLoginDescription " ); ?>
2011-08-12 20:48:35 +02:00
<!--
< ? php echo '<br>' . $langs -> trans ( " Examples " ) . ':<br>' ?>
< ul >
< li > root ( Mysql ) </ li >
< li > postgres ( PostgreSql ) </ li >
</ ul >
2010-09-29 10:09:17 +02:00
</ td >
2011-08-12 20:48:35 +02:00
-->
2011-09-29 22:21:57 +02:00
2010-09-29 10:09:17 +02:00
</ tr >
2012-07-04 10:23:59 +02:00
< tr class = " hidesqlite hideroot " >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >< b >< ? php echo $langs -> trans ( " Password " ); ?> </b>
2010-09-29 10:09:17 +02:00
</ td >
2017-05-25 19:38:42 +02:00
< td class = " label tdtop " >
2016-02-22 18:45:00 +01:00
< input type = " password "
autocomplete = " off "
id = " db_pass_root "
name = " db_pass_root "
class = " needroot "
value = " <?php
2017-06-24 21:36:51 +02:00
// If $force_install_databaserootpass is on, we don't want to set password here, we just show '***'. Real value will be extracted from the forced install file at step1.
$autofill = (( ! empty ( $force_install_databaserootpass )) ? str_pad ( '' , strlen ( $force_install_databaserootpass ), '*' ) : @ $db_pass_root );
2016-02-22 18:45:00 +01:00
if ( ! empty ( $dolibarr_main_prod )) {
$autofill = '' ;
2017-06-24 21:36:51 +02:00
}
// Do not autofill password if instance is a production instance
2016-02-22 18:45:00 +01:00
if ( ! empty ( $_SERVER [ " SERVER_NAME " ]) && ! in_array ( $_SERVER [ " SERVER_NAME " ],
2017-06-24 21:36:51 +02:00
array ( '127.0.0.1' , 'localhost' , 'localhostgit' ))
2016-02-22 18:45:00 +01:00
) {
$autofill = '' ;
} // Do not autofill password for remote access
print dol_escape_htmltag ( $autofill );
?> "
2017-06-24 21:36:51 +02:00
< ? php if ( $force_install_noedit > 0 && ! empty ( $force_install_databaserootpass )) {
print ' disabled' ; // May be removed by javascript
2016-02-22 18:45:00 +01:00
} ?>
>
</ td >
2011-09-29 22:21:57 +02:00
< td class = " comment " >< ? php echo $langs -> trans ( " KeepEmptyIfNoPassword " ); ?>
2010-09-29 10:09:17 +02:00
</ td >
</ tr >
2004-02-11 19:08:59 +01:00
</ table >
2012-10-07 20:04:07 +02:00
</ div >
2004-12-04 16:30:14 +01:00
2011-11-21 01:34:37 +01:00
< script type = " text/javascript " >
2011-05-17 10:46:56 +02:00
jQuery ( document ) . ready ( function () {
2011-12-19 23:32:24 +01:00
2016-06-16 13:00:38 +02:00
var dbtype = jQuery ( " #db_type " );
dbtype . change ( function () {
if ( dbtype . val () == 'sqlite' || dbtype . val () == 'sqlite3' ) {
jQuery ( " .hidesqlite " ) . hide ();
} else {
jQuery ( " .hidesqlite " ) . show ();
}
// Automatically set default database ports and admin user
if ( dbtype . val () == 'mysql' || dbtype . val () == 'mysqli' ) {
jQuery ( " #db_port " ) . val ( 3306 );
jQuery ( " #db_user_root " ) . val ( 'root' );
} else if ( dbtype . val () == 'pgsql' ) {
jQuery ( " #db_port " ) . val ( 5432 );
jQuery ( " #db_user_root " ) . val ( 'postgres' );
} else if ( dbtype . val () == 'mssql' ) {
jQuery ( " #db_port " ) . val ( 1433 );
jQuery ( " #db_user_root " ) . val ( 'sa' );
}
2011-12-19 23:32:24 +01:00
});
2011-05-17 10:46:56 +02:00
function init_needroot ()
{
2015-05-12 14:22:00 +02:00
/*alert(jQuery("#db_create_database").prop("checked")); */
2015-05-12 16:21:21 +02:00
if ( jQuery ( " #db_create_database " ) . is ( " :checked " ) || jQuery ( " #db_create_user " ) . is ( " :checked " ))
2011-06-08 11:52:06 +02:00
{
2012-07-04 10:23:59 +02:00
jQuery ( " .hideroot " ) . show ();
2017-06-24 21:36:51 +02:00
< ? php
if ( $force_install_noedit == 0 ) { ?>
jQuery ( " .needroot " ) . removeAttr ( 'disabled' );
< ? php } ?>
2011-05-17 10:46:56 +02:00
}
else
{
2012-07-04 10:23:59 +02:00
jQuery ( " .hideroot " ) . hide ();
2015-05-12 14:47:33 +02:00
jQuery ( " .needroot " ) . prop ( 'disabled' , true );
2011-05-17 10:46:56 +02:00
}
}
2011-12-19 23:32:24 +01:00
2011-05-17 10:46:56 +02:00
init_needroot ();
jQuery ( " #db_create_database " ) . click ( function () {
init_needroot ();
});
jQuery ( " #db_create_user " ) . click ( function () {
init_needroot ();
});
2016-02-22 18:45:00 +01:00
< ? php if ( $force_install_noedit == 2 && empty ( $force_install_databasepass )) { ?>
2011-07-30 16:56:11 +02:00
jQuery ( " #db_pass " ) . focus ();
< ? php } ?>
2011-05-17 10:46:56 +02:00
});
2010-02-04 23:00:51 +01:00
function checkDatabaseName ( databasename ) {
2010-08-20 13:58:29 +02:00
if ( databasename . match ( / [; \ . ] / )) { return false ; }
2010-02-04 23:00:51 +01:00
return true ;
}
2010-01-20 18:54:44 +01:00
function jscheckparam ()
{
ok = true ;
if ( document . forminstall . main_dir . value == '' )
{
ok = false ;
alert ( '<?php echo dol_escape_js($langs->transnoentities("ErrorFieldRequired",$langs->transnoentitiesnoconv("WebPagesDirectory"))); ?>' );
}
else if ( document . forminstall . main_data_dir . value == '' )
{
ok = false ;
alert ( '<?php echo dol_escape_js($langs->transnoentities("ErrorFieldRequired",$langs->transnoentitiesnoconv("DocumentsDirectory"))); ?>' );
}
else if ( document . forminstall . main_url . value == '' )
{
ok = false ;
alert ( '<?php echo dol_escape_js($langs->transnoentities("ErrorFieldRequired",$langs->transnoentitiesnoconv("URLRoot"))); ?>' );
}
else if ( document . forminstall . db_host . value == '' )
{
ok = false ;
alert ( '<?php echo dol_escape_js($langs->transnoentities("ErrorFieldRequired",$langs->transnoentitiesnoconv("Server"))); ?>' );
}
else if ( document . forminstall . db_name . value == '' )
{
ok = false ;
alert ( '<?php echo dol_escape_js($langs->transnoentities("ErrorFieldRequired",$langs->transnoentitiesnoconv("DatabaseName"))); ?>' );
}
2010-02-04 23:00:51 +01:00
else if ( ! checkDatabaseName ( document . forminstall . db_name . value ))
{
ok = false ;
alert ( '<?php echo dol_escape_js($langs->transnoentities("ErrorSpecialCharNotAllowedForField",$langs->transnoentitiesnoconv("DatabaseName"))); ?>' );
}
2010-01-20 18:54:44 +01:00
// If create database asked
2010-02-04 23:00:51 +01:00
else if ( document . forminstall . db_create_database . checked == true && ( document . forminstall . db_user_root . value == '' ))
2010-01-20 18:54:44 +01:00
{
ok = false ;
alert ( '<?php echo dol_escape_js($langs->transnoentities("YouAskToCreateDatabaseSoRootRequired")); ?>' );
}
// If create user asked
2010-02-04 23:00:51 +01:00
else if ( document . forminstall . db_create_user . checked == true && ( document . forminstall . db_user_root . value == '' ))
2010-01-20 18:54:44 +01:00
{
ok = false ;
alert ( '<?php echo dol_escape_js($langs->transnoentities("YouAskToCreateDatabaseUserSoRootRequired")); ?>' );
}
return ok ;
}
</ script >
2004-12-04 16:30:14 +01:00
2012-07-04 10:23:59 +02:00
< ? php
2004-12-04 16:30:14 +01:00
2012-07-04 10:23:59 +02:00
// $db->close(); Not database connexion yet
2015-07-06 16:33:45 +02:00
dolibarr_install_syslog ( " --- fileconf: end " );
2012-07-04 10:23:59 +02:00
pFooter ( $err , $setuplang , 'jscheckparam' );