From c4296f77e0bb07d1d058a7b0ec59023bb832d465 Mon Sep 17 00:00:00 2001 From: Mihail Geshoski Date: Mon, 20 Jul 2020 09:15:49 +0800 Subject: [PATCH 1/1] MDL-69238 core: Remove coursecat_sortable_records class --- lib/coursecatlib.php | 104 ------------------------------------------- lib/upgrade.txt | 1 + 2 files changed, 1 insertion(+), 104 deletions(-) delete mode 100644 lib/coursecatlib.php diff --git a/lib/coursecatlib.php b/lib/coursecatlib.php deleted file mode 100644 index 2079e4d1854..00000000000 --- a/lib/coursecatlib.php +++ /dev/null @@ -1,104 +0,0 @@ -. - -/** - * Deprecated file, classes moved to autoloaded locations - * - * @package core - * @subpackage course - * @copyright 2013 Marina Glancy - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -defined('MOODLE_INTERNAL') || die(); - -debugging('Class coursecat is now alias to autoloaded class core_course_category, ' . - 'course_in_list is an alias to core_course_list_element. '. - 'Class coursecat_sortable_records is deprecated without replacement. Do not include coursecatlib.php', - DEBUG_DEVELOPER); - -/** - * An array of records that is sortable by many fields. - * - * For more info on the ArrayObject class have a look at php.net. - * - * @package core - * @subpackage course - * @copyright 2013 Sam Hemelryk - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class coursecat_sortable_records extends ArrayObject { - - /** - * An array of sortable fields. - * Gets set temporarily when sort is called. - * @var array - */ - protected $sortfields = array(); - - /** - * Sorts this array using the given fields. - * - * @param array $records - * @param array $fields - * @return array - */ - public static function sort(array $records, array $fields) { - $records = new coursecat_sortable_records($records); - $records->sortfields = $fields; - $records->uasort(array($records, 'sort_by_many_fields')); - return $records->getArrayCopy(); - } - - /** - * Sorts the two records based upon many fields. - * - * This method should not be called itself, please call $sort instead. - * It has been marked as access private as such. - * - * @access private - * @param stdClass $a - * @param stdClass $b - * @return int - */ - public function sort_by_many_fields($a, $b) { - foreach ($this->sortfields as $field => $mult) { - // Nulls first. - if (is_null($a->$field) && !is_null($b->$field)) { - return -$mult; - } - if (is_null($b->$field) && !is_null($a->$field)) { - return $mult; - } - - if (is_string($a->$field) || is_string($b->$field)) { - // String fields. - if ($cmp = strcoll($a->$field, $b->$field)) { - return $mult * $cmp; - } - } else { - // Int fields. - if ($a->$field > $b->$field) { - return $mult; - } - if ($a->$field < $b->$field) { - return -$mult; - } - } - } - return 0; - } -} diff --git a/lib/upgrade.txt b/lib/upgrade.txt index 76e357744c1..014bcbc0a7a 100644 --- a/lib/upgrade.txt +++ b/lib/upgrade.txt @@ -31,6 +31,7 @@ information provided here is intended especially for developers. * The form element 'htmleditor', which was deprecated in 3.6, has been removed. * The `core_output_load_fontawesome_icon_map` web service has been deprecated and replaced by `core_output_load_fontawesome_icon_system_map` which takes the name of the theme to generate the icon system map for. +* The class coursecat_sortable_records has been removed. === 3.9 === * Following function has been deprecated, please use \core\task\manager::run_from_cli(). -- 2.43.0