From 8b9cfac4ab423e558e8dde775fb2503d63507f22 Mon Sep 17 00:00:00 2001 From: skodak Date: Mon, 12 May 2008 14:38:45 +0000 Subject: [PATCH] MDL-11719 increased size of idnumber in user table - needed for some enrolment plugins; merged from MOODLE_19_STABLE --- lib/db/install.xml | 2 +- lib/db/upgrade.php | 30 ++++++++++++++++++++++++++++++ lib/moodlelib.php | 2 +- user/editlib.php | 2 +- version.php | 2 +- 5 files changed, 34 insertions(+), 4 deletions(-) diff --git a/lib/db/install.xml b/lib/db/install.xml index ab9b8c55b4..8d7c29e6ca 100644 --- a/lib/db/install.xml +++ b/lib/db/install.xml @@ -441,7 +441,7 @@ - + diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index 1531197e2c..00f7dc37fb 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -84,6 +84,36 @@ function xmldb_main_upgrade($oldversion=0) { } } + if ($result && $oldversion < 2008051201) { + notify('Increasing size of user idnumber field, this may take a while...', 'notifysuccess'); + + /// Define index idnumber (not unique) to be dropped form user + $table = new XMLDBTable('user'); + $index = new XMLDBIndex('idnumber'); + $index->setAttributes(XMLDB_INDEX_NOTUNIQUE, array('idnumber')); + + /// Launch drop index idnumber + if (index_exists($table, $index)) { + $result = $result && drop_index($table, $index); + } + + /// Changing precision of field idnumber on table user to (255) + $table = new XMLDBTable('user'); + $field = new XMLDBField('idnumber'); + $field->setAttributes(XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null, null, 'password'); + + /// Launch change of precision for field idnumber + $result = $result && change_field_precision($table, $field); + + /// Launch add index idnumber again + $index = new XMLDBIndex('idnumber'); + $index->setAttributes(XMLDB_INDEX_NOTUNIQUE, array('idnumber')); + $result = $result && add_index($table, $index); + + /// Main savepoint reached + upgrade_main_savepoint($result, 2008051201); + } + return $result; } diff --git a/lib/moodlelib.php b/lib/moodlelib.php index cfec8ba19e..44bc970223 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -2911,7 +2911,7 @@ function truncate_userinfo($info) { // define the limits $limit = array( 'username' => 100, - 'idnumber' => 64, + 'idnumber' => 255, 'firstname' => 100, 'lastname' => 100, 'email' => 100, diff --git a/user/editlib.php b/user/editlib.php index d8d8bcf931..58b2e7dfb2 100644 --- a/user/editlib.php +++ b/user/editlib.php @@ -250,7 +250,7 @@ function useredit_shared_definition(&$mform) { $mform->addElement('text', 'msn', get_string('msnid'), 'maxlength="50" size="25"'); $mform->setType('msn', PARAM_CLEAN); - $mform->addElement('text', 'idnumber', get_string('idnumber'), 'maxlength="64" size="25"'); + $mform->addElement('text', 'idnumber', get_string('idnumber'), 'maxlength="255" size="25"'); $mform->setType('idnumber', PARAM_CLEAN); $mform->addElement('text', 'institution', get_string('institution'), 'maxlength="40" size="25"'); diff --git a/version.php b/version.php index c8f7335c2c..1a3808055d 100644 --- a/version.php +++ b/version.php @@ -6,7 +6,7 @@ // This is compared against the values stored in the database to determine // whether upgrades should be performed (see lib/db/*.php) - $version = 2008051200; // YYYYMMDD = date of the last version bump + $version = 2008051201; // YYYYMMDD = date of the last version bump // XX = daily increments $release = '2.0 dev (Build: 20080512)'; // Human-friendly version name -- 2.39.5