diff --git a/lib/db/install.xml b/lib/db/install.xml
index ab9b8c55b43..8d7c29e6ca6 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 1531197e2c1..00f7dc37fb2 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 cfec8ba19ed..44bc970223b 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 d8d8bcf9310..58b2e7dfb26 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 c8f7335c2c0..1a3808055d1 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