MDL-46705 admin: Check if course with same shortname already exists
authorDaniel Kosinski <de.kosinski@gmail.com>
Thu, 26 Feb 2015 20:42:53 +0000 (21:42 +0100)
committerDaniel Kosinski <de.kosinski@gmail.com>
Tue, 24 Mar 2015 18:13:13 +0000 (19:13 +0100)
lib/adminlib.php

index 37da3db..c0c4465 100644 (file)
@@ -3947,10 +3947,14 @@ class admin_setting_sitesettext extends admin_setting_configtext {
      * @return mixed true or message string
      */
     public function validate($data) {
+        global $DB;
         $cleaned = clean_param($data, PARAM_TEXT);
         if ($cleaned === '') {
             return get_string('required');
         }
+        if ($this->name ==='shortname' && $DB->record_exists('course', array('shortname' => $data))) {
+            return get_string('shortnametaken', 'error', $data);
+        }
         if ("$data" == "$cleaned") { // implicit conversion to string is needed to do exact comparison
             return true;
         } else {