From 81c19f4d1f9e85514fbb10444aca6a17a725dd97 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Wed, 1 May 2013 16:11:44 +0800 Subject: [PATCH] MDL-38500 repository: Instance names must be unique --- repository/lib.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/repository/lib.php b/repository/lib.php index 0439f529a42..1d893071124 100644 --- a/repository/lib.php +++ b/repository/lib.php @@ -2692,8 +2692,9 @@ final class repository_instance_form extends moodleform { $sql = "SELECT count('x') FROM {repository_instances} i, {repository} r - WHERE r.type=:plugin AND r.id=i.typeid AND i.name=:name"; - if ($DB->count_records_sql($sql, array('name' => $data['name'], 'plugin' => $data['plugin'])) > 1) { + WHERE r.type=:plugin AND r.id=i.typeid AND i.name=:name AND i.contextid=:contextid"; + $params = array('name' => $data['name'], 'plugin' => $this->plugin, 'contextid' => $this->contextid); + if ($DB->count_records_sql($sql, $params) > 0) { $errors['name'] = get_string('erroruniquename', 'repository'); }