From b8b1be15544aaa5d2bc1cc5b4284b037c5b3b626 Mon Sep 17 00:00:00 2001 From: Juan Leyva Date: Mon, 27 Jun 2016 11:18:30 +0100 Subject: [PATCH] MDL-49244 course: Clean parameters in core_course_get_categories --- course/externallib.php | 2 +- course/tests/externallib_test.php | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/course/externallib.php b/course/externallib.php index b348aa1a21e..2c54de43dcb 100644 --- a/course/externallib.php +++ b/course/externallib.php @@ -1548,7 +1548,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 9ad5d73aab3..eab14444671 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);