From f23d95ef8414438bbde3b43937f1e1cd89e2ec18 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 401e39acb23..19a155e6b20 100644 --- a/repository/lib.php +++ b/repository/lib.php @@ -2853,8 +2853,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'); }