From 47651a4d8ce5e0921a1c1cf90211196cf34081b1 Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Fri, 16 Dec 2011 14:18:51 +0100 Subject: [PATCH] MDL-30779 add port and socket to dbtansfer tool --- admin/tool/dbtransfer/database_transfer_form.php | 2 ++ admin/tool/dbtransfer/index.php | 9 ++++++++- lang/en/install.php | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/admin/tool/dbtransfer/database_transfer_form.php b/admin/tool/dbtransfer/database_transfer_form.php index 241d57248d2..5b32c0fce87 100644 --- a/admin/tool/dbtransfer/database_transfer_form.php +++ b/admin/tool/dbtransfer/database_transfer_form.php @@ -57,6 +57,8 @@ class database_transfer_form extends moodleform { $mform->addElement('text', 'dbuser', get_string('user')); $mform->addElement('text', 'dbpass', get_string('password')); $mform->addElement('text', 'prefix', get_string('dbprefix', 'install')); + $mform->addElement('text', 'dbport', get_string('dbport', 'install')); + $mform->addElement('text', 'dbsocket', get_string('databasesocket', 'install')); $mform->addRule('dbhost', get_string('required'), 'required', null); $mform->addRule('dbname', get_string('required'), 'required', null); diff --git a/admin/tool/dbtransfer/index.php b/admin/tool/dbtransfer/index.php index 57791da649d..2b1a2c5cf46 100644 --- a/admin/tool/dbtransfer/index.php +++ b/admin/tool/dbtransfer/index.php @@ -40,7 +40,14 @@ if ($data = $form->get_data()) { // Connect to the other database. list($dbtype, $dblibrary) = explode('/', $data->driver); $targetdb = moodle_database::get_driver_instance($dbtype, $dblibrary); - if (!$targetdb->connect($data->dbhost, $data->dbuser, $data->dbpass, $data->dbname, $data->prefix, null)) { + $dboptions = array(); + if ($data->dbport) { + $dboptions['dbport'] = $data->dbport; + } + if ($data->dbsocket) { + $dboptions['dbsocket'] = $data->dbsocket; + } + if (!$targetdb->connect($data->dbhost, $data->dbuser, $data->dbpass, $data->dbname, $data->prefix, $dboptions)) { throw new dbtransfer_exception('notargetconectexception', null, "$CFG->wwwroot/$CFG->admin/tool/dbtransfer/"); } if ($targetdb->get_tables()) { diff --git a/lang/en/install.php b/lang/en/install.php index 75ba8276118..78e7705d77a 100644 --- a/lang/en/install.php +++ b/lang/en/install.php @@ -160,6 +160,7 @@ $string['dbconnectionerror'] = 'We could not connect to the database you specifi $string['dbcreationerror'] = 'Database creation error. Could not create the given database name with the settings provided'; $string['dbhost'] = 'Host server'; $string['dbpass'] = 'Password'; +$string['dbport'] = 'Port'; $string['dbprefix'] = 'Tables prefix'; $string['dbtype'] = 'Type'; $string['dbwrongencoding'] = 'The selected database is running under one non-recommended encoding ({$a}). It would be better to use one Unicode (UTF-8) encoded database instead. Anyway, you can bypass this test by selecting the "Skip DB Encoding Test" check below, but you could experience problems in the future.';