Add database port to installation procedure and configuration file - refs #7819

1.10.x
Yannick Warnier 10 years ago
parent 063b404e94
commit a2d3f1c99c
  1. 2
      main/install/configuration.dist.php
  2. 16
      main/install/index.php
  3. 27
      main/install/install.lib.php

@ -28,6 +28,8 @@
*/
// Database host
$_configuration['db_host'] = '{DATABASE_HOST}';
// Database port
$_configuration['db_port'] = '{DATABASE_PORT}';
// Database name
$_configuration['main_database'] = '{DATABASE_MAIN}';
// Database username

@ -213,6 +213,7 @@ if (!isset($_GET['running'])) {
$dbUsernameForm = 'root';
$dbPassForm = '';
$dbNameForm = 'chamilo';
$dbPortForm = 3306;
// Extract the path to append to the url if Chamilo is not installed on the web root directory.
$urlAppendPath = api_remove_trailing_slash(api_get_path(REL_PATH));
@ -439,6 +440,7 @@ if (empty($installationProfile)) {
<input type="hidden" name="pathForm" value="<?php echo api_htmlentities($pathForm, ENT_QUOTES); ?>" />
<input type="hidden" name="urlForm" value="<?php echo api_htmlentities($urlForm, ENT_QUOTES); ?>" />
<input type="hidden" name="dbHostForm" value="<?php echo api_htmlentities($dbHostForm, ENT_QUOTES); ?>" />
<input type="hidden" name="dbPortForm" value="<?php echo api_htmlentities($dbPortForm, ENT_QUOTES); ?>" />
<input type="hidden" name="dbUsernameForm" value="<?php echo api_htmlentities($dbUsernameForm, ENT_QUOTES); ?>" />
<input type="hidden" name="dbPassForm" value="<?php echo api_htmlentities($dbPassForm, ENT_QUOTES); ?>" />
<input type="hidden" name="dbNameForm" value="<?php echo api_htmlentities($dbNameForm, ENT_QUOTES); ?>" />
@ -476,6 +478,7 @@ if (@$_POST['step2']) {
$dbUsernameForm,
$dbPassForm,
$dbNameForm,
$dbPortForm,
$installationProfile
);
} elseif (@$_POST['step4']) {
@ -489,7 +492,8 @@ if (@$_POST['step2']) {
$dbHostForm,
$dbUsernameForm,
$dbPassForm,
$dbNameForm
$dbNameForm,
$dbPortForm
);
$tmp = get_config_param_from_db('platformLanguage');
@ -594,6 +598,7 @@ if (@$_POST['step2']) {
<?php echo get_lang('AdminPhone').' : '.$adminPhoneForm; ?><br />
<?php echo get_lang('MainLang').' : '.$languageForm; ?><br /><br />
<?php echo get_lang('DBHost').' : '.$dbHostForm; ?><br />
<?php echo get_lang('DBPort').' : '.$dbPortForm; ?><br />
<?php echo get_lang('DBLogin').' : '.$dbUsernameForm; ?><br />
<?php echo get_lang('DBPassword').' : '.str_repeat('*', api_strlen($dbPassForm)); ?><br />
<?php echo get_lang('MainDB').' : <strong>'.$dbNameForm; ?></strong><br />
@ -675,7 +680,8 @@ if (@$_POST['step2']) {
$dbHostForm,
$dbUsernameForm,
$dbPassForm,
$dbNameForm
$dbNameForm,
$dbPortForm
);
$perm = api_get_permissions_for_new_directories();
@ -749,7 +755,8 @@ if (@$_POST['step2']) {
$dbHostForm,
$dbUsernameForm,
$dbPassForm,
null
null,
$dbPortForm
);
$dbNameForm = preg_replace('/[^a-zA-Z0-9_\-]/', '', $dbNameForm);
@ -761,7 +768,8 @@ if (@$_POST['step2']) {
$dbHostForm,
$dbUsernameForm,
$dbPassForm,
$dbNameForm
$dbNameForm,
$dbPortForm
);
$metadataList = $manager->getMetadataFactory()->getAllMetadata();

@ -325,6 +325,7 @@ function set_file_folder_permissions()
function write_system_config_file($path)
{
global $dbHostForm;
global $dbPortForm;
global $dbUsernameForm;
global $dbPassForm;
global $dbNameForm;
@ -342,6 +343,7 @@ function write_system_config_file($path)
$config['{DATE_GENERATED}'] = date('r');
$config['{DATABASE_HOST}'] = $dbHostForm;
$config['{DATABASE_PORT}'] = $dbPortForm;
$config['{DATABASE_USER}'] = $dbUsernameForm;
$config['{DATABASE_PASSWORD}'] = $dbPassForm;
$config['{DATABASE_MAIN}'] = $dbNameForm;
@ -523,14 +525,16 @@ function get_config_param_from_db($param = '')
* @param string $dbUsernameForm DB username
* @param string $dbPassForm DB password
* @param string $dbNameForm DB name
* @param int $dbPortForm DB port
*
* @return EntityManager
*/
function connectToDatabase($dbHostForm, $dbUsernameForm, $dbPassForm, $dbNameForm)
function connectToDatabase($dbHostForm, $dbUsernameForm, $dbPassForm, $dbNameForm, $dbPortForm = 3306)
{
$dbParams = array(
'driver' => 'pdo_mysql',
'host' => $dbHostForm,
'port' => $dbPortForm,
'user' => $dbUsernameForm,
'password' => $dbPassForm,
'dbname' => $dbNameForm
@ -1298,6 +1302,7 @@ function displayDatabaseParameter(
* @param string $dbUsernameForm
* @param string $dbPassForm
* @param string $dbNameForm
* @param int $dbPortForm
* @param string $installationProfile
*/
function display_database_settings_form(
@ -1306,6 +1311,7 @@ function display_database_settings_form(
$dbUsernameForm,
$dbPassForm,
$dbNameForm,
$dbPortForm = 3306,
$installationProfile = ''
) {
if ($installType == 'update') {
@ -1314,6 +1320,7 @@ function display_database_settings_form(
$dbUsernameForm = $_configuration['db_user'];
$dbPassForm = $_configuration['db_password'];
$dbNameForm = $_configuration['main_database'];
$dbPortForm = $_configuration['db_port'];
echo '<div class="RequirementHeading"><h2>' . display_step_sequence() .get_lang('DBSetting') . '</h2></div>';
echo '<div class="RequirementContent">';
@ -1342,6 +1349,20 @@ function display_database_settings_form(
<div class="col-sm-3"><?php echo get_lang('EG').' localhost'; ?></div>
<?php } ?>
</div>
<div class="form-group">
<label class="col-sm-4"><?php echo get_lang('DBPort'); ?> </label>
<?php if ($installType == 'update'){ ?>
<div class="col-sm-5">
<input type="hidden" name="dbPortForm" value="<?php echo htmlentities($dbPortForm); ?>" /><?php echo $dbPortForm; ?>
</div>
<div class="col-sm-3"></div>
<?php }else{ ?>
<div class="col-sm-5">
<input type="text" size="25" maxlength="50" name="dbPortForm" value="<?php echo htmlentities($dbPortForm); ?>" />
</div>
<div class="col-sm-3"><?php echo get_lang('EG').' 3306'; ?></div>
<?php } ?>
</div>
<div class="form-group">
<?php
//database user username
@ -1400,7 +1421,8 @@ function display_database_settings_form(
$dbHostForm,
$dbUsernameForm,
$dbPassForm,
null
null,
$dbPortForm
);
$databases = $manager->getConnection()->getSchemaManager()->listDatabases();
if (in_array($dbNameForm, $databases)) {
@ -1415,6 +1437,7 @@ function display_database_settings_form(
<?php echo $database_exists_text ?>
<div id="db_status" class="alert alert-success">
Database host: <strong><?php echo $manager->getConnection()->getHost(); ?></strong><br />
Database port: <strong><?php echo $manager->getConnection()->getPort(); ?></strong><br />
Database driver: <strong><?php echo $manager->getConnection()->getDriver()->getName(); ?></strong><br />
</div>

Loading…
Cancel
Save