Skip to content

Commit

Permalink
codechecker fixes, set release version to 4-r4
Browse files Browse the repository at this point in the history
  • Loading branch information
my-curiosity committed Aug 20, 2024
1 parent 940f163 commit 0fd16f7
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 72 deletions.
2 changes: 1 addition & 1 deletion Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ It has the standard Moodle Capability-Checks built-in, so there are no extra cap
* Log in as the selected user

## Prerequisites
* This version is tested on Moodle 4.0, 4.1, 4.2, 4.3 (branch master and moodle_4_dev, without a link in navigation), 3.10, 3.11 (branch 310)
* This version is tested on Moodle 4.0, 4.1, 4.2, 4.3, 4.4 (branch master and moodle_4_dev, without a link in navigation), 3.10, 3.11 (branch 310)
* For Moodle 3.9 and older use v1.03
* It is highly recommended to activate compression to reduce transmitted data (e.g. from 4.36MB to 1.05 MB)
* Add "zlib.output_compression = On" in php.ini
Expand Down
69 changes: 34 additions & 35 deletions classes/external.php
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,14 @@ class external extends external_api {
public static function create_new_course_parameters() {
return new external_function_parameters(
[
'shortname' => new external_value(PARAM_TEXT, 'The short name of the course to be created'),
'fullname' => new external_value(PARAM_TEXT, 'The full name of the course to be created'),
'visible' => new external_value(PARAM_BOOL, 'Toggles visibility of course'),
'categoryid' => new external_value(PARAM_INT, 'ID of category the course should be created in'),
'activateselfenrol' => new external_value(PARAM_BOOL, 'Toggles if self_enrolment should be activated'),
'selfenrolpassword' => new external_value(PARAM_TEXT, 'Password of self enrolment'),
'startdate' => new external_value(PARAM_TEXT, 'Course start date'),
'enddate' => new external_value(PARAM_TEXT, 'Course end date'),
'shortname' => new external_value(PARAM_TEXT, 'The short name of the course to be created'),
'fullname' => new external_value(PARAM_TEXT, 'The full name of the course to be created'),
'visible' => new external_value(PARAM_BOOL, 'Toggles visibility of course'),
'categoryid' => new external_value(PARAM_INT, 'ID of category the course should be created in'),
'activateselfenrol' => new external_value(PARAM_BOOL, 'Toggles if self_enrolment should be activated'),
'selfenrolpassword' => new external_value(PARAM_TEXT, 'Password of self enrolment'),
'startdate' => new external_value(PARAM_TEXT, 'Course start date'),
'enddate' => new external_value(PARAM_TEXT, 'Course end date'),
]
);
}
Expand Down Expand Up @@ -418,7 +418,7 @@ public static function get_user_information($userid) {
$context = \context_system::instance();
if (\has_capability('moodle/user:loginas', $context)) {
$link = $CFG->wwwroot . "/course/loginas.php?id=1&user=" . $data['userinformation']['id'] . "&sesskey="
. $USER->sesskey;
. $USER->sesskey;
$data['loginaslink'] = $link;
} else {
$data['loginaslink'] = false;
Expand Down Expand Up @@ -909,7 +909,7 @@ public static function get_course_info($courseid) {

// Get information about the course.
$select = "SELECT c.id, c.shortname, c.fullname, c.visible, c.timecreated, c.startdate, cat.path FROM {course} c, " .
"{course_categories} cat WHERE c.category = cat.id AND c.id = " . $courseid;
"{course_categories} cat WHERE c.category = cat.id AND c.id = " . $courseid;
$coursedetails = $DB->get_record_sql($select);
$coursedetails = (array)$coursedetails;
if ($coursedetails['timecreated'] == 0) {
Expand Down Expand Up @@ -1117,8 +1117,8 @@ public static function get_course_info_returns() {
'rolesincourse' => new external_multiple_structure(new external_value(PARAM_TEXT, 'array with roles used in course')),
'roles' => new external_multiple_structure(
new external_single_structure([
'roleName' => new external_value(PARAM_RAW, 'name of one role in course'),
'roleNumber' => new external_value(PARAM_INT, 'number of participants with role = roleName'),
'roleName' => new external_value(PARAM_RAW, 'name of one role in course'),
'roleNumber' => new external_value(PARAM_INT, 'number of participants with role = roleName'),
])
),
'users' => new external_multiple_structure(
Expand All @@ -1132,20 +1132,20 @@ public static function get_course_info_returns() {
'enrol_id' => new external_value(PARAM_INT, 'id of user enrolment to course'),
])
),
'activities' => new external_multiple_structure(
new external_single_structure([
'activities' => new external_multiple_structure(
new external_single_structure([
'section' => new external_value(PARAM_RAW, 'Name of section, in which the activity appears'),
'activity' => new external_value(PARAM_RAW, 'kind of activity'),
'name' => new external_value(PARAM_RAW, 'Name of this activity'),
'visible' => new external_value(PARAM_INT, 'Is the activity visible? 1: yes, 0: no'),
])
),
'links' => new external_single_structure([
'settingslink' => new external_value(PARAM_RAW, 'link to the settings of the course'),
'deletelink' => new external_value(PARAM_RAW, 'link to delete the course if allowed, '
. 'additional affirmation needed afterwards', VALUE_OPTIONAL),
'courselink' => new external_value(PARAM_RAW, 'link to the course'),
]),
])
),
'links' => new external_single_structure([
'settingslink' => new external_value(PARAM_RAW, 'link to the settings of the course'),
'deletelink' => new external_value(PARAM_RAW, 'link to delete the course if allowed, '
. 'additional affirmation needed afterwards', VALUE_OPTIONAL),
'courselink' => new external_value(PARAM_RAW, 'link to the course'),
]),
'enrolmentMethods' => new external_multiple_structure(
new external_single_structure([
'methodname' => new external_value(PARAM_TEXT, 'Name of the enrolment method'),
Expand All @@ -1154,8 +1154,8 @@ public static function get_course_info_returns() {
'password' => new external_value(PARAM_TEXT, 'Password for enrolment method'),
])
),
'isallowedtoupdatecourse' => new external_value(PARAM_BOOL, "Is the user allowed to update the course globally?"),
'wwwroot' => new external_value(PARAM_TEXT, "Root URL of this moodle instance"),
'isallowedtoupdatecourse' => new external_value(PARAM_BOOL, "Is the user allowed to update the course globally?"),
'wwwroot' => new external_value(PARAM_TEXT, "Root URL of this moodle instance"),
]);
}

Expand Down Expand Up @@ -1222,7 +1222,7 @@ public static function get_assignable_roles($courseid) {
}

$data = [
'assignableRoles' => (array)$arrayofroles,
'assignableRoles' => (array)$arrayofroles,
];

return $data;
Expand Down Expand Up @@ -1376,7 +1376,6 @@ public static function duplicate_course_parameters() {
* @throws invalid_parameter_exception
*/
public static function duplicate_course($courseid) {
// TODO
// Check parameters.
$params = self::validate_parameters(self::duplicate_course_parameters(), ['courseid' => $courseid]);
$courseid = $params['courseid'];
Expand All @@ -1394,15 +1393,15 @@ public static function duplicate_course($courseid) {
$newshortname = $oldcourse["shortname"] . " - duplicated" . rand(0, 1000); // Add random number to avoid shortnametaken.

$options = [
['name' => 'activities', 'value' => 1],
['name' => 'blocks', 'value' => 1],
['name' => 'filters', 'value' => 1],
['name' => 'users', 'value' => 0],
['name' => 'role_assignments', 'value' => 0],
['name' => 'comments', 'value' => 0],
['name' => 'userscompletion', 'value' => 0],
['name' => 'logs', 'value' => 0],
['name' => 'grade_histories', 'value' => 0],
['name' => 'activities', 'value' => 1],
['name' => 'blocks', 'value' => 1],
['name' => 'filters', 'value' => 1],
['name' => 'users', 'value' => 0],
['name' => 'role_assignments', 'value' => 0],
['name' => 'comments', 'value' => 0],
['name' => 'userscompletion', 'value' => 0],
['name' => 'logs', 'value' => 0],
['name' => 'grade_histories', 'value' => 0],
];

$newcourse = \core_course_external::duplicate_course(
Expand Down
58 changes: 24 additions & 34 deletions lang/en/tool_supporter.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,52 +21,42 @@
* @copyright 2019 Benedikt Schneider, Klara Saary
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$string['toolsupporter'] = 'toolsupporter';

$string['beingduplicated'] = "The course is being duplicated. This may take a while.";
$string['enable_selfenrolment'] = 'Activate self enrolment and set password';
$string['level'] = 'Level';
$string['pagetitle'] = 'Moodle-Supporter';
$string['pluginname'] = 'Supporter';
$string['plugincategory'] = 'Supporter';
$string['level'] = 'Level';
$string['enable_selfenrolment'] = 'Activate self enrolment and set password';

$string['beingduplicated'] = "The course is being duplicated. This may take a while.";

$string['searchcourses'] = 'Search';
$string['pluginname'] = 'Supporter';
$string['privacy:metadata'] = 'This plugin does not save user-specific data, only global settings.';
$string['refreshcourses'] = 'Refresh';
$string['searchusers'] = 'Search';
$string['refreshusers'] = 'Refresh';

// Strings for setting page - settings.php.
$string['sett_title'] = 'Supporter configuration';
$string['sett_levels'] = 'Labeling of course category levels';
$string['searchcourses'] = 'Search';
$string['searchusers'] = 'Search';
$string['sett_course_detail_showrolesandamount'] = 'Show all roles and their amount';
$string['sett_course_detail_showrolesandamount_desc'] = 'Explicitly shows all roles and their amounts in a seperate table row per role, i.e. amount of teachers, amount of students, etc.';
$string['sett_course_details'] = 'Course details';
$string['sett_course_details_desc'] = 'The course details are shown in the top left when a course is clicked.';
$string['sett_course_table'] = 'Course table';
$string['sett_course_table_desc'] = 'The course table lists all courses and is displayed in the bottom left.';
$string['sett_course_table_pagelength'] = 'The amount of courses shown';
$string['sett_enable_lvl_1'] = 'Enable Level 1';
$string['sett_enable_lvl_2'] = 'Enable Level 2';
$string['sett_enable_lvl_3'] = 'Enable Level 3';
$string['sett_enable_lvl_4'] = 'Enable Level 4';
$string['sett_enable_lvl_5'] = 'Enable Level 5';
$string['sett_levels'] = 'Labeling of course category levels';
$string['sett_levels_default'] = 'L1;L2;L3;L4;L5';
$string['sett_levels_description'] = 'Specify the displayed names of the course levels. In descending order (uppermost level first) and separated by semicolon. ';

$string['sett_course_table'] = 'Course table';
$string['sett_user_table'] = 'User table';
$string['sett_user_details'] = 'User details';
$string['sett_course_details'] = 'Course details';

$string['sett_course_table_desc'] = 'The course table lists all courses and is displayed in the bottom left.';
$string['sett_course_table_pagelength'] = 'The amount of courses shown';
$string['sett_user_table_desc'] = 'The user table lists all users and is displayed in the bottom right.';
$string['sett_user_table_pagelength'] = 'The amount of user-courses shown';
$string['sett_sort_course_table'] = 'Sorting of the ID-Column in course table';
$string['sett_never'] = 'never';
$string['sett_sort_course_details'] = 'Sorting of the ID-Column in course view (enrolled users)';
$string['sett_sort_user_table'] = 'Sorting of the ID-Column in user table';
$string['sett_sort_course_table'] = 'Sorting of the ID-Column in course table';
$string['sett_sort_user_details'] = 'Sorting of the ID-Column in user view (enrolled courses)';
$string['sett_sort_user_table'] = 'Sorting of the ID-Column in user table';
$string['sett_title'] = 'Supporter configuration';
$string['sett_user_details'] = 'User details';
$string['sett_user_details_desc'] = 'The user details are shown in the top right when a user is clicked.';
$string['sett_course_details_desc'] = 'The course details are shown in the top left when a course is clicked.';
$string['sett_course_detail_showrolesandamount'] = 'Show all roles and their amount';
$string['sett_course_detail_showrolesandamount_desc'] = 'Explicitly shows all roles and their amounts in a seperate table row per role, i.e. amount of teachers, amount of students, etc.';

$string['sett_never'] = 'never';
$string['sett_user_table'] = 'User table';
$string['sett_user_table_desc'] = 'The user table lists all users and is displayed in the bottom right.';
$string['sett_user_table_pagelength'] = 'The amount of user-courses shown';
$string['strftimesecondsdatetimeshort'] = '%d/%m/%Y, %H:%M:%S';

// Privacy API.
$string['privacy:metadata'] = 'This plugin does not save user-specific data, only global settings.';
$string['toolsupporter'] = 'toolsupporter';
1 change: 1 addition & 0 deletions settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

/**
* Navigation and settings definitions.
*
Expand Down
5 changes: 3 additions & 2 deletions version.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

/**
* Plugin version info
*
Expand All @@ -21,8 +22,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2023121300; // The current plugin version (Date: YYYYMMDDXX).
$plugin->version = 2024082000; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2022041900; // Requires Moodle version 4.0 or higher.
$plugin->component = 'tool_supporter'; // Full name of the plugin (used for diagnostics).
$plugin->release = 'v4-r3';
$plugin->release = 'v4-r4';
$plugin->maturity = MATURITY_STABLE;

0 comments on commit 0fd16f7

Please sign in to comment.