diff --git a/install.php b/install.php index 7acf6d5d9e7..d71e7a58463 100644 --- a/install.php +++ b/install.php @@ -129,7 +129,12 @@ if (!empty($_POST)) { $config->dbpass = trim($_POST['dbpass']); $config->dbname = trim($_POST['dbname']); $config->prefix = trim($_POST['prefix']); - $config->dbsocket = (int)(!empty($_POST['dbsocket'])); + $config->dbport = (int)trim($_POST['dbport']); + $config->dbsocket = trim($_POST['dbsocket']); + + if ($config->dbport <= 0) { + $config->dbport = ''; + } $config->admin = empty($_POST['admin']) ? 'admin' : trim($_POST['admin']); @@ -144,7 +149,8 @@ if (!empty($_POST)) { $config->dbpass = ''; $config->dbname = 'moodle'; $config->prefix = 'mdl_'; - $config->dbsocket = 0; + $config->dbport = empty($distro->dbport) ? '' : $distro->dbport; + $config->dbsocket = empty($distro->dbsocket) ? '' : $distro->dbsocket; $config->admin = 'admin'; @@ -263,9 +269,9 @@ if ($config->stage == INSTALL_SAVE) { $config->stage = INSTALL_DATABASETYPE; } else { if (function_exists('distro_pre_create_db')) { // Hook for distros needing to do something before DB creation - $distro = distro_pre_create_db($database, $config->dbhost, $config->dbuser, $config->dbpass, $config->dbname, $config->prefix, array('dbpersist'=>0, 'dbsocket'=>$config->dbsocket), $distro); + $distro = distro_pre_create_db($database, $config->dbhost, $config->dbuser, $config->dbpass, $config->dbname, $config->prefix, array('dbpersist'=>0, 'dbport'=>$config->dbport, 'dbsocket'=>$config->dbsocket), $distro); } - $hint_database = install_db_validate($database, $config->dbhost, $config->dbuser, $config->dbpass, $config->dbname, $config->prefix, array('dbpersist'=>0, 'dbsocket'=>$config->dbsocket)); + $hint_database = install_db_validate($database, $config->dbhost, $config->dbuser, $config->dbpass, $config->dbname, $config->prefix, array('dbpersist'=>0, 'dbport'=>$config->dbport, 'dbsocket'=>$config->dbsocket)); if ($hint_database === '') { $configphp = install_generate_configphp($database, $CFG); @@ -405,6 +411,7 @@ if ($config->stage == INSTALL_DATABASE) { $strdbuser = get_string('databaseuser', 'install'); $strdbpass = get_string('databasepass', 'install'); $strprefix = get_string('dbprefix', 'install'); + $strdbport = get_string('databaseport', 'install'); $strdbsocket = get_string('databasesocket', 'install'); echo '