diff --git a/competency/classes/api.php b/competency/classes/api.php index a440bc25964..043111e5bd9 100644 --- a/competency/classes/api.php +++ b/competency/classes/api.php @@ -4152,7 +4152,7 @@ class api { * @param int $limit Number of records to return. * @return \core_competency\evidence[] */ - public static function list_evidence_in_course($userid = 0, $courseid = 0, $competencyid = 0, $sort = 'timecreated, id', + public static function list_evidence_in_course($userid = 0, $courseid = 0, $competencyid = 0, $sort = 'timecreated', $order = 'DESC', $skip = 0, $limit = 0) { static::require_enabled(); diff --git a/competency/classes/evidence.php b/competency/classes/evidence.php index a6a9e92e537..40e1448f440 100644 --- a/competency/classes/evidence.php +++ b/competency/classes/evidence.php @@ -311,11 +311,9 @@ class evidence extends persistent { ); if (!empty($sort)) { - $sortcolumns = explode(',', $sort); - array_walk($sortcolumns, function(&$sortcolumn, $key, $order) { - $sortcolumn = trim($sortcolumn) . ' ' . $order; - }, $order); - $sort = ' ORDER BY e.' . implode(', e.', $sortcolumns); + $sort = ' ORDER BY e.' . $sort . ' ' . $order . ', e.id ASC'; + } else { + $sort = ' ORDER BY e.id ASC'; } $sql = 'SELECT e.* diff --git a/competency/tests/api_test.php b/competency/tests/api_test.php index 44aaf7628fe..cc96253ee2d 100644 --- a/competency/tests/api_test.php +++ b/competency/tests/api_test.php @@ -2615,9 +2615,9 @@ class core_competency_api_testcase extends advanced_testcase { $evidence2 = api::add_evidence($u1->id, $c->get_id(), $cmcontext->id, \core_competency\evidence::ACTION_LOG, 'invaliddata', 'error'); - $result = api::list_evidence_in_course($u1->id, $course->id, $c->get_id()); - $this->assertEquals($result[0]->get_id(), $evidence2->get_id()); - $this->assertEquals($result[1]->get_id(), $evidence1->get_id()); + $result = api::list_evidence_in_course($u1->id, $course->id, $c->get_id(), 'timecreated', 'ASC'); + $this->assertEquals($evidence1->get_id(), $result[0]->get_id()); + $this->assertEquals($evidence2->get_id(), $result[1]->get_id()); } public function test_list_course_modules_using_competency() {