From 01644448d4a057cf821efdc64c31e55d97a00107 Mon Sep 17 00:00:00 2001 From: Matt Davidson Date: Tue, 19 May 2026 15:09:22 -0400 Subject: [PATCH 1/2] code checker cleanup --- ajax/favorite.php | 14 +-- ajax/sort.php | 12 +-- ajax/toggle.php | 10 +- ajax/visible.php | 6 +- block_custom_course_menu.php | 79 ++++++++------ classes/observers.php | 18 ++-- classes/privacy/provider.php | 61 ++++++----- db/access.php | 21 ++-- db/events.php | 28 ++--- db/upgrade.php | 24 ++--- handler.php | 15 ++- interface.php | 148 ++++++++++++++------------- lang/en/block_custom_course_menu.php | 30 +++--- settings.php | 54 +++++++--- tests/generator/lib.php | 23 ++--- tests/privacy/provider_test.php | 56 ++++++---- transition_tool.php | 7 +- 17 files changed, 342 insertions(+), 264 deletions(-) diff --git a/ajax/favorite.php b/ajax/favorite.php index 78eaaa6..0906c56 100644 --- a/ajax/favorite.php +++ b/ajax/favorite.php @@ -38,12 +38,12 @@ die(); } -$params = array( +$params = [ 'userid' => $userid, 'item' => 'course', 'itemid' => $courseid, - 'fav' => 1 -); + 'fav' => 1, +]; $entry = $DB->get_record('block_custom_course_menu_etc', $params); @@ -51,11 +51,11 @@ $entry->fav = 0; $DB->update_record('block_custom_course_menu_etc', $entry); - $params = array( + $params = [ 'userid' => $userid, 'item' => 'favorite', - 'itemid' => $courseid - ); + 'itemid' => $courseid, + ]; $DB->delete_records('block_custom_course_menu_etc', $params); } else { // Favorite "course" does not exist, add as favorite. $entry = (object) $params; @@ -79,4 +79,4 @@ $DB->insert_record('block_custom_course_menu_etc', $entry); } } -echo json_encode(array(true)); +echo json_encode([true]); diff --git a/ajax/sort.php b/ajax/sort.php index bb51ece..2fa82f0 100644 --- a/ajax/sort.php +++ b/ajax/sort.php @@ -39,15 +39,15 @@ // Prepare parameters for furture sql query. $ids = array_values($ids); -$params = array($type, $userid); -list($sqlidstest, $idsparams) = $DB->get_in_or_equal($ids); +$params = [$type, $userid]; +[$sqlidstest, $idsparams] = $DB->get_in_or_equal($ids); $params = array_merge($params, $idsparams); -$sqlidstest = ' AND itemid ' .$sqlidstest; +$sqlidstest = ' AND itemid ' . $sqlidstest; $sql = 'SELECT itemid, id, item, sortorder, hide ' . 'FROM {block_custom_course_menu_etc} ' . 'WHERE item = ? ' - . ' AND userid = ? ' .$sqlidstest; + . ' AND userid = ? ' . $sqlidstest; $entries = $DB->get_records_sql($sql, $params); @@ -55,7 +55,7 @@ if (isset($entries[$id])) { $entry = $entries[$id]; } else { - $entry = new stdClass; + $entry = new stdClass(); $entry->hide = 0; $entry->item = $type; } @@ -69,4 +69,4 @@ $DB->insert_record('block_custom_course_menu_etc', $entry); } } -echo json_encode(array(true)); +echo json_encode([true]); diff --git a/ajax/toggle.php b/ajax/toggle.php index ca2ef1f..aa22856 100644 --- a/ajax/toggle.php +++ b/ajax/toggle.php @@ -34,10 +34,10 @@ $catid = required_param('categoryid', PARAM_NOTAGS); $userid = $USER->id; -$params = array( +$params = [ 'userid' => $userid, - 'categoryid' => $catid -); + 'categoryid' => $catid, +]; $entry = $DB->get_record('block_custom_course_menu', $params); @@ -46,11 +46,11 @@ $DB->update_record('block_custom_course_menu', $entry); } else { - $entry = new stdClass; + $entry = new stdClass(); $entry->userid = $userid; $entry->categoryid = $catid; $entry->collapsed = 1; $DB->insert_record('block_custom_course_menu', $entry); } -echo json_encode(array(true)); +echo json_encode([true]); diff --git a/ajax/visible.php b/ajax/visible.php index 4ed0185..d90a813 100644 --- a/ajax/visible.php +++ b/ajax/visible.php @@ -47,11 +47,11 @@ $item = 'course'; } -$params = array( +$params = [ 'userid' => $userid, 'item' => $item, 'itemid' => $itemid, -); +]; $entry = $DB->get_record('block_custom_course_menu_etc', $params); @@ -64,4 +64,4 @@ $DB->insert_record('block_custom_course_menu_etc', $entry); } -echo json_encode(array(true)); +echo json_encode([true]); diff --git a/block_custom_course_menu.php b/block_custom_course_menu.php index ebbc307..ffde1a1 100644 --- a/block_custom_course_menu.php +++ b/block_custom_course_menu.php @@ -31,7 +31,6 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class block_custom_course_menu extends block_base { - /** * Initialise the block. */ @@ -65,7 +64,7 @@ public function get_content() { $this->page->requires->jquery(); $this->page->requires->js('/blocks/custom_course_menu/js/courses.js'); - $this->content = new stdClass; + $this->content = new stdClass(); $this->content->footer = ' '; $html = '
' @@ -76,32 +75,51 @@ public function get_content() { $footer = ""; if (is_siteadmin($USER->id) || has_capability('moodle/cohort:manage', context_system::instance(), $USER->id)) { $url = new moodle_url('/course/index.php'); - $footer .= html_writer::tag('div', html_writer::link($url, get_string('fulllistofcourses') . '...'), - array('style' => 'text-align:center;')); + $footer .= html_writer::tag( + 'div', + html_writer::link($url, get_string('fulllistofcourses') . '...'), + ['style' => 'text-align:center;'] + ); } if (isset(get_config('block_custom_course_menu')->showsearch)) { $showsearch = get_config('block_custom_course_menu')->showsearch; - if ($showsearch == 1 || - ($showsearch == 'admin' && - (is_siteadmin($USER->id) || - has_capability('moodle/cohort:manage', context_system::instance(), $USER->id) - ) + if ( + $showsearch == 1 || + ($showsearch == 'admin' && + (is_siteadmin($USER->id) || + has_capability('moodle/cohort:manage', context_system::instance(), $USER->id) ) - ) { - $searchurl = new moodle_url('/course/search.php'); - $footer .= html_writer::start_tag('form', array('id' => 'coursesearch', - 'action' => $searchurl, - 'method' => 'get')); - $footer .= html_writer::start_tag('fieldset', array('class' => 'coursesearchbox')); - $footer .= html_writer::empty_tag('input', array('type' => 'text', - 'name' => 'search', - 'class' => 'searchfield')); - $footer .= html_writer::link('javascript: coursesearch.submit()', - '', - array('id' => 'searchbutton')); - $footer .= html_writer::end_tag('fieldset'); - $footer .= html_writer::end_tag('form'); + ) + ) { + $searchurl = new moodle_url('/course/search.php'); + $footer .= html_writer::start_tag( + 'form', + [ + 'id' => 'coursesearch', + 'action' => $searchurl, + 'method' => 'get', + ] + ); + $footer .= html_writer::start_tag( + 'fieldset', + ['class' => 'coursesearchbox'] + ); + $footer .= html_writer::empty_tag( + 'input', + [ + 'type' => 'text', + 'name' => 'search', + 'class' => 'searchfield', + ] + ); + $footer .= html_writer::link( + 'javascript: coursesearch.submit()', + '', + ['id' => 'searchbutton'] + ); + $footer .= html_writer::end_tag('fieldset'); + $footer .= html_writer::end_tag('form'); } } @@ -110,20 +128,21 @@ public function get_content() { // Takes into account hidden courses and permissions to get viewable count. $courses = enrol_get_my_courses(); - $hidelink = array(); + $hidelink = []; if (empty($courses) && empty($CFG->block_custom_course_menu_enablelastviewed)) { - $hidelink = array('class' => 'hidden'); + $hidelink = ['class' => 'hidden']; } $this->content->text = '
'; $editicon = ''; $interface = new moodle_url('/blocks/custom_course_menu/interface.php'); - $this->content->text .= html_writer::link($interface, - $editicon, - array_merge(array('id' => 'custom_course_menu_interface'), $hidelink)); - $this->content->text .= html_writer::tag('div', '', array('style' => 'clear:both;')); + $this->content->text .= html_writer::link( + $interface, + $editicon, + array_merge(['id' => 'custom_course_menu_interface'], $hidelink) + ); + $this->content->text .= html_writer::tag('div', '', ['style' => 'clear:both;']); $this->content->text .= $html . '
'; return $this->content; } } - diff --git a/classes/observers.php b/classes/observers.php index 4109e14..762b8d3 100644 --- a/classes/observers.php +++ b/classes/observers.php @@ -39,8 +39,8 @@ class observers { */ public static function user_deleted(\core\event\user_deleted $event) { global $DB; - $DB->delete_records('block_custom_course_menu', array('userid' => $event->userid)); - $DB->delete_records('block_custom_course_menu_etc', array('userid' => $event->userid)); + $DB->delete_records('block_custom_course_menu', ['userid' => $event->userid]); + $DB->delete_records('block_custom_course_menu_etc', ['userid' => $event->userid]); } /** @@ -51,15 +51,15 @@ public static function user_deleted(\core\event\user_deleted $event) { */ public static function course_deleted(\core\event\course_deleted $event) { global $DB; - $DB->delete_records('block_custom_course_menu_etc', array( + $DB->delete_records('block_custom_course_menu_etc', [ 'item' => 'course', 'itemid' => $event->courseid, - )); + ]); - $DB->delete_records('block_custom_course_menu_etc', array( + $DB->delete_records('block_custom_course_menu_etc', [ 'item' => 'favorite', 'itemid' => $event->courseid, - )); + ]); } /** @@ -70,10 +70,10 @@ public static function course_deleted(\core\event\course_deleted $event) { */ public static function course_category_deleted(\core\event\course_category_deleted $event) { global $DB; - $DB->delete_records('block_custom_course_menu', array('categoryid' => $event->objectid)); - $DB->delete_records('block_custom_course_menu_etc', array( + $DB->delete_records('block_custom_course_menu', ['categoryid' => $event->objectid]); + $DB->delete_records('block_custom_course_menu_etc', [ 'item' => 'category', 'itemid' => $event->objectid, - )); + ]); } } diff --git a/classes/privacy/provider.php b/classes/privacy/provider.php index 0146154..20ee7ec 100644 --- a/classes/privacy/provider.php +++ b/classes/privacy/provider.php @@ -33,26 +33,27 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class provider implements - \core_privacy\local\metadata\provider, - \core_privacy\local\request\core_userlist_provider, - \core_privacy\local\request\plugin\provider { - + \core_privacy\local\metadata\provider, + \core_privacy\local\request\core_userlist_provider, + \core_privacy\local\request\plugin\provider { /** * Get the metadata * @param collection $collection The initialised collection to add items to. * @return collection */ - public static function get_metadata(collection $collection) : collection { - $collection->add_database_table('block_custom_course_menu', + public static function get_metadata(collection $collection): collection { + $collection->add_database_table( + 'block_custom_course_menu', [ 'id' => 'privacy:metadata:block_custom_course_menu:block_custom_course_menu:id', 'userid' => 'privacy:metadata:block_custom_course_menu:block_custom_course_menu:userid', 'categoryid' => 'privacy:metadata:block_custom_course_menu:block_custom_course_menu:categoryid', 'collapsed' => 'privacy:metadata:block_custom_course_menu:block_custom_course_menu:collapsed', ], - 'privacy:metadata:block_custom_course_menu:block_custom_course_menu' + 'privacy:metadata:block_custom_course_menu:block_custom_course_menu' ); - $collection->add_database_table('block_custom_course_menu_etc', + $collection->add_database_table( + 'block_custom_course_menu_etc', [ 'id' => 'privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:id', 'userid' => 'privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:userid', @@ -73,7 +74,7 @@ public static function get_metadata(collection $collection) : collection { * @param int $userid The user to search. * @return contextlist $contextlist The contextlist containing the list of contexts used in this plugin. */ - public static function get_contexts_for_userid(int $userid) : contextlist { + public static function get_contexts_for_userid(int $userid): contextlist { $contextlist = new \core_privacy\local\request\contextlist(); // The block_community data is associated at the user context level, so retrieve the user's context id. @@ -91,8 +92,8 @@ public static function get_contexts_for_userid(int $userid) : contextlist { $params = [ 'contextuser' => CONTEXT_USER, 'userid' => $userid, - 'contextuser2' => CONTEXT_USER, - 'userid2' => $userid + 'contextuser2' => CONTEXT_USER, + 'userid2' => $userid, ]; $contextlist->add_from_sql($sql, $params); @@ -137,25 +138,39 @@ public static function get_users_in_context(userlist $userlist) { public static function export_user_data(approved_contextlist $contextlist) { global $DB; $userid = $contextlist->get_user()->id; - $usercontexts = self::validate_contextlist_contexts($contextlist, array(CONTEXT_USER)); + $usercontexts = self::validate_contextlist_contexts($contextlist, [CONTEXT_USER]); if (empty($usercontexts)) { return; } if (!empty($usercontexts)) { - $entries = $DB->get_records('block_custom_course_menu', array('userid' => $userid)); + $entries = $DB->get_records('block_custom_course_menu', ['userid' => $userid]); if (!empty($entries)) { $usercontext = $usercontexts[\context_user::instance($userid)->id]; - $strings = [get_string('pluginname', 'block_custom_course_menu'), - get_string('privacy:metadata:block_custom_course_menu:block_custom_course_menu:textcontext', - 'block_custom_course_menu')]; + $strings = [ + get_string( + 'pluginname', + 'block_custom_course_menu' + ), + get_string( + 'privacy:metadata:block_custom_course_menu:block_custom_course_menu:textcontext', + 'block_custom_course_menu' + ), + ]; writer::with_context($usercontext)->export_data($strings, (object)['block_custom_course_menu' => $entries]); } - $entries = $DB->get_records('block_custom_course_menu_etc', array('userid' => $userid)); + $entries = $DB->get_records('block_custom_course_menu_etc', ['userid' => $userid]); if (!empty($entries)) { $usercontext = $usercontexts[\context_user::instance($userid)->id]; - $strings = [get_string('pluginname', 'block_custom_course_menu'), - get_string('privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:textcontext', - 'block_custom_course_menu')]; + $strings = [ + get_string( + 'pluginname', + 'block_custom_course_menu' + ), + get_string( + 'privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:textcontext', + 'block_custom_course_menu' + ), + ]; writer::with_context($usercontext)->export_data($strings, (object)['block_custom_course_menu_etc' => $entries]); } } @@ -172,8 +187,8 @@ public static function delete_data_for_all_users_in_context(\context $context) { return; } $userid = $context->instanceid; - $DB->delete_records('block_custom_course_menu', array('userid' => $userid)); - $DB->delete_records('block_custom_course_menu_etc', array('userid' => $userid)); + $DB->delete_records('block_custom_course_menu', ['userid' => $userid]); + $DB->delete_records('block_custom_course_menu_etc', ['userid' => $userid]); } /** @@ -225,7 +240,7 @@ public static function delete_data_for_users(approved_userlist $userlist) { * @return mixed of contexts. */ protected static function validate_contextlist_contexts(approved_contextlist $contextlist, $contextlevellist) { - return array_reduce($contextlist->get_contexts(), function($carry, $context) use($contextlevellist) { + return array_reduce($contextlist->get_contexts(), function ($carry, $context) use ($contextlevellist) { if (in_array($context->contextlevel, $contextlevellist)) { $carry[$context->id] = $context; } diff --git a/db/access.php b/db/access.php index 24ea31b..6023dd8 100644 --- a/db/access.php +++ b/db/access.php @@ -24,20 +24,19 @@ defined('MOODLE_INTERNAL') || die(); -$capabilities = array( - 'block/custom_course_menu:myaddinstance' => array( +$capabilities = [ + 'block/custom_course_menu:myaddinstance' => [ 'captype' => 'read', 'contextlevel' => CONTEXT_BLOCK, - 'archetypes' => array( + 'archetypes' => [ 'user' => CAP_ALLOW, - ) - ), - - 'block/custom_course_menu:addinstance' => array( + ], + ], + 'block/custom_course_menu:addinstance' => [ 'captype' => 'read', 'contextlevel' => CONTEXT_BLOCK, - 'archetypes' => array( + 'archetypes' => [ 'user' => CAP_ALLOW, - ) - ) -); + ], + ], +]; diff --git a/db/events.php b/db/events.php index 80671ab..c3d89aa 100644 --- a/db/events.php +++ b/db/events.php @@ -25,36 +25,36 @@ defined('MOODLE_INTERNAL') || die(); if ($CFG->version < 2015111600) { // If not using Moodle 3.0+. - $mapper = function($event) { - return array( + $mapper = function ($event) { + return [ 'handlerfile' => '/blocks/custom_course_menu/handler.php', - 'handlerfunction' => array('custom_course_menu_handler', $event), + 'handlerfunction' => ['custom_course_menu_handler', $event], 'schedule' => 'instant', - ); + ]; }; - $events = array( + $events = [ 'course_deleted', 'course_category_deleted', 'user_deleted', - ); + ]; $handlers = array_combine($events, array_map($mapper, $events)); exit; } // Events 2.1 API version. -$observers = array ( - array ( +$observers = [ + [ 'eventname' => '\core\event\course_deleted', 'callback' => 'block_custom_course_menu\observers::course_deleted', - ), - array ( + ], + [ 'eventname' => '\core\event\course_category_deleted', 'callback' => 'block_custom_course_menu\observers::course_category_deleted', - ), - array ( + ], + [ 'eventname' => '\core\event\user_deleted', 'callback' => 'block_custom_course_menu\observers::user_deleted', - ), -); + ], +]; diff --git a/db/upgrade.php b/db/upgrade.php index 0cd08f2..44ac4e5 100644 --- a/db/upgrade.php +++ b/db/upgrade.php @@ -38,7 +38,7 @@ function xmldb_block_custom_course_menu_upgrade($oldversion) { // The categoryid field should be an integer. To change this, we will create a new field to hold the data. // The preexisting field will be renamed and the contents will be copied out. $table = new xmldb_table('block_custom_course_menu'); - $index = new xmldb_index('usercat', XMLDB_INDEX_UNIQUE, array('userid', 'categoryid')); + $index = new xmldb_index('usercat', XMLDB_INDEX_UNIQUE, ['userid', 'categoryid']); $origfield = new xmldb_field('categoryid', XMLDB_TYPE_CHAR, '20', null, XMLDB_NOTNULL, null, null, 'userid'); $newfield = new xmldb_field('categoryid', XMLDB_TYPE_INTEGER, '20', null, XMLDB_NOTNULL, null, 0, 'userid'); @@ -61,11 +61,11 @@ function xmldb_block_custom_course_menu_upgrade($oldversion) { $rs = $DB->get_recordset('block_custom_course_menu'); foreach ($rs as $record) { if (is_numeric($record->categoryid_depr)) { - $DB->set_field('block_custom_course_menu', 'categoryid', $record->categoryid_depr, array('id' => $record->id)); + $DB->set_field('block_custom_course_menu', 'categoryid', $record->categoryid_depr, ['id' => $record->id]); } else if ($record->categoryid_depr === "favs") { - $DB->set_field('block_custom_course_menu', 'categoryid', -1, array('id' => $record->id)); + $DB->set_field('block_custom_course_menu', 'categoryid', -1, ['id' => $record->id]); } else if ($record->categoryid_depr === "lastviewed") { - $DB->set_field('block_custom_course_menu', 'categoryid', -2, array('id' => $record->id)); + $DB->set_field('block_custom_course_menu', 'categoryid', -2, ['id' => $record->id]); } } $rs->close(); // Don't forget to close the recordset! @@ -78,7 +78,7 @@ function xmldb_block_custom_course_menu_upgrade($oldversion) { // The itemid field should be an integer. To change this, we will create a new field to hold the data. // The preexisting field will be renamed and the contents will be copied out. $table = new xmldb_table('block_custom_course_menu_etc'); - $index = new xmldb_index('useiteitemid', XMLDB_INDEX_UNIQUE, array('userid', 'item', 'itemid')); + $index = new xmldb_index('useiteitemid', XMLDB_INDEX_UNIQUE, ['userid', 'item', 'itemid']); $origfield = new xmldb_field('itemid', XMLDB_TYPE_CHAR, '20', null, XMLDB_NOTNULL, null, null, 'item'); $newfield = new xmldb_field('itemid', XMLDB_TYPE_INTEGER, '20', null, XMLDB_NOTNULL, null, 0, 'item'); @@ -101,11 +101,11 @@ function xmldb_block_custom_course_menu_upgrade($oldversion) { $rs = $DB->get_recordset('block_custom_course_menu_etc'); foreach ($rs as $record) { if (is_numeric($record->itemid_depr)) { - $DB->set_field('block_custom_course_menu_etc', 'itemid', $record->itemid_depr, array('id' => $record->id)); + $DB->set_field('block_custom_course_menu_etc', 'itemid', $record->itemid_depr, ['id' => $record->id]); } else if ($record->itemid_depr === "favs") { - $DB->set_field('block_custom_course_menu_etc', 'itemid', -1, array('id' => $record->id)); + $DB->set_field('block_custom_course_menu_etc', 'itemid', -1, ['id' => $record->id]); } else if ($record->itemid_depr === "lastviewed") { - $DB->set_field('block_custom_course_menu_etc', 'itemid', -2, array('id' => $record->id)); + $DB->set_field('block_custom_course_menu_etc', 'itemid', -2, ['id' => $record->id]); } } $rs->close(); // Don't forget to close the recordset! @@ -121,15 +121,15 @@ function xmldb_block_custom_course_menu_upgrade($oldversion) { // Changes to favorite storage. if ($oldversion < 2018030700) { - $rs = $DB->get_recordset('block_custom_course_menu_etc', array("fav" => 1)); + $rs = $DB->get_recordset('block_custom_course_menu_etc', ['fav' => 1]); foreach ($rs as $record) { - $params = array( + $params = [ 'userid' => $record->userid, 'item' => 'favorite', 'itemid' => $record->itemid, 'sortorder' => 0, - 'fav' => 1 - ); + 'fav' => 1, + ]; $entry = (object) $params; $DB->insert_record('block_custom_course_menu_etc', $entry); diff --git a/handler.php b/handler.php index fdf0cf1..07c3fb6 100644 --- a/handler.php +++ b/handler.php @@ -31,7 +31,6 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ abstract class custom_course_menu_handler { - /** * Event handler to clean up block entries on user deletes * @@ -41,8 +40,8 @@ abstract class custom_course_menu_handler { public static function user_deleted($user) { global $DB; return ( - $DB->delete_records('block_custom_course_menu', array('userid' => $user->id)) && - $DB->delete_records('block_custom_course_menu_etc', array('userid' => $user->id)) + $DB->delete_records('block_custom_course_menu', ['userid' => $user->id]) && + $DB->delete_records('block_custom_course_menu_etc', ['userid' => $user->id]) ); } @@ -54,10 +53,10 @@ public static function user_deleted($user) { */ public static function course_deleted($course) { global $DB; - return $DB->delete_records('block_custom_course_menu_etc', array( + return $DB->delete_records('block_custom_course_menu_etc', [ 'item' => 'course', 'itemid' => $course->id, - )); + ]); } /** @@ -70,11 +69,11 @@ public static function course_category_deleted($category) { global $DB; return ( - $DB->delete_records('block_custom_course_menu', array('categoryid' => $category->id)) && - $DB->delete_records('block_custom_course_menu_etc', array( + $DB->delete_records('block_custom_course_menu', ['categoryid' => $category->id]) && + $DB->delete_records('block_custom_course_menu_etc', [ 'item' => 'category', 'itemid' => $category->id, - )) + ]) ); } } diff --git a/interface.php b/interface.php index 9ed43e3..903e6b9 100644 --- a/interface.php +++ b/interface.php @@ -43,7 +43,7 @@ $favonicon = ''; // Add to favorites icon. $favofficon = ''; // Remove from favorites icon. -$categories = array(); +$categories = []; $configs = get_config('block_custom_course_menu'); if (!empty($configs->enablefavorites)) { $favorites = get_my_favorites(); @@ -71,10 +71,10 @@ continue; } - $params = array( + $params = [ 'userid' => $USER->id, 'categoryid' => $category->id, - ); + ]; $collapsed = $DB->get_field('block_custom_course_menu', 'collapsed', $params); $collapsedcss = 'collapsed'; @@ -87,30 +87,32 @@ $switchicon = ${$switch . 'icon'}; $url = new moodle_url('/blocks/custom_course_menu/ajax/toggle.php', $params); - $anchor = html_writer::link($url, $switchicon, array( + $anchor = html_writer::link($url, $switchicon, [ 'class' => "category_switcher $switch", - )); + ]); $hide = $move = $hiddenswitch = ''; if ($editing) { - $move = html_writer::tag('span', '', array( + $move = html_writer::tag('span', '', [ 'class' => "handle", - )); + ]); $hiddenswitch = !empty($category->meta->hide) ? 'inconspicuous' : 'visible'; $switchicon = ${$hiddenswitch . 'icon'}; $url = new moodle_url('/blocks/custom_course_menu/ajax/visible.php', $params); - $hide = html_writer::link($url, $switchicon, array( + $hide = html_writer::link($url, $switchicon, [ 'class' => "item_tool item_visibility $hiddenswitch", - )); + ]); $hide .= ' '; } $catclass = strlen($category->name) >= 24 ? 'scrollable' : ''; - $categoryname = html_writer::tag('span', - html_writer::tag('span', $category->name), - array('class' => $catclass)); + $categoryname = html_writer::tag( + 'span', + html_writer::tag('span', $category->name), + ['class' => $catclass] + ); $html .= "
  • $move $anchor $categoryname $hide"; $html .= '
      $USER->id, 'courseid' => $course->id, - )); + ]); if (!empty($configs->enablefavorites)) { $favswitch = empty($course->meta->fav) ? 'favon' : 'favoff'; $switchicon = ${$favswitch . 'icon'}; - $fav = html_writer::link($url, $switchicon, array( + $fav = html_writer::link($url, $switchicon, [ 'class' => "item_tool item_favorite $favswitch", - )); + ]); } if ($category->id === -1) { @@ -164,55 +166,60 @@ $class .= !$course->visible ? ' dimmed' : ''; $class .= strlen($course->fullname) >= 22 ? ' scrollable' : ''; - $url = new moodle_url('/course/view.php', array('id' => $course->id)); - $anchor = html_writer::link($url, - html_writer::tag('span', $course->fullname), - array('class' => $class)); + $url = new moodle_url('/course/view.php', ['id' => $course->id]); + $anchor = html_writer::link( + $url, + html_writer::tag('span', $course->fullname), + ['class' => $class] + ); $move = $category->id === -2 ? '' : $move; - $content = "$move $anchor ".$hide.$fav; - $html .= html_writer::tag('li', $content, array( + $content = "$move $anchor " . $hide . $fav; + $html .= html_writer::tag('li', $content, [ 'class' => "custom_course_menu_course $hiddenswitch", - )); + ]); } $html .= '
    '; $html .= '
  • '; } -$url = new moodle_url('/blocks/custom_course_menu/ajax/sort.php', array( - 'userid' => $USER->id, -)); +$url = new moodle_url( + '/blocks/custom_course_menu/ajax/sort.php', + [ + 'userid' => $USER->id, + ] +); $html .= '' . - html_writer::tag('span', $plusicon, array( + html_writer::tag('span', $plusicon, [ 'id' => 'custom_course_menu_plus', 'style' => 'display: none;', - )) . - html_writer::tag('span', $minusicon, array( + ]) . + html_writer::tag('span', $minusicon, [ 'id' => 'custom_course_menu_minus', 'style' => 'display: none;', - )) . - html_writer::tag('span', $visibleicon, array( + ]) . + html_writer::tag('span', $visibleicon, [ 'id' => 'custom_course_menu_visible', 'style' => 'display: none;', - )) . - html_writer::tag('span', $inconspicuousicon, array( + ]) . + html_writer::tag('span', $inconspicuousicon, [ 'id' => 'custom_course_menu_inconspicuous', 'style' => 'display: none;', - )) . - html_writer::tag('span', $url->out(), array( + ]) . + html_writer::tag('span', $url->out(), [ 'id' => 'custom_course_menu_sort', 'style' => 'display: none;', - )) . - html_writer::tag('span', $favonicon, array( + ]) . + html_writer::tag('span', $favonicon, [ 'id' => 'custom_course_menu_favon', 'style' => 'display: none;', - )) . - html_writer::tag('span', $favofficon, array( + ]) . + html_writer::tag('span', $favofficon, [ 'id' => 'custom_course_menu_favoff', 'style' => 'display: none;', - )); + ]); echo $html; @@ -229,18 +236,18 @@ function get_category_tree() { $courses = enrol_get_all_users_courses($USER->id, true); - $categories = array(); + $categories = []; foreach ($courses as $course) { if ($course->visible == 1 || has_capability('moodle/course:viewhiddencourses', context_course::instance($course->id))) { if (!isset($categories[$course->category])) { - $params = array('id' => $course->category); + $params = ['id' => $course->category]; $category = $DB->get_record('course_categories', $params); - $category->courses = array(); + $category->courses = []; if (isset($categorymeta[$category->id])) { $category->meta = $categorymeta[$category->id]; } else { - $category->meta = (object) array('hide' => 0); + $category->meta = (object) ['hide' => 0]; } $categories[$course->category] = $category; @@ -249,7 +256,7 @@ function get_category_tree() { if (isset($coursemeta[$course->id])) { $course->meta = $coursemeta[$course->id]; } else { - $course->meta = (object) array('hide' => 0, 'fav' => 0); + $course->meta = (object) ['hide' => 0, 'fav' => 0]; } $categories[$course->category]->courses[$course->id] = $course; @@ -266,7 +273,7 @@ function get_category_tree() { * @return array */ function sort_my_categories($categories) { - uasort($categories, function($cata, $catb) { + uasort($categories, function ($cata, $catb) { if (isset($cata->meta->sortorder) && isset($catb->meta->sortorder)) { return $cata->meta->sortorder < $catb->meta->sortorder ? -1 : 1; } else if (isset($cata->meta->sortorder)) { @@ -279,7 +286,7 @@ function sort_my_categories($categories) { }); foreach ($categories as $category) { - uasort($category->courses, function($coursea, $courseb) { + uasort($category->courses, function ($coursea, $courseb) { if (isset($coursea->meta->sortorder) && isset($courseb->meta->sortorder)) { return $coursea->meta->sortorder < $courseb->meta->sortorder ? -1 : 1; } else if (isset($coursea->meta->sortorder)) { @@ -302,13 +309,13 @@ function sort_my_categories($categories) { */ function get_last_viewed() { global $CFG, $DB, $USER; - require_once($CFG->dirroot.'/course/lib.php'); + require_once($CFG->dirroot . '/course/lib.php'); $categorymeta = get_meta_for('category'); $lva = get_config('block_custom_course_menu')->lastviewedamount; $courses = get_last_viewed_courses($USER->id, $lva); - $categories = array(); + $categories = []; $order = 1; foreach ($courses as $course) { if ($course->visible == 1 || has_capability('moodle/course:viewhiddencourses', context_course::instance($course->id))) { @@ -316,17 +323,17 @@ function get_last_viewed() { $category = new stdClass(); $category->name = get_string('lastxviewed', 'block_custom_course_menu', $lva); $category->id = -2; - $category->courses = array(); + $category->courses = []; if (isset($categorymeta[-2])) { $category->meta = $categorymeta[-2]; } else { - $category->meta = (object) array('hide' => 0, 'sortorder' => 1); + $category->meta = (object) ['hide' => 0, 'sortorder' => 1]; } $categories[-2] = $category; } - $course->meta = (object) array('hide' => 0, 'sortorder' => $order); + $course->meta = (object) ['hide' => 0, 'sortorder' => $order]; $order++; $categories[-2]->courses[$course->id] = $course; } @@ -377,12 +384,12 @@ function get_my_favorites() { global $DB, $USER; // Cleanup favorites. - $rs = $DB->get_recordset('block_custom_course_menu_etc', array("userid" => $USER->id, "fav" => 1)); + $rs = $DB->get_recordset('block_custom_course_menu_etc', ['userid' => $USER->id, 'fav' => 1]); foreach ($rs as $record) { - $params = array( + $params = [ 'userid' => $record->userid, - 'itemid' => $record->itemid - ); + 'itemid' => $record->itemid, + ]; if (!is_enrolled(context_course::instance($record->itemid), $USER)) { $DB->delete_records('block_custom_course_menu_etc', $params); } @@ -393,19 +400,19 @@ function get_my_favorites() { $coursemeta = get_meta_for('favorite', 1); $sql = "SELECT c.* FROM {course} c JOIN {block_custom_course_menu_etc} s ON s.itemid = c.id WHERE s.userid = :userid AND s.item = :fav ORDER BY s.sortorder"; - $courses = $DB->get_records_sql($sql, array('userid' => $USER->id, 'fav' => "favorite")); - $categories = array(); + $courses = $DB->get_records_sql($sql, ['userid' => $USER->id, 'fav' => "favorite"]); + $categories = []; foreach ($courses as $course) { if (!isset($categories[-1])) { $category = new stdClass(); $category->name = get_string('favorites', 'block_custom_course_menu'); $category->id = -1; - $category->courses = array(); + $category->courses = []; if (isset($categorymeta[-1])) { $category->meta = $categorymeta[-1]; } else { - $category->meta = (object) array('hide' => 0, 'sortorder' => 0); + $category->meta = (object) ['hide' => 0, 'sortorder' => 0]; } $categories[-1] = $category; @@ -415,7 +422,7 @@ function get_my_favorites() { $meta = $coursemeta[$course->id]; $course->meta = $meta; } else { - $course->meta = (object) array('hide' => 0); + $course->meta = (object) ['hide' => 0]; } $categories[-1]->courses[$course->id] = $course; @@ -438,8 +445,11 @@ function get_meta_for($item) { . "WHERE userid = :userid " . "AND item = :item"; - return $DB->get_records_sql($sql, array( - 'item' => $item, - 'userid' => $USER->id, - )); + return $DB->get_records_sql( + $sql, + [ + 'item' => $item, + 'userid' => $USER->id, + ] + ); } diff --git a/lang/en/block_custom_course_menu.php b/lang/en/block_custom_course_menu.php index a56b939..f8d531c 100644 --- a/lang/en/block_custom_course_menu.php +++ b/lang/en/block_custom_course_menu.php @@ -22,19 +22,16 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -$string['pluginname'] = 'Custom Course Menu'; -$string['course'] = 'Course'; - -$string['custom_course_menu:addinstance'] = 'The ability to add on Site page'; -$string['custom_course_menu:myaddinstance'] = 'The ability to add on the My page'; - $string['adminonly'] = 'Admin Only'; $string['configenablefavorites'] = 'Adds a section that displays the users selected favorites.'; $string['configenablelastviewed'] = 'Adds a section that displays the last courses the user has visited.'; $string['configlastviewedamount'] = 'Adjusts the maximum amount of courses to be displayed in the last viewed section.'; $string['configshowsearch'] = 'Adds a course search box to the bottom of the menu.'; -$string['editingon'] = 'Finish Editing '; +$string['course'] = 'Course'; +$string['custom_course_menu:addinstance'] = 'The ability to add on Site page'; +$string['custom_course_menu:myaddinstance'] = 'The ability to add on the My page'; $string['editingoff'] = 'Start Editing '; +$string['editingon'] = 'Finish Editing '; $string['enablefavorites'] = 'Favorite courses section'; $string['enablelastviewed'] = 'Last viewed courses section'; $string['favorites'] = 'Favorites'; @@ -42,21 +39,22 @@ $string['lastxviewed'] = 'Last {$a} Viewed'; $string['loading'] = 'Loading...'; $string['nocourses'] = 'You are not enrolled in any courses.'; -$string['showsearch'] = 'Show course search'; +$string['pluginname'] = 'Custom Course Menu'; -// Privacy strings. $string['privacy:metadata:block_custom_course_menu:block_custom_course_menu'] = 'Track collapsed/expanded status for a category per user. Store user preferences for the custom menu block'; -$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu:id'] = 'Internal unique id'; -$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu:userid'] = 'Userid concerned with this collapse/expanded category status'; $string['privacy:metadata:block_custom_course_menu:block_custom_course_menu:categoryid'] = 'The category id collapse or expanded for a given user'; $string['privacy:metadata:block_custom_course_menu:block_custom_course_menu:collapsed'] = 'The collapsed/expanded status for a given user and a given category. 1 for collapsed, 0 for expanded'; +$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu:id'] = 'Internal unique id'; +$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu:textcontext'] = 'collapsed or expanded status'; +$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu:userid'] = 'Userid concerned with this collapse/expanded category status'; $string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc'] = 'User preferences for custom menu containing hide, and sortorder info per user per course / category'; -$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:id'] = 'Internal user id for this entry'; -$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:userid'] = 'The concerned user for this entry'; $string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:category'] = 'The category concerned by the hide,sortorder info for a given user'; -$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:itemid'] = 'The itemid for a course or a course category concerned by the hide,sortorder info for a given user'; +$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:fav'] = 'The favorite tag for a given itemid (category/course) for a given user'; $string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:hide'] = 'The item nature (category or course) concerned by the hide,sortorder info for a given user'; +$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:id'] = 'Internal user id for this entry'; +$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:itemid'] = 'The itemid for a course or a course category concerned by the hide,sortorder info for a given user'; $string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:sortorder'] = 'The sortorder nulber for the concerned item (category or course) for a given user'; -$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:fav'] = 'The favorite tag for a given itemid (category/course) for a given user'; -$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu:textcontext'] = 'collapsed or expanded status'; $string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:textcontext'] = 'hide and sortorder infos'; +$string['privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:userid'] = 'The concerned user for this entry'; + +$string['showsearch'] = 'Show course search'; diff --git a/settings.php b/settings.php index 0e774dc..5a04cdf 100644 --- a/settings.php +++ b/settings.php @@ -25,26 +25,46 @@ defined('MOODLE_INTERNAL') || die; if ($ADMIN->fulltree) { - $settings->add(new admin_setting_configcheckbox('block_custom_course_menu/enablefavorites', - get_string('enablefavorites', 'block_custom_course_menu'), - get_string('configenablefavorites', 'block_custom_course_menu'), 0)); - $settings->add(new admin_setting_configcheckbox('block_custom_course_menu/enablelastviewed', - get_string('enablelastviewed', 'block_custom_course_menu'), - get_string('configenablelastviewed', 'block_custom_course_menu'), 0)); - $settings->add(new admin_setting_configtext('block_custom_course_menu/lastviewedamount', - get_string('lastviewedamount', 'block_custom_course_menu'), - get_string('configlastviewedamount', 'block_custom_course_menu'), 5, PARAM_INT)); + $settings->add( + new admin_setting_configcheckbox( + 'block_custom_course_menu/enablefavorites', + get_string('enablefavorites', 'block_custom_course_menu'), + get_string('configenablefavorites', 'block_custom_course_menu'), + 0 + ) + ); + $settings->add( + new admin_setting_configcheckbox( + 'block_custom_course_menu/enablelastviewed', + get_string('enablelastviewed', 'block_custom_course_menu'), + get_string('configenablelastviewed', 'block_custom_course_menu'), + 0 + ) + ); + $settings->add( + new admin_setting_configtext( + 'block_custom_course_menu/lastviewedamount', + get_string('lastviewedamount', 'block_custom_course_menu'), + get_string('configlastviewedamount', 'block_custom_course_menu'), + 5, + PARAM_INT + ) + ); - $options = array( + $options = [ 0 => get_string('no'), 1 => get_string('yes'), - 'admin' => get_string('adminonly', 'block_custom_course_menu') - ); + 'admin' => get_string('adminonly', 'block_custom_course_menu'), + ]; $name = new lang_string('attemptreopenmethod', 'mod_assign'); $description = new lang_string('attemptreopenmethod_help', 'mod_assign'); - $settings->add(new admin_setting_configselect('block_custom_course_menu/showsearch', - get_string('showsearch', 'block_custom_course_menu'), - get_string('configshowsearch', 'block_custom_course_menu'), - 0, - $options)); + $settings->add( + new admin_setting_configselect( + 'block_custom_course_menu/showsearch', + get_string('showsearch', 'block_custom_course_menu'), + get_string('configshowsearch', 'block_custom_course_menu'), + 0, + $options + ) + ); } diff --git a/tests/generator/lib.php b/tests/generator/lib.php index ab44e5d..ae1261a 100644 --- a/tests/generator/lib.php +++ b/tests/generator/lib.php @@ -43,11 +43,11 @@ public function set_course_visible($userid, $coursecatid, $iscourse, $isvisible) $item = 'category'; } - $params = array( - 'userid' => $userid, - 'item' => $item, - 'itemid' => $itemid, - ); + $params = [ + 'userid' => $userid, + 'item' => $item, + 'itemid' => $itemid, + ]; $entry = $DB->get_record('block_custom_course_menu_etc', $params); @@ -55,7 +55,7 @@ public function set_course_visible($userid, $coursecatid, $iscourse, $isvisible) $DB->update_record('block_custom_course_menu_etc', $entry); } else { $entry = (object) $params; - $entry->hide = !$isvisible;; + $entry->hide = !$isvisible; $DB->insert_record('block_custom_course_menu_etc', $entry); } } @@ -69,10 +69,10 @@ public function set_course_visible($userid, $coursecatid, $iscourse, $isvisible) */ public function set_collapsed_category($userid, $categoryid, $collapsed) { global $DB; - $params = array( - 'userid' => $userid, - 'categoryid' => $categoryid - ); + $params = [ + 'userid' => $userid, + 'categoryid' => $categoryid, + ]; $entry = $DB->get_record('block_custom_course_menu', $params); @@ -81,7 +81,7 @@ public function set_collapsed_category($userid, $categoryid, $collapsed) { $DB->update_record('block_custom_course_menu', $entry); } else { - $entry = new stdClass; + $entry = new stdClass(); $entry->userid = $userid; $entry->categoryid = $categoryid; $entry->collapsed = intval($collapsed); @@ -89,5 +89,4 @@ public function set_collapsed_category($userid, $categoryid, $collapsed) { $DB->insert_record('block_custom_course_menu', $entry); } } - } diff --git a/tests/privacy/provider_test.php b/tests/privacy/provider_test.php index 2eb4207..3001849 100644 --- a/tests/privacy/provider_test.php +++ b/tests/privacy/provider_test.php @@ -34,20 +34,20 @@ * @covers \block_custom_course_menu\provider * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class provider_test extends \core_privacy\tests\provider_testcase { - +final class provider_test extends \core_privacy\tests\provider_testcase { /** * Basic setup for these tests. */ public function setUp(): void { $this->resetAfterTest(true); + parent::setUp(); } /** * Test get_contexts_for_userid function. * Function that get the list of contexts that contain user information for the specified user. */ - public function test_get_contexts_for_userid() { + public function test_get_contexts_for_userid(): void { $this->resetAfterTest(); $user = $this->getDataGenerator()->create_user(); $this->setUser($user); @@ -68,7 +68,7 @@ public function test_get_contexts_for_userid() { * Test expert_user_data function. * Function that get the list of users who have data within a context. */ - public function test_export_user_data() { + public function test_export_user_data(): void { $this->resetAfterTest(); $user = $this->getDataGenerator()->create_user(); $this->setUser($user); @@ -79,14 +79,23 @@ public function test_export_user_data() { $writer = \core_privacy\local\request\writer::with_context($usercontext); $this->assertFalse($writer->has_any_data()); - list($category1, $category2, $category3, $course1, $course2, $course3) = $this->create_coursecat_and_enrol_set_block($user); + [$category1, $category2, $category3, $course1, $course2, $course3] = $this->create_coursecat_and_enrol_set_block($user); $this->export_context_data_for_user($user->id, $usercontext, 'block_custom_course_menu'); $writer = \core_privacy\local\request\writer::with_context($usercontext); $this->assertTrue($writer->has_any_data()); - $data = $writer->get_data([get_string('pluginname', 'block_custom_course_menu'), - get_string('privacy:metadata:block_custom_course_menu:block_custom_course_menu:textcontext', - 'block_custom_course_menu')]); + $data = $writer->get_data( + [ + get_string( + 'pluginname', + 'block_custom_course_menu' + ), + get_string( + 'privacy:metadata:block_custom_course_menu:block_custom_course_menu:textcontext', + 'block_custom_course_menu' + ), + ] + ); $this->assertInstanceOf('stdClass', $data); $this->assertTrue(property_exists($data, 'block_custom_course_menu')); foreach ($data->block_custom_course_menu as $record) { @@ -95,9 +104,18 @@ public function test_export_user_data() { $this->assertEquals("1", $record->collapsed); } - $data = $writer->get_data([get_string('pluginname', 'block_custom_course_menu'), - get_string('privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:textcontext', - 'block_custom_course_menu')]); + $data = $writer->get_data( + [ + get_string( + 'pluginname', + 'block_custom_course_menu' + ), + get_string( + 'privacy:metadata:block_custom_course_menu:block_custom_course_menu_etc:textcontext', + 'block_custom_course_menu' + ), + ] + ); $this->assertInstanceOf('stdClass', $data); $this->assertTrue(property_exists($data, 'block_custom_course_menu_etc')); foreach ($data->block_custom_course_menu_etc as $record) { @@ -110,7 +128,7 @@ public function test_export_user_data() { * Test delete_data_for_all_users_in_context function. * Function that delete all data for all users in the specified context */ - public function test_delete_data_for_all_users_in_context() { + public function test_delete_data_for_all_users_in_context(): void { $this->resetAfterTest(); $user = $this->getDataGenerator()->create_user(); $this->setUser($user); @@ -127,7 +145,7 @@ public function test_delete_data_for_all_users_in_context() { * Test delete_data_for_user function. * Function that delete all user data for the specified user, in the specified contexts. */ - public function test_delete_data_for_user() { + public function test_delete_data_for_user(): void { $this->resetAfterTest(); $user = $this->getDataGenerator()->create_user(); $this->setUser($user); @@ -136,9 +154,9 @@ public function test_delete_data_for_user() { $this->create_block_instance(); // Delete the context. $approvedcontextlist = new \core_privacy\tests\request\approved_contextlist( - \core_user::get_user($user->id), - 'block_custom_course_menu', - [$usercontext->id] + \core_user::get_user($user->id), + 'block_custom_course_menu', + [$usercontext->id] ); provider::delete_data_for_user($approvedcontextlist); $contextlist = provider::get_contexts_for_userid($user->id); @@ -149,7 +167,7 @@ public function test_delete_data_for_user() { * Test delete_data_for_users function. * Function that Delete multiple users within a single context. */ - public function test_delete_data_for_users() { + public function test_delete_data_for_users(): void { $this->resetAfterTest(); $user = $this->getDataGenerator()->create_user(); $this->setUser($user); @@ -169,7 +187,7 @@ public function test_delete_data_for_users() { private function create_block_instance() { global $SITE; $blockgenerator = $this->getDataGenerator()->get_plugin_generator('block_custom_course_menu'); - $blockgenerator->create_instance(array('course' => $SITE)); + $blockgenerator->create_instance(['course' => $SITE]); } /** @@ -192,6 +210,6 @@ private function create_coursecat_and_enrol_set_block($user) { $blockgenerator->set_course_visible($user->id, $category1->id, false, false); $blockgenerator->set_course_visible($user->id, $course1->id, true, true); $blockgenerator->set_collapsed_category($user->id, $category3->id, true); - return array($category1, $category2, $category3, $course1, $course2, $course3); + return [$category1, $category2, $category3, $course1, $course2, $course3]; } } diff --git a/transition_tool.php b/transition_tool.php index 719f3b6..1add10d 100644 --- a/transition_tool.php +++ b/transition_tool.php @@ -13,6 +13,7 @@ // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see . + /** * CustomCourseMenu Transition Tool * @@ -28,11 +29,11 @@ echo $OUTPUT->header(); try { - $dataobjects1 = $DB->get_records_sql('SELECT * FROM {block_my_courses}', array()); - $dataobjects2 = $DB->get_records_sql('SELECT * FROM {block_my_courses_meta}', array()); + $dataobjects1 = $DB->get_records_sql('SELECT * FROM {block_my_courses}', []); + $dataobjects2 = $DB->get_records_sql('SELECT * FROM {block_my_courses_meta}', []); $DB->insert_records('block_custom_course_menu', $dataobjects1); $DB->insert_records('block_custom_course_menu_etc', $dataobjects2); - $DB->set_field('block_instances', 'blockname', 'custom_course_menu', array('blockname' => 'my_courses')); + $DB->set_field('block_instances', 'blockname', 'custom_course_menu', ['blockname' => 'my_courses']); echo $OUTPUT->container('Transition Completed'); } catch (Exception $e) { echo $OUTPUT->container('Transition has already occured'); From 4bd2b3c4e6bf29d6c7002c9d6b808a161a80ef15 Mon Sep 17 00:00:00 2001 From: Matt Davidson Date: Wed, 20 May 2026 12:45:14 -0400 Subject: [PATCH 2/2] Update plugin version and release to 5.0 --- version.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.php b/version.php index 4d62441..e995bdf 100644 --- a/version.php +++ b/version.php @@ -24,8 +24,8 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2023091400; +$plugin->version = 2026052000; $plugin->requires = 2022041900; // Requires Moodle 4.0. $plugin->maturity = MATURITY_STABLE; -$plugin->release = '4.0'; +$plugin->release = '5.0'; $plugin->component = 'block_custom_course_menu';