diff --git a/lib/coursecatlib.php b/lib/coursecatlib.php index 0c3afdecb5b..276eccb540e 100644 --- a/lib/coursecatlib.php +++ b/lib/coursecatlib.php @@ -361,15 +361,13 @@ class coursecat implements renderable, cacheable_object, IteratorAggregate { $newcategory->name = $data->name; // Validate and set idnumber. - if (!empty($data->idnumber)) { + if (isset($data->idnumber)) { if (core_text::strlen($data->idnumber) > 100) { throw new moodle_exception('idnumbertoolong'); } - if ($DB->record_exists('course_categories', array('idnumber' => $data->idnumber))) { + if (strval($data->idnumber) !== '' && $DB->record_exists('course_categories', array('idnumber' => $data->idnumber))) { throw new moodle_exception('categoryidnumbertaken'); } - } - if (isset($data->idnumber)) { $newcategory->idnumber = $data->idnumber; } @@ -484,11 +482,11 @@ class coursecat implements renderable, cacheable_object, IteratorAggregate { $newcategory->name = $data->name; } - if (isset($data->idnumber) && $data->idnumber != $this->idnumber) { + if (isset($data->idnumber) && $data->idnumber !== $this->idnumber) { if (core_text::strlen($data->idnumber) > 100) { throw new moodle_exception('idnumbertoolong'); } - if ($DB->record_exists('course_categories', array('idnumber' => $data->idnumber))) { + if (strval($data->idnumber) !== '' && $DB->record_exists('course_categories', array('idnumber' => $data->idnumber))) { throw new moodle_exception('categoryidnumbertaken'); } $newcategory->idnumber = $data->idnumber;