diff --git a/course/externallib.php b/course/externallib.php index c43f1cdf6bb..e24d8c582e3 100644 --- a/course/externallib.php +++ b/course/externallib.php @@ -1552,7 +1552,7 @@ class core_course_external extends external_api { } if (isset($value)) { - $conditions[$key] = $crit['value']; + $conditions[$key] = $value; $wheres[] = $key . " = :" . $key; } } diff --git a/course/tests/externallib_test.php b/course/tests/externallib_test.php index 8ec184b630f..574cb72a1d9 100644 --- a/course/tests/externallib_test.php +++ b/course/tests/externallib_test.php @@ -234,6 +234,16 @@ class core_course_externallib_testcase extends externallib_advanced_testcase { $this->assertEquals(1, count($categories)); + // Same query, but forcing a parameters clean. + $categories = core_course_external::get_categories(array( + array('key' => 'id', 'value' => "$category1->id"), + array('key' => 'idnumber', 'value' => $category1->idnumber), + array('key' => 'name', 'value' => $category1->name . "
"), + array('key' => 'visible', 'value' => '1')), 0); + $categories = external_api::clean_returnvalue(core_course_external::get_categories_returns(), $categories); + + $this->assertEquals(1, count($categories)); + // Retrieve categories from parent. $categories = core_course_external::get_categories(array( array('key' => 'parent', 'value' => $category3->id)), 1);