. /** * Transfer form * * @package tool * @subpackage dbtransfer * @copyright 2008 Petr Skoda * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die; require_once $CFG->libdir.'/formslib.php'; class database_transfer_form extends moodleform { function definition() { $mform = $this->_form; $mform->addElement('header', 'database', get_string('dbtransfer', 'tool_dbtransfer')); $supported = array ( 'mysqli/native', 'pgsql/native', 'mssql/native', 'oci/native', 'sqlite3/pdo', ); $drivers = array(); foreach($supported as $driver) { list($dbtype, $dblibrary) = explode('/', $driver); $targetdb = moodle_database::get_driver_instance($dbtype, $dblibrary); if ($targetdb->driver_installed() !== true) { continue; } $drivers[$driver] = $driver; } $mform->addElement('select', 'driver', get_string('dbtype', 'install'), $drivers); $mform->addElement('text', 'dbhost', get_string('dbhost', 'install')); $mform->addElement('text', 'dbname', get_string('database', 'install')); $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); $mform->addRule('dbuser', get_string('required'), 'required', null); $mform->addRule('dbpass', get_string('required'), 'required', null); $mform->addRule('prefix', get_string('required'), 'required', null); $this->add_action_buttons(false, get_string('transferdata', 'tool_dbtransfer')); } }