// If new data has been sent, update the tag record
if ($tagnew = $tagform->get_data()) {
+ $do_update_name = false;
if (!has_capability('moodle/tag:manage', $systemcontext)) {
unset($tagnew->name);
if ($tagold->name != $tagnew->name) { // The name has changed, let's make sure it's not another existing tag
if (tag_get_id($tagnew->name)) { // Something exists already, so flag an error
$errorstring = s($tagnew->rawname).': '.get_string('namesalreadybeeingused', 'tag');
+
+ } else {
+ $do_update_name = true;
}
}
}
if (empty($errorstring)) { // All is OK, let's save it
$tagnew->timemodified = time();
- if (!update_record('tag', $tagnew)) {
+ // rename tag if needed
+ if ($do_update_name && !tag_rename($tag_id, $tagnew->rawname)) {
error('Error updating tag record');
}