Merge branch 'MDL-46705-master' of git://github.com/dkns/moodle
[moodle.git] / lib / adminlib.php
index 3563fde..c812b3b 100644 (file)
@@ -4001,10 +4001,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 {