From 3dd9b3d44edf41dbe64635e1a4e1177754de1cf0 Mon Sep 17 00:00:00 2001 From: Wehr Mario Date: Wed, 13 Sep 2023 09:40:51 +0200 Subject: [PATCH] Fixes the order of the displayed courses according to their configuration. --- classes/output/featured_courses.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/classes/output/featured_courses.php b/classes/output/featured_courses.php index 6c99f11..2bc32dd 100644 --- a/classes/output/featured_courses.php +++ b/classes/output/featured_courses.php @@ -71,6 +71,11 @@ public function __construct(array $coursesid) { } else { list($sql, $params) = $DB->get_in_or_equal($realcourseids, SQL_PARAMS_NAMED); $this->courses = $DB->get_records_select('course', 'id ' . $sql, $params); + + // Taken from https://www.designcise.com/web/tutorial/how-to-sort-an-array-by-keys-based-on-order-in-a-secondary-array-in-php + uksort( $this->courses, function($key1, $key2) use ($realcourseids) { + return ((array_search($key1, $realcourseids) > array_search($key2, $realcourseids)) ? 1 : -1); + }); } }