diff --git a/admin/roles/assign.php b/admin/roles/assign.php
index 2e46637536f..fe574597abc 100755
--- a/admin/roles/assign.php
+++ b/admin/roles/assign.php
@@ -170,7 +170,7 @@
if ($aliasnames = get_records('role_names', 'contextid', $coursecontext->id)) {
foreach ($aliasnames as $alias) {
if (isset($assignableroles[$alias->roleid])) {
- $assignableroles[$alias->roleid] = $alias->text.' ('.$assignableroles[$alias->roleid].')';
+ $assignableroles[$alias->roleid] = $alias->name.' ('.$assignableroles[$alias->roleid].')';
}
}
}
diff --git a/admin/roles/override.php b/admin/roles/override.php
index 4a76aeb5a93..27a6c8518df 100755
--- a/admin/roles/override.php
+++ b/admin/roles/override.php
@@ -160,7 +160,7 @@
if ($aliasnames = get_records('role_names', 'contextid', $coursecontext->id)) {
foreach ($aliasnames as $alias) {
if (isset($overridableroles[$alias->roleid])) {
- $overridableroles[$alias->roleid] = $alias->text.' ('.$overridableroles[$alias->roleid].')';
+ $overridableroles[$alias->roleid] = $alias->name.' ('.$overridableroles[$alias->roleid].')';
}
}
}
diff --git a/course/edit_form.php b/course/edit_form.php
index ac9b4e9afe3..1b1c976014e 100644
--- a/course/edit_form.php
+++ b/course/edit_form.php
@@ -377,7 +377,7 @@ class course_edit_form extends moodleform {
$mform->addElement('text', 'role_'.$role->id, $role->name);
if ($coursecontext) {
if ($rolename = get_record('role_names', 'roleid', $role->id, 'contextid', $coursecontext->id)) {
- $mform->setDefault('role_'.$role->id, $rolename->text);
+ $mform->setDefault('role_'.$role->id, $rolename->name);
}
}
}
diff --git a/course/lib.php b/course/lib.php
index 2ea0de8e6be..567d0b0715a 100644
--- a/course/lib.php
+++ b/course/lib.php
@@ -1861,7 +1861,7 @@ function print_course($course) {
/// Rename some of the role names if needed
if (isset($context)) {
- $aliasnames = get_records('role_names', 'contextid', $context->id,'','roleid,contextid,text');
+ $aliasnames = get_records('role_names', 'contextid', $context->id,'','roleid,contextid,name');
}
foreach ($rusers as $ra) {
@@ -1869,7 +1869,7 @@ function print_course($course) {
$fullname = fullname($ra->user, $canviewfullnames);
if (isset($aliasnames[$ra->roleid])) {
- $ra->rolename = $aliasnames[$ra->roleid]->text;
+ $ra->rolename = $aliasnames[$ra->roleid]->name;
}
$namesarray[] = format_string($ra->rolename)
@@ -2925,14 +2925,14 @@ function update_course($data) {
} else if ($t = get_record('role_names', 'contextid', $context->id, 'roleid', $roleid)) {
- $t->text = $dvalue;
+ $t->name = $dvalue;
update_record('role_names', $t);
} else {
$t->contextid = $context->id;
$t->roleid = $roleid;
- $t->text = $dvalue;
+ $t->name = $dvalue;
insert_record('role_names', $t);
}
diff --git a/group/lib.php b/group/lib.php
index 8f9d38311b7..1e27f5c8130 100644
--- a/group/lib.php
+++ b/group/lib.php
@@ -559,7 +559,7 @@ function groups_calculate_role_people($rs,$contextid) {
}
// Get role aliases for course in array of roleid => obj->text
- if(!($aliasnames=get_records('role_names','contextid',$contextid,'','roleid,text'))) {
+ if(!($aliasnames=get_records('role_names','contextid',$contextid,'','roleid,name'))) {
$aliasnames=array();
}
@@ -592,7 +592,7 @@ function groups_calculate_role_people($rs,$contextid) {
$roledata->id=$rec->roleid;
$roledata->shortname=$rec->roleshortname;
if(array_key_exists($rec->roleid,$aliasnames)) {
- $roledata->name=$aliasnames[$rec->roleid]->text;
+ $roledata->name=$aliasnames[$rec->roleid]->name;
} else {
$roledata->name=$rec->rolename;
}
diff --git a/lib/accesslib.php b/lib/accesslib.php
index a8212ddcc91..6e5d7722526 100755
--- a/lib/accesslib.php
+++ b/lib/accesslib.php
@@ -4022,16 +4022,25 @@ function get_user_roles_in_context($userid, $context, $view=true){
$rolestring = '';
$SQL = 'select * from '.$CFG->prefix.'role_assignments ra, '.$CFG->prefix.'role r where ra.userid='.$userid.' and ra.contextid='.$context->id.' and ra.roleid = r.id';
+ $rolenames = array();
if ($roles = get_records_sql($SQL)) {
foreach ($roles as $userrole) {
// MDL-12544, if we are in view mode and current user has no capability to view hidden assignment, skip it
if ($userrole->hidden && $view && !has_capability('moodle/role:viewhiddenassigns', $context)) {
continue;
}
+ $rolenames[$userrole->roleid] = $userrole->name;
$rolestring .= ''.$userrole->name.', ';
}
+
+ $rolenames = role_fix_names($rolenames, $context); // Substitute aliases
+
+ foreach ($rolenames as $roleid => $rolename) {
+ $rolenames[$roleid] = ''.$rolename.'';
+ }
+ $rolestring = implode(',', $rolenames);
}
- return rtrim($rolestring, ', ');
+ return $rolestring;
}
@@ -4194,7 +4203,7 @@ function get_assignable_roles ($context, $field="name") {
// apply context role aliases if name requested
if ($field == 'name') {
- $f = "COALESCE(rn.text, r.name) AS name";
+ $f = "COALESCE(rn.name, r.name) AS name";
} else {
$f = "r.$field";
}
@@ -4252,7 +4261,7 @@ function get_assignable_roles_for_switchrole ($context, $field="name") {
// apply context role aliases if name requested
if ($field == 'name') {
- $f = "COALESCE(rn.text, r.name) AS name";
+ $f = "COALESCE(rn.name, r.name) AS name";
} else {
$f = "r.$field";
}
@@ -5279,7 +5288,7 @@ function user_has_role_assignment($userid, $roleid, $contextid=0) {
*/
function role_get_name($role, $coursecontext) {
if ($r = get_record('role_names','roleid', $role->id,'contextid', $coursecontext->id)) {
- return strip_tags(format_string($r->text));
+ return strip_tags(format_string($r->name));
} else {
return strip_tags(format_string($role->name));
}
@@ -5295,7 +5304,7 @@ function role_fix_names($roleoptions, $coursecontext) {
if ($aliasnames = get_records('role_names', 'contextid', $coursecontext->id)) {
foreach ($aliasnames as $alias) {
if (isset($roleoptions[$alias->roleid])) {
- $roleoptions[$alias->roleid] = $alias->text;
+ $roleoptions[$alias->roleid] = $alias->name;
}
}
}
diff --git a/lib/db/install.xml b/lib/db/install.xml
index d2ec5ebc2f0..24b58eec8f7 100644
--- a/lib/db/install.xml
+++ b/lib/db/install.xml
@@ -1,5 +1,5 @@
-
@@ -859,7 +859,8 @@
-
+
+
diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php
index e8b1f7fbcf0..a7ace364e41 100644
--- a/lib/db/upgrade.php
+++ b/lib/db/upgrade.php
@@ -2915,6 +2915,29 @@ function xmldb_main_upgrade($oldversion=0) {
upgrade_main_savepoint($result, 2007101508.07);
}
+ if ($result && $oldversion < 2007101508.08) { // MDL-13676
+
+ /// Define field name to be added to role_names
+ $table = new XMLDBTable('role_names');
+ $field = new XMLDBField('name');
+ $field->setAttributes(XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null, null, 'text');
+
+ /// Launch add field name
+ $result = $result && add_field($table, $field);
+
+ /// Copy data from old field to new field
+ $result = $result && execute_sql('UPDATE '.$CFG->prefix.'role_names SET name = text');
+
+ /// Define field text to be dropped from role_names
+ $table = new XMLDBTable('role_names');
+ $field = new XMLDBField('text');
+
+ /// Launch drop field text
+ $result = $result && drop_field($table, $field);
+
+ /// Main savepoint reached
+ upgrade_main_savepoint($result, 2007101508.08);
+ }
return $result;
diff --git a/version.php b/version.php
index cca2c924380..31dd2d35848 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 = 2007101508.07; // YYYYMMDD = date of the 1.9 branch (don't change)
+ $version = 2007101508.08; // YYYYMMDD = date of the 1.9 branch (don't change)
// X = release number 1.9.[0,1,2,3...]
// Y.YY = micro-increments between releases