MDL-69238 core: Remove coursecat_sortable_records class
authorMihail Geshoski <mihail@moodle.com>
Mon, 20 Jul 2020 01:15:49 +0000 (09:15 +0800)
committerMihail Geshoski <mihail@moodle.com>
Mon, 27 Jul 2020 01:43:16 +0000 (09:43 +0800)
lib/coursecatlib.php [deleted file]
lib/upgrade.txt

diff --git a/lib/coursecatlib.php b/lib/coursecatlib.php
deleted file mode 100644 (file)
index 2079e4d..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-/**
- * 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;
-    }
-}
index 76e3577..014bcbc 100644 (file)
@@ -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 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().
 
 === 3.9 ===
 * Following function has been deprecated, please use \core\task\manager::run_from_cli().