Skip to content

Commit

Permalink
MDL-57678 core_course: Deprecate make_categories_options()
Browse files Browse the repository at this point in the history
Padding nested course categories by space to make them render in a tree
structure does not really make a lot of sense as they are already being
rendered as full paths. It's simpler to show them without the
indentation.
Given this, there's not much point keeping make_categories_options().
So it's better to deprecate this function and call
core_course_category::make_categories_list() directly instead.
  • Loading branch information
junpataleta committed Jul 15, 2020
1 parent ee23a8c commit 2c45ad6
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 19 deletions.
2 changes: 0 additions & 2 deletions course/classes/category.php
Original file line number Diff line number Diff line change
Expand Up @@ -2592,8 +2592,6 @@ public function get_parents() {
* moving categories, where you do not want to allow people to move a category
* to be the child of itself.
*
* See also {@link make_categories_options()}
*
* @param string/array $requiredcapability if given, only categories where the current
* user has this capability will be returned. Can also be an array of capabilities,
* in which case they are all required.
Expand Down
17 changes: 0 additions & 17 deletions course/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -636,23 +636,6 @@ function get_category_or_system_context($categoryid) {
}
}

/**
* Returns full course categories trees to be used in html_writer::select()
*
* Calls {@link core_course_category::make_categories_list()} to build the tree and
* adds whitespace to denote nesting
*
* @return array array mapping course category id to the display name
*/
function make_categories_options() {
$cats = core_course_category::make_categories_list('', 0, ' / ');
foreach ($cats as $key => $value) {
// Prefix the value with the number of spaces equal to category depth (number of separators in the value).
$cats[$key] = str_repeat(' ', substr_count($value, ' / ')). $value;
}
return $cats;
}

/**
* Print the buttons relating to course requests.
*
Expand Down
4 changes: 4 additions & 0 deletions course/upgrade.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
This files describes API changes in /course/*,
information provided here is intended especially for developers.

=== 4.0 ===

* The function make_categories_options() has now been deprecated. Please use \core_course_category::make_categories_list() instead.

=== 3.9 ===

* The function get_module_metadata is now deprecated. Please use \core_course\local\service\content_item_service instead.
Expand Down
16 changes: 16 additions & 0 deletions lib/deprecatedlib.php
Original file line number Diff line number Diff line change
Expand Up @@ -3351,3 +3351,19 @@ function user_get_participants($courseid, $groupid = 0, $accesssince, $roleid, $

return $DB->get_recordset_sql("$select $from $where $sort", $params, $limitfrom, $limitnum);
}

/**
* Returns the list of full course categories to be used in html_writer::select()
*
* Calls {@see core_course_category::make_categories_list()} to build the list.
*
* @deprecated since Moodle 4.0
* @todo This will be finally removed for Moodle 4.4 as part of MDL-69124.
* @return array array mapping course category id to the display name
*/
function make_categories_options() {
$deprecatedtext = __FUNCTION__ . '() is deprecated. Please use \core_course_category::make_categories_list() instead.';
debugging($deprecatedtext, DEBUG_DEVELOPER);

return core_course_category::make_categories_list('', 0, ' / ');
}

0 comments on commit 2c45ad6

Please sign in to comment.