MDL-46705 admin: Validate unique shortname for frontpage course

This commit is contained in:
Marina Glancy
2015-09-16 14:38:52 +08:00
parent 974053b93f
commit a853f15fc3
+3 -2
View File
@@ -4001,12 +4001,13 @@ class admin_setting_sitesettext extends admin_setting_configtext {
* @return mixed true or message string
*/
public function validate($data) {
global $DB;
global $DB, $SITE;
$cleaned = clean_param($data, PARAM_TEXT);
if ($cleaned === '') {
return get_string('required');
}
if ($this->name ==='shortname' && $DB->record_exists('course', array('shortname' => $data))) {
if ($this->name ==='shortname' &&
$DB->record_exists_sql('SELECT id from {course} WHERE shortname = ? AND id <> ?', array($data, $SITE->id))) {
return get_string('shortnametaken', 'error', $data);
}
if ("$data" == "$cleaned") { // implicit conversion to string is needed to do exact comparison