From 2cb096df6a2024c25c125966e3692702e5d2b199 Mon Sep 17 00:00:00 2001 From: Stefan Topfstedt Date: Mon, 3 Jun 2024 12:08:52 -0700 Subject: [PATCH] auto-correct PHP code linter errors. --- ajax.php | 80 +++++++++--------- db/access.php | 20 ++--- db/tasks.php | 10 +-- db/uninstall.php | 4 +- edit.php | 40 ++++----- edit_form.php | 211 ++++++++++++++++++++++++----------------------- lib.php | 196 +++++++++++++++++++++---------------------- settings.php | 8 +- version.php | 4 +- 9 files changed, 288 insertions(+), 285 deletions(-) diff --git a/ajax.php b/ajax.php index 600b875..7e70238 100644 --- a/ajax.php +++ b/ajax.php @@ -36,9 +36,9 @@ $id = required_param('id', PARAM_INT); // course id $action = required_param('action', PARAM_ALPHANUMEXT); -$PAGE->set_url(new moodle_url('/enrol/ilios/ajax.php', array('id'=>$id, 'action'=>$action))); +$PAGE->set_url(new moodle_url('/enrol/ilios/ajax.php', ['id' => $id, 'action' => $action])); -$course = $DB->get_record('course', array('id'=>$id), '*', MUST_EXIST); +$course = $DB->get_record('course', ['id' => $id], '*', MUST_EXIST); $context = context_course::instance($course->id, MUST_EXIST); if ($course->id == SITEID) { @@ -65,14 +65,14 @@ /** @var enrol_ilios_plugin $enrol */ $enrol = enrol_get_plugin('ilios'); -$api_client = $enrol->get_api_client(); -$access_token = $enrol->get_api_access_token(); +$apiclient = $enrol->get_api_client(); +$accesstoken = $enrol->get_api_access_token(); switch ($action) { case 'getselectschooloptions': require_capability('moodle/course:enrolconfig', $context); - $schools = $api_client->get($access_token, 'schools', '', array('title' => "ASC")); - $schoolarray = array(); + $schools = $apiclient->get($accesstoken, 'schools', '', ['title' => "ASC"]); + $schoolarray = []; foreach ($schools as $school) { $schoolarray["$school->id:$school->title"] = $school->title; } @@ -82,12 +82,12 @@ case 'getselectprogramoptions': require_capability('moodle/course:enrolconfig', $context); $sid = required_param('filterid', PARAM_INT); // school id - $programs = array(); - $programs = $api_client->get($access_token, 'programs', array('school' => $sid), array('title' => "ASC")); - $programarray = array(); + $programs = []; + $programs = $apiclient->get($accesstoken, 'programs', ['school' => $sid], ['title' => "ASC"]); + $programarray = []; foreach ($programs as $program) { $key = $program->id; - foreach (array('shortTitle', 'title') as $attr) { + foreach (['shortTitle', 'title'] as $attr) { $key .= ':'; if (property_exists($program, $attr)) { $key .= $program->$attr; @@ -101,24 +101,24 @@ case 'getselectcohortoptions': require_capability('moodle/course:enrolconfig', $context); $pid = required_param('filterid', PARAM_INT); - $programyears = $api_client->get( - $access_token, + $programyears = $apiclient->get( + $accesstoken, 'programYears', - array("program" => $pid), - array("startYear" => "ASC") + ["program" => $pid], + ["startYear" => "ASC"] ); - $programyeararray = array(); - $cohortoptions = array(); + $programyeararray = []; + $cohortoptions = []; foreach ($programyears as $progyear) { $programyeararray[] = $progyear->id; } if (!empty($programyeararray)) { - $cohorts = $api_client->get( - $access_token, + $cohorts = $apiclient->get( + $accesstoken, 'cohorts', - array("programYear" => $programyeararray), - array("title" => "ASC") + ["programYear" => $programyeararray], + ["title" => "ASC"] ); foreach ($cohorts as $cohort) { $cohortoptions["$cohort->id:$cohort->title"] = $cohort->title @@ -133,13 +133,13 @@ require_capability('moodle/course:enrolconfig', $context); $cid = required_param('filterid', PARAM_INT); // cohort id $usertype = optional_param('usertype', 0, PARAM_INT); // learner or instructor - $learnergroups = $api_client->get( - $access_token, + $learnergroups = $apiclient->get( + $accesstoken, 'learnerGroups', - array('cohort' => $cid, 'parent' => 'null'), - array('title'=> "ASC") + ['cohort' => $cid, 'parent' => 'null'], + ['title' => "ASC"] ); - $grouparray = array(); + $grouparray = []; foreach ($learnergroups as $group) { $grouparray["$group->id:$group->title"] = $group->title. ' ('. count($group->children) .')'; @@ -152,12 +152,12 @@ require_capability('moodle/course:enrolconfig', $context); $gid = required_param('filterid', PARAM_INT); // group id $usertype = optional_param('usertype', 0, PARAM_INT); // learner or instructor - $subgroupoptions = array(); - $subgroups = $api_client->get( - $access_token, + $subgroupoptions = []; + $subgroups = $apiclient->get( + $accesstoken, 'learnerGroups', - array("parent" => $gid), - array("title" => "ASC") + ["parent" => $gid], + ["title" => "ASC"] ); foreach ($subgroups as $subgroup) { $subgroupoptions["$subgroup->id:$subgroup->title"] = $subgroup->title. @@ -165,12 +165,12 @@ $subgroupoptions["$subgroup->id:$subgroup->title"] .= ' ('. count($subgroup->users) .')'; if (!empty($subgroup->children)) { - $processchildren = function ($parent) use (&$processchildren,&$subgroupoptions, $api_client, $access_token) { - $subgrps = $api_client->get( - $access_token, + $processchildren = function ($parent) use (&$processchildren, &$subgroupoptions, $apiclient, $accesstoken) { + $subgrps = $apiclient->get( + $accesstoken, 'learnerGroups', - array( 'parent' => $parent->id), - array( 'title' => "ASC") + [ 'parent' => $parent->id], + [ 'title' => "ASC"] ); foreach ($subgrps as $subgrp) { $subgroupoptions["$subgrp->id:$parent->title / $subgrp->title"] = $parent->title.' / '.$subgrp->title. @@ -191,15 +191,15 @@ case 'getselectinstructorgroupoptions': require_capability('moodle/course:enrolconfig', $context); $gid = required_param('filterid', PARAM_INT); // group id - $instructorgroupoptions = array(); - $learnergroup = $api_client->get_by_id($access_token, 'learnerGroups', $gid); + $instructorgroupoptions = []; + $learnergroup = $apiclient->get_by_id($accesstoken, 'learnerGroups', $gid); if (!empty($learnergroup->instructorGroups)) { - $instructorgroups = $api_client->get( - $access_token, + $instructorgroups = $apiclient->get( + $accesstoken, 'instructorGroups', // array("id" => $learnergroup->instructorGroups), '', - array("title" => "ASC") + ["title" => "ASC"] ); foreach ($instructorgroups as $instructorgroup) { $instructorgroupoptions["$instructorgroup->id:$instructorgroup->title"] = $instructorgroup->title. diff --git a/db/access.php b/db/access.php index 144d36a..2cea578 100644 --- a/db/access.php +++ b/db/access.php @@ -25,26 +25,26 @@ defined('MOODLE_INTERNAL') || die(); -$capabilities = array( +$capabilities = [ - 'enrol/ilios:config' => array( + 'enrol/ilios:config' => [ 'captype' => 'write', 'contextlevel' => CONTEXT_COURSE, - 'archetypes' => array( + 'archetypes' => [ 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW, - ) - ), + ], + ], /* This is used only when sync suspends users instead of full unenrolment. */ - 'enrol/ilios:unenrol' => array( + 'enrol/ilios:unenrol' => [ 'captype' => 'write', 'contextlevel' => CONTEXT_COURSE, - 'archetypes' => array( + 'archetypes' => [ 'manager' => CAP_ALLOW, - ) - ), + ], + ], -); +]; diff --git a/db/tasks.php b/db/tasks.php index 8bc171d..d464419 100644 --- a/db/tasks.php +++ b/db/tasks.php @@ -24,14 +24,14 @@ defined('MOODLE_INTERNAL') || die(); -$tasks = array( - array( +$tasks = [ + [ 'classname' => '\enrol_ilios\task\ilios_sync_task', 'blocking' => 0, 'minute' => '55', 'hour' => '*', 'day' => '*', 'dayofweek' => '*', - 'month' => '*' - ) -); + 'month' => '*', + ], +]; diff --git a/db/uninstall.php b/db/uninstall.php index 9c67469..ea68eef 100644 --- a/db/uninstall.php +++ b/db/uninstall.php @@ -29,13 +29,13 @@ function xmldb_enrol_ilios_uninstall() { global $CFG, $DB; $ilios = enrol_get_plugin('ilios'); - $rs = $DB->get_recordset('enrol', array('enrol'=>'ilios')); + $rs = $DB->get_recordset('enrol', ['enrol' => 'ilios']); foreach ($rs as $instance) { $ilios->delete_instance($instance); } $rs->close(); - role_unassign_all(array('component'=>'enrol_ilios')); + role_unassign_all(['component' => 'enrol_ilios']); return true; } diff --git a/edit.php b/edit.php index fb807ac..6e4bf88 100644 --- a/edit.php +++ b/edit.php @@ -30,17 +30,17 @@ $courseid = required_param('courseid', PARAM_INT); $instanceid = optional_param('id', 0, PARAM_INT); -$course = $DB->get_record('course', array('id'=>$courseid), '*', MUST_EXIST); +$course = $DB->get_record('course', ['id' => $courseid], '*', MUST_EXIST); $context = context_course::instance($course->id, MUST_EXIST); require_login($course); require_capability('moodle/course:enrolconfig', $context); require_capability('enrol/ilios:config', $context); -$PAGE->set_url('/enrol/ilios/edit.php', array('courseid'=>$course->id, 'id'=>$instanceid)); +$PAGE->set_url('/enrol/ilios/edit.php', ['courseid' => $course->id, 'id' => $instanceid]); $PAGE->set_pagelayout('admin'); -$returnurl = new moodle_url('/enrol/instances.php', array('id'=>$course->id)); +$returnurl = new moodle_url('/enrol/instances.php', ['id' => $course->id]); if (!enrol_is_enabled('ilios')) { redirect($returnurl); } @@ -49,14 +49,14 @@ $enrol = enrol_get_plugin('ilios'); if ($instanceid) { - $instance = $DB->get_record('enrol', array('courseid'=>$course->id, 'enrol'=>'ilios', 'id'=>$instanceid), '*', MUST_EXIST); + $instance = $DB->get_record('enrol', ['courseid' => $course->id, 'enrol' => 'ilios', 'id' => $instanceid], '*', MUST_EXIST); } else { // No instance yet, we have to add new instance. if (!$enrol->get_newinstance_link($course->id)) { redirect($returnurl); } - navigation_node::override_active_url(new moodle_url('/enrol/instances.php', array('id'=>$course->id))); + navigation_node::override_active_url(new moodle_url('/enrol/instances.php', ['id' => $course->id])); $instance = new stdClass(); $instance->id = null; $instance->courseid = $course->id; @@ -74,7 +74,7 @@ $courseadmin->get('users')->get('manageinstances')->make_active(); } -$mform = new enrol_ilios_edit_form(null, array($instance, $enrol, $course)); +$mform = new enrol_ilios_edit_form(null, [$instance, $enrol, $course]); if ($mform->is_cancelled()) { redirect($returnurl); @@ -83,18 +83,18 @@ // We are here only because the form is submitted. $synctype = ''; $syncid = ''; - $syncinfo = array(); + $syncinfo = []; $selectvalue = isset($data->selectschool) ? $data->selectschool : ''; if (!empty($selectvalue)) { list($schoolid, $schooltitle) = explode( ":", $selectvalue, 2); - $syncinfo["school"] = array("id" => $schoolid, "title" => $schooltitle); + $syncinfo["school"] = ["id" => $schoolid, "title" => $schooltitle]; } $selectvalue = isset($data->selectprogram) ? $data->selectprogram : ''; if (!empty($selectvalue)) { list($programid, $programshorttitle, $programtitle) = explode( ":", $selectvalue, 3); - $syncinfo["program"] = array("id" => $programid, "shorttitle" => $programshorttitle, "title" => $programtitle); + $syncinfo["program"] = ["id" => $programid, "shorttitle" => $programshorttitle, "title" => $programtitle]; } $selectvalue = isset($data->selectcohort) ? $data->selectcohort : ''; @@ -102,7 +102,7 @@ list($cohortid, $cohorttitle) = explode( ":", $selectvalue, 2); $synctype = 'cohort'; $syncid = $cohortid; - $syncinfo["cohort"] = array("id" => $cohortid, "title" => $cohorttitle); + $syncinfo["cohort"] = ["id" => $cohortid, "title" => $cohorttitle]; } $selectvalue = isset($data->selectlearnergroup) ? $data->selectlearnergroup : ''; @@ -110,7 +110,7 @@ list($learnergroupid, $learnergrouptitle) = explode( ":", $selectvalue, 2); $synctype = 'learnerGroup'; $syncid = $learnergroupid; - $syncinfo["learnerGroup"] = array( "id" => $learnergroupid, "title" => $learnergrouptitle ); + $syncinfo["learnerGroup"] = [ "id" => $learnergroupid, "title" => $learnergrouptitle ]; } $selectvalue = isset($data->selectsubgroup) ? $data->selectsubgroup : ''; @@ -118,14 +118,14 @@ list($subgroupid, $subgrouptitle) = explode( ":", $selectvalue, 2); $synctype = 'learnerGroup'; $syncid = $subgroupid; - $syncinfo["subGroup"] = array( "id" => $subgroupid, "title" => $subgrouptitle ); + $syncinfo["subGroup"] = [ "id" => $subgroupid, "title" => $subgrouptitle ]; } if ($data->id) { // NOTE: no cohort or learner group changes here!!! if ($data->roleid != $instance->roleid) { // The sync script can only add roles, for perf reasons it does not modify them. - role_unassign_all(array('contextid'=>$context->id, 'roleid'=>$instance->roleid, 'component'=>'enrol_ilios', 'itemid'=>$instance->id)); + role_unassign_all(['contextid' => $context->id, 'roleid' => $instance->roleid, 'component' => 'enrol_ilios', 'itemid' => $instance->id]); } $instance->name = $data->name; @@ -140,13 +140,13 @@ $DB->update_record('enrol', $instance); } else { - $enrol->add_instance($course, array('name'=>$data->name, 'status'=>$data->status, - 'customchar1'=>$synctype, - 'customint1'=>$syncid, - 'customtext1'=>json_encode($syncinfo), - 'roleid'=>$data->roleid, - 'customint2'=>$data->selectusertype, - 'customint6'=>$data->customint6)); + $enrol->add_instance($course, ['name' => $data->name, 'status' => $data->status, + 'customchar1' => $synctype, + 'customint1' => $syncid, + 'customtext1' => json_encode($syncinfo), + 'roleid' => $data->roleid, + 'customint2' => $data->selectusertype, + 'customint6' => $data->customint6]); } $trace = new null_progress_trace(); diff --git a/edit_form.php b/edit_form.php index 9fe2a87..cc7bbc7 100644 --- a/edit_form.php +++ b/edit_form.php @@ -39,30 +39,29 @@ function definition() { $coursecontext = context_course::instance($course->id); $PAGE->requires->yui_module('moodle-enrol_ilios-groupchoosers', 'M.enrol_ilios.init_groupchoosers', - array(array('formid' => $mform->getAttribute('id'), 'courseid' => $course->id))); + [['formid' => $mform->getAttribute('id'), 'courseid' => $course->id]]); $enrol = $plugin; - $api_client = $plugin->get_api_client(); - $access_token = $plugin->get_api_access_token(); + $apiclient = $plugin->get_api_client(); + $accesstoken = $plugin->get_api_access_token(); - $mform->addElement('header','general', get_string('pluginname', 'enrol_ilios')); + $mform->addElement('header', 'general', get_string('pluginname', 'enrol_ilios')); $mform->addElement('text', 'name', get_string('custominstancename', 'enrol')); $mform->setType('name', PARAM_TEXT); - $options = array(ENROL_INSTANCE_ENABLED => get_string('yes'), - ENROL_INSTANCE_DISABLED => get_string('no')); + $options = [ENROL_INSTANCE_ENABLED => get_string('yes'), + ENROL_INSTANCE_DISABLED => get_string('no')]; $mform->addElement('select', 'status', get_string('status', 'enrol_ilios'), $options); - - $usertypes = array(get_string('learner', 'enrol_ilios'), get_string('instructor', 'enrol_ilios')); - $schooloptions = array('' => get_string('choosedots')); - $programoptions = array('' => get_string('choosedots')); - $cohortoptions = array('' => get_string('choosedots')); - $learnergroupoptions = array('' => get_string('none')); - $hasOrphanedLearnerGroup = false; - $subgroupoptions = array('' => get_string('none')); - $instructorgroupoptions = array('' => get_string('none')); + $usertypes = [get_string('learner', 'enrol_ilios'), get_string('instructor', 'enrol_ilios')]; + $schooloptions = ['' => get_string('choosedots')]; + $programoptions = ['' => get_string('choosedots')]; + $cohortoptions = ['' => get_string('choosedots')]; + $learnergroupoptions = ['' => get_string('none')]; + $hasorphanedlearnergroup = false; + $subgroupoptions = ['' => get_string('none')]; + $instructorgroupoptions = ['' => get_string('none')]; if ($instance->id) { $synctype = $instance->customchar1; @@ -71,29 +70,29 @@ function definition() { $syncinfo = json_decode($instance->customtext1); $instance->schoolid = $syncinfo->school->id; - $school = $api_client->get_by_id($access_token, 'schools', $instance->schoolid); + $school = $apiclient->get_by_id($accesstoken, 'schools', $instance->schoolid); $instance->selectschoolindex = "$instance->schoolid:$school->title"; - $schooloptions = array( $instance->selectschoolindex => $school->title ); + $schooloptions = [ $instance->selectschoolindex => $school->title ]; $instance->programid = $syncinfo->program->id; - $program = $api_client->get_by_id($access_token, 'programs', $instance->programid); + $program = $apiclient->get_by_id($accesstoken, 'programs', $instance->programid); $instance->selectprogramindex = $instance->programid; - foreach (array('shortTitle', 'title') as $attr) { + foreach (['shortTitle', 'title'] as $attr) { $instance->selectprogramindex .= ':'; if (property_exists($program, $attr)) { $instance->selectprogramindex .= $program->$attr; } } - $programoptions = array( $instance->selectprogramindex => $program->title ); + $programoptions = [ $instance->selectprogramindex => $program->title ]; $instance->cohortid = $syncinfo->cohort->id; - $cohort = $api_client->get_by_id($access_token, 'cohorts', $instance->cohortid); + $cohort = $apiclient->get_by_id($accesstoken, 'cohorts', $instance->cohortid); $instance->selectcohortindex = "$instance->cohortid:$cohort->title"; - $cohortoptions = array( $instance->selectcohortindex => + $cohortoptions = [ $instance->selectcohortindex => $cohort->title .' ('.count($cohort->learnerGroups).')' - .' ('.count($cohort->users).')'); + .' ('.count($cohort->users).')']; $instance->learnergroupid = ''; $instance->selectlearnergroupindex = ''; @@ -103,9 +102,9 @@ function definition() { if ($synctype == 'learnerGroup') { $instance->learnergroupid = $syncid; if (!empty($instance->customint2)) { - $group = $enrol->getGroupData('learnerGroup', $instance->learnergroupid); + $group = $enrol->get_group_data('learnerGroup', $instance->learnergroupid); } else { - $group = $api_client->get_by_id($access_token, 'learnerGroups', $instance->learnergroupid); + $group = $apiclient->get_by_id($accesstoken, 'learnerGroups', $instance->learnergroupid); } if ($group) { @@ -114,20 +113,20 @@ function definition() { ' ('. count($group->children) .')'; $grouptitle .= ' ('. count($group->users) .')'; // $grouptitle .= (empty($instance->customint2)) ? ' ('. count($group->users) .')' : ' ('. count($group->instructors) .')'; - $learnergroupoptions = array($instance->selectlearnergroupindex => $grouptitle); + $learnergroupoptions = [$instance->selectlearnergroupindex => $grouptitle]; if (!empty($group->parent)) { $processparents = function ($child) use (&$processparents, &$learnergroupoptions, &$grouptitle, &$instance, - $api_client, - $access_token + $apiclient, + $accesstoken ) { - $parentgroup = $api_client->get_by_id($access_token, 'learnerGroups', $child->parent); + $parentgroup = $apiclient->get_by_id($accesstoken, 'learnerGroups', $child->parent); $instance->learnergroupid = $parentgroup->id; $instance->selectlearnergroupindex = "$instance->learnergroupid:$parentgroup->title"; - $learnergroupoptions = array( "$instance->learnergroupid:$parentgroup->title" => $parentgroup->title); + $learnergroupoptions = [ "$instance->learnergroupid:$parentgroup->title" => $parentgroup->title]; if (!empty($parentgroup->parent)){ $grouptitle = $parentgroup->title . ' / '. $grouptitle; $processparents($parentgroup); @@ -136,10 +135,10 @@ function definition() { $processparents($group); $instance->subgroupid = $group->id; $instance->selectsubgroupindex = "$group->id:$group->title"; - $subgroupoptions = array($instance->selectsubgroupindex => $grouptitle); + $subgroupoptions = [$instance->selectsubgroupindex => $grouptitle]; } } else { - $hasOrphanedLearnerGroup = true; + $hasorphanedlearnergroup = true; } } } @@ -208,7 +207,7 @@ function definition() { $mform->addElement('submit', 'updatelearnergroupoptions', get_string('learnergroupoptionsupdate', 'enrol_ilios')); } - if ($hasOrphanedLearnerGroup) { + if ($hasorphanedlearnergroup) { $mform->addElement( 'static', 'orphaned_learnergroup', @@ -231,14 +230,14 @@ function definition() { } // Role assignment - $mform->addElement('header','roleassignments', get_string('roleassignments', 'role')); + $mform->addElement('header', 'roleassignments', get_string('roleassignments', 'role')); $roles = get_assignable_roles($coursecontext); $roles[0] = get_string('none'); $roles = array_reverse($roles, true); // Descending default sortorder. if ($instance->id) { if (!isset($roles[$instance->roleid])) { - if ($role = $DB->get_record('role', array('id'=>$instance->roleid))) { + if ($role = $DB->get_record('role', ['id' => $instance->roleid])) { $roles = role_fix_names($roles, $coursecontext, ROLENAME_ALIAS, true); $roles[$instance->roleid] = role_get_name($role, $coursecontext); } else { @@ -253,9 +252,9 @@ function definition() { // Group assignment // $mform->addElement('header','groupassignment', 'Group assignment'); - $groups = array(0 => get_string('none')); + $groups = [0 => get_string('none')]; foreach (groups_get_all_groups($course->id) as $group) { - $groups[$group->id] = format_string($group->name, true, array('context'=>$coursecontext)); + $groups[$group->id] = format_string($group->name, true, ['context' => $coursecontext]); } $mform->addElement('select', 'customint6', get_string('addgroup', 'enrol_ilios'), $groups); @@ -273,29 +272,30 @@ function definition() { } $this->set_data($instance); - $prog_el =& $mform->getElement('selectschool'); + $progel =& $mform->getElement('selectschool'); } function definition_after_data() { global $DB; $mform = $this->_form; - $prog_el = $mform->getElement('selectschool'); - if ($prog_el->isFrozen()) { + $progel = $mform->getElement('selectschool'); + if ($progel->isFrozen()) { return; } /** @var enrol_ilios_plugin $enrol */ $enrol = enrol_get_plugin('ilios'); - $api_client = $enrol->get_api_client(); - $access_token = $enrol->get_api_access_token(); + $apiclient = $enrol->get_api_client(); + $accesstoken = $enrol->get_api_access_token(); $selectvalues = $mform->getElementValue('selectschool'); if (is_array($selectvalues)) { - if (strstr($selectvalues[0],':')) + if (strstr($selectvalues[0], ':')) { list($schoolid, $schooltitle) = explode(':', $selectvalues[0], 2); - else - list($schoolid, $schooltitle) = array($selectvalues[0],'',''); + } else { + list($schoolid, $schooltitle) = [$selectvalues[0], '', '']; + } } else { $schoolid = ''; $schooltitle = ''; @@ -303,22 +303,24 @@ function definition_after_data() { $selectvalues = $mform->getElementValue('selectprogram'); if (is_array($selectvalues)) { - if (strstr($selectvalues[0],':')) + if (strstr($selectvalues[0], ':')) { list($programid, $programshorttitle, $programtitle) = explode(':', $selectvalues[0], 3); - else + } else { list($programid, $programshorttitle, $programtitle) - = array( $selectvalues[0], '', ''); + = [ $selectvalues[0], '', '']; + } } else { list($programid, $programshorttitle, $programtitle) - = array( '', '', ''); + = [ '', '', '']; } $selectvalues = $mform->getElementValue('selectcohort'); if (is_array($selectvalues)) { - if (strstr($selectvalues[0],':')) + if (strstr($selectvalues[0], ':')) { list($cohortid, $cohorttitle) = explode(':', $selectvalues[0], 2); - else - list($cohortid, $cohorttitle) = array($selectvalues[0],'',''); + } else { + list($cohortid, $cohorttitle) = [$selectvalues[0], '', '']; + } } else { $cohortid = ''; $cohorttitle = ''; @@ -326,44 +328,45 @@ function definition_after_data() { $selectvalues = $mform->getElementValue('selectlearnergroup'); if (is_array($selectvalues)) { - if (strstr($selectvalues[0],':')) + if (strstr($selectvalues[0], ':')) { list($learnergroupid, $learnergrouptitle) = explode(':', $selectvalues[0], 2); - else - list($learnergroupid, $learnergrouptitle) = array($selectvalues[0],'',''); + } else { + list($learnergroupid, $learnergrouptitle) = [$selectvalues[0], '', '']; + } } else { $learnergroupid = ''; $learnergrouptitle = ''; } - $schools = $api_client->get($access_token, 'schools', '', array('title' => "ASC")); + $schools = $apiclient->get($accesstoken, 'schools', '', ['title' => "ASC"]); - $prog_el =& $mform->getElement('selectschool'); + $progel =& $mform->getElement('selectschool'); if ($schools === null) { // no connection to the server // @TODO: get from cache if possible - $schooloptions = array('' => get_string('error')); - $prog_el->load($schooloptions); + $schooloptions = ['' => get_string('error')]; + $progel->load($schooloptions); } else { foreach ($schools as $school) { - $prog_el->addOption( $school->title, "$school->id:$school->title" ); + $progel->addOption( $school->title, "$school->id:$school->title" ); } } if (!empty($schoolid)) { $sid = $schoolid; - $prog_el =& $mform->getElement('selectprogram'); - $programoptions = array(); - $programs = array(); - $programs = $api_client->get( - $access_token, + $progel =& $mform->getElement('selectprogram'); + $programoptions = []; + $programs = []; + $programs = $apiclient->get( + $accesstoken, 'programs', - array('school' => $sid), - array('title' => "ASC") + ['school' => $sid], + ['title' => "ASC"] ); if (!empty($programs)) { foreach ($programs as $program) { $key = $program->id; - foreach (array('shortTitle', 'title') as $attr) { + foreach (['shortTitle', 'title'] as $attr) { $key .= ':'; if (property_exists($program, $attr)) { $key .= $program->$attr; @@ -371,31 +374,31 @@ function definition_after_data() { } $programoptions[$key] = $program->title; } - $prog_el->load($programoptions); + $progel->load($programoptions); } } if (!empty($programid)) { $pid = $programid; - $prog_el =& $mform->getElement('selectcohort'); - $cohortoptions = array(); + $progel =& $mform->getElement('selectcohort'); + $cohortoptions = []; - $programyears = $api_client->get( - $access_token, + $programyears = $apiclient->get( + $accesstoken, 'programYears', - array("program" => $pid), - array("startYear" => "ASC")); - $programyeararray = array(); + ["program" => $pid], + ["startYear" => "ASC"]); + $programyeararray = []; foreach ($programyears as $progyear) { $programyeararray[] = $progyear->id; } if (!empty($programyeararray)) { - $cohorts = $api_client->get( - $access_token, + $cohorts = $apiclient->get( + $accesstoken, 'cohorts', - array("programYear" => $programyeararray), - array("title" => "ASC") + ["programYear" => $programyeararray], + ["title" => "ASC"] ); foreach ($cohorts as $cohort) { @@ -403,20 +406,20 @@ function definition_after_data() { .' ('.count($cohort->learnerGroups).')' .' ('.count($cohort->users).')'; } - $prog_el->load($cohortoptions); + $progel->load($cohortoptions); } } if (!empty($cohortid)) { $cid = $cohortid; - $prog_el =& $mform->getElement('selectlearnergroup'); - $learnergroupoptions = array(); + $progel =& $mform->getElement('selectlearnergroup'); + $learnergroupoptions = []; - $learnergroups = $api_client->get( - $access_token, + $learnergroups = $apiclient->get( + $accesstoken, 'learnerGroups', - array('cohort' => $cid, 'parent' => 'null'), - array('title' => "ASC") + ['cohort' => $cid, 'parent' => 'null'], + ['title' => "ASC"] ); if (!empty($learnergroups)) { foreach ($learnergroups as $group) { @@ -424,32 +427,32 @@ function definition_after_data() { ' ('. count($group->children) .')'. ' ('. count($group->users) .')'; } - $prog_el->load($learnergroupoptions); + $progel->load($learnergroupoptions); } } if (!empty($learnergroupid)) { $gid = $learnergroupid; - $prog_el =& $mform->getElement('selectsubgroup'); - $subgroupoptions = array(); + $progel =& $mform->getElement('selectsubgroup'); + $subgroupoptions = []; - $subgroups = $api_client->get( - $access_token, + $subgroups = $apiclient->get( + $accesstoken, 'learnerGroups', - array("parent" => $gid), - array("title" => "ASC") + ["parent" => $gid], + ["title" => "ASC"] ); foreach ($subgroups as $subgroup) { $subgroupoptions["$subgroup->id:$subgroup->title"] = $subgroup->title. ' ('. count($subgroup->children) .')'. ' ('. count($subgroup->users) .')'; if (!empty($subgroup->children)) { - $processchildren = function ($parent) use (&$processchildren, &$subgroupoptions, $api_client, $access_token) { - $subgrps = $api_client->get( - $access_token, + $processchildren = function ($parent) use (&$processchildren, &$subgroupoptions, $apiclient, $accesstoken) { + $subgrps = $apiclient->get( + $accesstoken, 'learnerGroups', - array( 'parent' => $parent->id), - array( 'title' => "ASC") + [ 'parent' => $parent->id], + [ 'title' => "ASC"] ); foreach ($subgrps as $subgrp) { $subgroupoptions["$subgrp->id:$parent->title / $subgrp->title"] = $parent->title.' / '.$subgrp->title. @@ -463,7 +466,7 @@ function definition_after_data() { $processchildren($subgroup); } } - $prog_el->load($subgroupoptions); + $progel->load($subgroupoptions); } } @@ -481,16 +484,16 @@ function validation($data, $files) { // Check for existing role $selectgrouptype = 'cohort'; - list($selectgroupid,$selecttitle) = explode(':',$data['selectcohort'], 2); + list($selectgroupid, $selecttitle) = explode(':', $data['selectcohort'], 2); if (!empty($data['selectlearnergroup'])){ $selectgrouptype = 'learnerGroup'; - list($selectgroupid,$selecttitle) = explode(':',$data['selectlearnergroup'], 2); + list($selectgroupid, $selecttitle) = explode(':', $data['selectlearnergroup'], 2); if (!empty($data['selectsubgroup'])) { - list($selectgroupid,$selecttitle) = explode(':',$data['selectsubgroup'], 2); + list($selectgroupid, $selecttitle) = explode(':', $data['selectsubgroup'], 2); } } - $params = array('roleid'=>$data['roleid'], 'customchar1'=>$selectgrouptype,'customint1'=>$selectgroupid,'customint2'=>$data['selectusertype'],'courseid'=>$data['courseid'], 'id'=>$data['id']); + $params = ['roleid' => $data['roleid'], 'customchar1' => $selectgrouptype, 'customint1' => $selectgroupid, 'customint2' => $data['selectusertype'], 'courseid' => $data['courseid'], 'id' => $data['id']]; // customint2 could be NULL or 0 on the database if (empty($data['selectusertype']) && $DB->record_exists_select('enrol', "roleid = :roleid AND customchar1 = :customchar1 AND customint1 = :customint1 AND customint2 IS NULL AND courseid = :courseid AND enrol = 'ilios' AND id <> :id", $params)) { $errors['roleid'] = get_string('instanceexists', 'enrol_ilios'); diff --git a/lib.php b/lib.php index ccdd218..63bbab1 100644 --- a/lib.php +++ b/lib.php @@ -36,7 +36,7 @@ */ class enrol_ilios_plugin extends enrol_plugin { - protected ilios_client $api_client; + protected ilios_client $apiclient; public const SETTINGS_API_ACCESS_TOKEN = 'apikey'; @@ -44,7 +44,7 @@ class enrol_ilios_plugin extends enrol_plugin { * Constructor */ public function __construct() { - $this->api_client = new ilios_client($this->get_config('host_url', ''), new curl()); + $this->apiclient = new ilios_client($this->get_config('host_url', ''), new curl()); } /** @@ -69,7 +69,7 @@ public function can_hide_show_instance($instance) { * @return ilios_client */ public function get_api_client(): ilios_client { - return $this->api_client; + return $this->apiclient; } /** @@ -103,29 +103,29 @@ public function get_instance_name($instance) { // $groups = $this->iliosclient->get_by_ids($this->get_api_access_token(), $syncfield.'s', $syncid); // if (!empty($groups)) { - // $group = $groups[0]; - // $groupname = format_string($group->title, true, array('context'=>context::instance_by_id($instance->courseid))); + // $group = $groups[0]; + // $groupname = format_string($group->title, true, array('context'=>context::instance_by_id($instance->courseid))); // } else { $groupname = get_string('pluginshortname', 'enrol_'.$enrol); $syncinfo = json_decode($instance->customtext1); - if (!empty($syncinfo)) { - $schooltitle = $syncinfo->school->title; - $programtitle = $syncinfo->program->shorttitle; - $cohorttitle = $syncinfo->cohort->title; - $groupname .= ": ". $schooltitle ."/".$programtitle."/".$cohorttitle; - if (isset($syncinfo->learnerGroup)) { - $grouptitle = $syncinfo->learnerGroup->title; - $groupname .= '/'.$grouptitle; - } - if (isset($syncinfo->subGroup)) { - $grouptitle = $syncinfo->subGroup->title; - $groupname .= '/'.$grouptitle; - } + if (!empty($syncinfo)) { + $schooltitle = $syncinfo->school->title; + $programtitle = $syncinfo->program->shorttitle; + $cohorttitle = $syncinfo->cohort->title; + $groupname .= ": ". $schooltitle ."/".$programtitle."/".$cohorttitle; + if (isset($syncinfo->learnerGroup)) { + $grouptitle = $syncinfo->learnerGroup->title; + $groupname .= '/'.$grouptitle; + } + if (isset($syncinfo->subGroup)) { + $grouptitle = $syncinfo->subGroup->title; + $groupname .= '/'.$grouptitle; } } + } - if ($role = $DB->get_record('role', array('id'=>$instance->roleid))) { + if ($role = $DB->get_record('role', ['id' => $instance->roleid])) { $role = role_get_name($role, context_course::instance($instance->courseid, IGNORE_MISSING)); if (empty($instance->customint2)) { $groupname .= ' (Learner => '.$role; @@ -150,7 +150,7 @@ public function get_instance_name($instance) { return $groupname; } else { - return format_string($instance->name, true, array('context'=>context_course::instance($instance->courseid))); + return format_string($instance->name, true, ['context' => context_course::instance($instance->courseid)]); } } @@ -162,10 +162,10 @@ public function get_instance_name($instance) { */ public function get_newinstance_link($courseid) { if (!$this->can_add_new_instances($courseid)) { - return NULL; + return null; } // Multiple instances supported - multiple parent courses linked. - return new moodle_url('/enrol/ilios/edit.php', array('courseid'=>$courseid)); + return new moodle_url('/enrol/ilios/edit.php', ['courseid' => $courseid]); } /** @@ -200,12 +200,12 @@ public function get_action_icons(stdClass $instance) { } $context = context_course::instance($instance->courseid); - $icons = array(); + $icons = []; if (has_capability('enrol/ilios:config', $context)) { - $editlink = new moodle_url("/enrol/ilios/edit.php", array('courseid'=>$instance->courseid, 'id'=>$instance->id)); + $editlink = new moodle_url("/enrol/ilios/edit.php", ['courseid' => $instance->courseid, 'id' => $instance->id]); $icons[] = $OUTPUT->action_icon($editlink, new pix_icon('t/edit', get_string('edit'), 'core', - array('class' => 'iconsmall'))); + ['class' => 'iconsmall'])); } return $icons; @@ -219,17 +219,17 @@ public function get_action_icons(stdClass $instance) { * @return int exit code, 0 means ok, 2 means plugin disabled. * @throws \Exception */ - public function sync($trace, $courseid = NULL) { + public function sync($trace, $courseid = null) { global $CFG, $DB; require_once $CFG->dirroot . '/group/lib.php'; - $api_client = $this->get_api_client(); - $access_token = $this->get_api_access_token(); + $apiclient = $this->get_api_client(); + $accesstoken = $this->get_api_access_token(); if (!enrol_is_enabled('ilios')) { // Purge all roles if ilios sync disabled, those can be recreated later here by cron or CLI. $trace->output('Ilios enrolment sync plugin is disabled, unassigning all plugin roles and stopping.'); - role_unassign_all(array('component'=>'enrol_ilios')); + role_unassign_all(['component' => 'enrol_ilios']); return 2; } @@ -240,7 +240,7 @@ public function sync($trace, $courseid = NULL) { $trace->output('Starting user enrolment synchronisation...'); $allroles = get_all_roles(); - $iliosusers = array(); // cache user data + $iliosusers = []; // cache user data $unenrolaction = $this->get_config('unenrolaction', ENROL_EXT_REMOVED_UNENROL); @@ -250,7 +250,7 @@ public function sync($trace, $courseid = NULL) { FROM {enrol} e WHERE e.enrol = 'ilios' $onecourse"; - $params = array(); + $params = []; $params['courseid'] = $courseid; $params['suspended'] = ENROL_USER_SUSPENDED; $instances = $DB->get_recordset_sql($sql, $params); @@ -261,10 +261,10 @@ public function sync($trace, $courseid = NULL) { if (!empty($instance->customint2)) { // Need to get instructor ids. This function takes longer to run. - $group = $this->getGroupData($synctype, $syncid); + $group = $this->get_group_data($synctype, $syncid); } else { // No need to get instructor ids. - $group = $api_client->get_by_id($access_token, $synctype.'s', $syncid); + $group = $apiclient->get_by_id($accesstoken, $synctype.'s', $syncid); } if (empty($group)) { @@ -274,18 +274,18 @@ public function sync($trace, $courseid = NULL) { if (!empty($group)) { - $enrolleduserids = array(); // keep a list of enrolled user's Moodle userid (both learners and instructors). + $enrolleduserids = []; // keep a list of enrolled user's Moodle userid (both learners and instructors). $users = []; // ilios users in that group - $suspendEnrolments = []; // list of user enrollments to suspend + $suspendenrolments = []; // list of user enrollments to suspend $users = []; if (!empty($instance->customint2) && !empty($group->instructors)) { $trace->output("Enrolling instructors to Course ID ".$instance->courseid." with Role ID ".$instance->roleid." through Ilios Sync ID ".$instance->id."."); - $users = $api_client->get_by_ids($access_token, 'users', $group->instructors); - } elseif (!empty($group->users)) { + $users = $apiclient->get_by_ids($accesstoken, 'users', $group->instructors); + } else if (!empty($group->users)) { $trace->output("Enrolling students to Course ID ".$instance->courseid." with Role ID ".$instance->roleid." through Ilios Sync ID ".$instance->id."."); - $users = $api_client->get_by_ids($access_token, 'users', $group->users); + $users = $apiclient->get_by_ids($accesstoken, 'users', $group->users); } $trace->output(count($users) . " Ilios users found."); @@ -294,10 +294,10 @@ public function sync($trace, $courseid = NULL) { if (!isset($iliosusers[$user->id])) { $iliosusers[$user->id] = null; if (!empty($user->campusId)) { - $urec = $DB->get_record('user', array("idnumber" => $user->campusId)); + $urec = $DB->get_record('user', ["idnumber" => $user->campusId]); if (!empty($urec)) { - $iliosusers[$user->id] = array( 'id' => $urec->id, - 'syncfield' => $urec->idnumber ); + $iliosusers[$user->id] = [ 'id' => $urec->id, + 'syncfield' => $urec->idnumber ]; } } } @@ -311,7 +311,7 @@ public function sync($trace, $courseid = NULL) { } else { $enrolleduserids[] = $userid = $iliosusers[$user->id]['id']; - $ue = $DB->get_record('user_enrolments', array('enrolid' => $instance->id, 'userid' => $userid)); + $ue = $DB->get_record('user_enrolments', ['enrolid' => $instance->id, 'userid' => $userid]); // don't enroll disabled ilios users that are currently not enrolled. if (empty($ue) && !$user->enabled) { @@ -326,7 +326,7 @@ public function sync($trace, $courseid = NULL) { // flag actively enrolled users that are disabled in ilios // for enrollment suspension further downstream if (!empty($ue) && ENROL_USER_ACTIVE === (int) $ue->status && !$user->enabled) { - $suspendEnrolments[] = $ue; + $suspendenrolments[] = $ue; continue; } @@ -346,7 +346,7 @@ public function sync($trace, $courseid = NULL) { } // suspend active enrollments for users that are disabled in ilios - foreach ($suspendEnrolments as $ue) { + foreach ($suspendenrolments as $ue) { $trace->output("Suspending enrollment for disabled Ilios user: userid {$ue->userid} ==> courseid {$instance->courseid}.", 1); $this->update_user_enrol($instance, $ue->userid, ENROL_USER_SUSPENDED); } @@ -373,7 +373,7 @@ public function sync($trace, $courseid = NULL) { if ($ue->status != ENROL_USER_SUSPENDED) { $this->update_user_enrol($instance, $ue->userid, ENROL_USER_SUSPENDED); $context = context_course::instance($instance->courseid); - role_unassign_all(array('userid'=>$ue->userid, 'contextid'=>$context->id, 'component'=>'enrol_ilios', 'itemid'=>$instance->id)); + role_unassign_all(['userid' => $ue->userid, 'contextid' => $context->id, 'component' => 'enrol_ilios', 'itemid' => $instance->id]); $trace->output("suspending and unsassigning all roles: userid ".$ue->userid." ==> courseid ".$instance->courseid, 1); } } @@ -394,7 +394,7 @@ public function sync($trace, $courseid = NULL) { JOIN {user} u ON (u.id = ue.userid AND u.deleted = 0) LEFT JOIN {role_assignments} ra ON (ra.contextid = c.id AND ra.userid = ue.userid AND ra.itemid = e.id AND ra.component = 'enrol_ilios' AND e.roleid = ra.roleid) WHERE ue.status = :useractive AND ra.id IS NULL"; - $params = array(); + $params = []; $params['statusenabled'] = ENROL_INSTANCE_ENABLED; $params['useractive'] = ENROL_USER_ACTIVE; $params['coursecontext'] = CONTEXT_COURSE; @@ -415,7 +415,7 @@ public function sync($trace, $courseid = NULL) { JOIN {enrol} e ON (e.id = ra.itemid AND e.enrol = 'ilios' $onecourse) LEFT JOIN {user_enrolments} ue ON (ue.enrolid = e.id AND ue.userid = ra.userid AND ue.status = :useractive) WHERE ra.component = 'enrol_ilios' AND (ue.id IS NULL OR e.status <> :statusenabled)"; - $params = array(); + $params = []; $params['statusenabled'] = ENROL_INSTANCE_ENABLED; $params['useractive'] = ENROL_USER_ACTIVE; $params['coursecontext'] = CONTEXT_COURSE; @@ -438,7 +438,7 @@ public function sync($trace, $courseid = NULL) { JOIN {enrol} e ON (e.enrol = 'ilios' AND e.courseid = g.courseid $onecourse) JOIN {user_enrolments} ue ON (ue.userid = gm.userid AND ue.enrolid = e.id) WHERE gm.component='enrol_ilios' AND gm.itemid = e.id AND g.id <> e.customint6"; - $params = array(); + $params = []; $params['courseid'] = $courseid; $rs = $DB->get_recordset_sql($sql, $params); @@ -456,7 +456,7 @@ public function sync($trace, $courseid = NULL) { JOIN {user} u ON (u.id = ue.userid AND u.deleted = 0) LEFT JOIN {groups_members} gm ON (gm.groupid = g.id AND gm.userid = ue.userid) WHERE gm.id IS NULL"; - $params = array(); + $params = []; $params['courseid'] = $courseid; $rs = $DB->get_recordset_sql($sql, $params); @@ -472,15 +472,15 @@ public function sync($trace, $courseid = NULL) { } // /** - // * Called after updating/inserting course. - // * - // * @param bool $inserted true if course just inserted - // * @param stdClass $course - // * @param stdClass $data form data - // * @return void - // */ + // * Called after updating/inserting course. + // * + // * @param bool $inserted true if course just inserted + // * @param stdClass $course + // * @param stdClass $data form data + // * @return void + // */ // public function course_updated($inserted, $course, $data) { - // // It turns out there is no need for cohorts to deal with this hook, see MDL-34870. + // It turns out there is no need for cohorts to deal with this hook, see MDL-34870. // } /** @@ -525,14 +525,14 @@ public function allow_unenrol_user(stdClass $instance, stdClass $ue) { * @throws \Exception */ public function get_user_enrolment_actions(course_enrolment_manager $manager, $ue) { - $actions = array(); + $actions = []; $context = $manager->get_context(); $instance = $ue->enrolmentinstance; $params = $manager->get_moodlepage()->url->params(); $params['ue'] = $ue->id; if ($this->allow_unenrol_user($instance, $ue) && has_capability('enrol/ilios:unenrol', $context)) { $url = new moodle_url('/enrol/unenroluser.php', $params); - $actions[] = new user_enrolment_action(new pix_icon('t/delete', ''), get_string('unenrol', 'enrol'), $url, array('class'=>'unenrollink', 'rel'=>$ue->id)); + $actions[] = new user_enrolment_action(new pix_icon('t/delete', ''), get_string('unenrol', 'enrol'), $url, ['class' => 'unenrollink', 'rel' => $ue->id]); } return $actions; } @@ -545,15 +545,15 @@ public function get_user_enrolment_actions(course_enrolment_manager $manager, $u * @throws \Exception */ // public function get_manual_enrol_button(course_enrolment_manager $manager) { - // $course = $manager->get_course(); - // if (!$this->can_add_new_instances($course->id)) { - // return false; - // } + // $course = $manager->get_course(); + // if (!$this->can_add_new_instances($course->id)) { + // return false; + // } - // $iliosurl = new moodle_url('/enrol/ilios/edit.php', array('courseid' => $course->id)); - // $button = new enrol_user_button($iliosurl, get_string('enrol', 'enrol_ilios'), 'get'); + // $iliosurl = new moodle_url('/enrol/ilios/edit.php', array('courseid' => $course->id)); + // $button = new enrol_user_button($iliosurl, get_string('enrol', 'enrol_ilios'), 'get'); - // return $button; + // return $button; // } /** @@ -580,7 +580,7 @@ public function restore_instance(restore_enrolments_structure_step $step, stdCla // if ($data->roleid and $DB->record_exists('cohort', array('id'=>$data->customint1))) { if ($data->roleid) { - $instance = $DB->get_record('enrol', array('roleid'=>$data->roleid, 'customint1'=>$data->customint1, 'customchar1'=>$data->customchar1, 'courseid'=>$course->id, 'enrol'=>$this->get_name())); + $instance = $DB->get_record('enrol', ['roleid' => $data->roleid, 'customint1' => $data->customint1, 'customchar1' => $data->customchar1, 'courseid' => $course->id, 'enrol' => $this->get_name()]); if ($instance) { $instanceid = $instance->id; } else { @@ -593,7 +593,7 @@ public function restore_instance(restore_enrolments_structure_step $step, stdCla $trace->finished(); } else if ($this->get_config('unenrolaction') == ENROL_EXT_REMOVED_SUSPENDNOROLES) { - $instance = $DB->get_record('enrol', array('roleid'=>$data->roleid, 'customint1'=>$data->customint1, 'customerchar1'=>$data->customchar1, 'courseid'=>$course->id, 'enrol'=>$this->get_name())); + $instance = $DB->get_record('enrol', ['roleid' => $data->roleid, 'customint1' => $data->customint1, 'customerchar1' => $data->customchar1, 'courseid' => $course->id, 'enrol' => $this->get_name()]); if ($instance) { $instanceid = $instance->id; } else { @@ -632,7 +632,7 @@ public function restore_user_enrolment(restore_enrolments_structure_step $step, // ENROL_EXT_REMOVED_SUSPENDNOROLES means all previous enrolments are restored // but without roles and suspended. - if (!$DB->record_exists('user_enrolments', array('enrolid'=>$instance->id, 'userid'=>$userid))) { + if (!$DB->record_exists('user_enrolments', ['enrolid' => $instance->id, 'userid' => $userid])) { $this->enrol_user($instance, $userid, null, $data->timestart, $data->timeend, ENROL_USER_SUSPENDED); } } @@ -662,14 +662,14 @@ public function restore_group_member($instance, $groupid, $userid) { * also iterate into subgroups. * @throws \Exception */ - public function getGroupData($grouptype, $groupid) { - $api_client = $this->get_api_client(); - $access_token = $this->get_api_access_token(); + public function get_group_data($grouptype, $groupid) { + $apiclient = $this->get_api_client(); + $accesstoken = $this->get_api_access_token(); // Ilios API uses a plural noun, append an 's'. - $group = $api_client->get_by_id($access_token, $grouptype.'s', $groupid ); + $group = $apiclient->get_by_id($accesstoken, $grouptype.'s', $groupid ); if ($group && $grouptype === 'learnerGroup') { - $group->instructors = $this->getInstructorIdsFromGroup($grouptype, $groupid); + $group->instructors = $this->get_instructor_ids_from_group($grouptype, $groupid); asort($group->instructors); } @@ -683,32 +683,32 @@ public function getGroupData($grouptype, $groupid) { * @return array * @throws moodle_exception */ - private function getInstructorIdsFromGroup($grouptype, $groupid) { + private function get_instructor_ids_from_group($grouptype, $groupid) { - $api_client = $this->get_api_client(); - $access_token = $this->get_api_access_token(); + $apiclient = $this->get_api_client(); + $accesstoken = $this->get_api_access_token(); // Ilios API uses a plural noun, append an 's'. - $group = $api_client->get_by_id($access_token, $grouptype.'s', $groupid); + $group = $apiclient->get_by_id($accesstoken, $grouptype.'s', $groupid); - $instructorGroupIds = array(); - $instructorIds = array(); + $instructorgroupids = []; + $instructorids = []; // get instructors/instructor-groups from the offerings that this learner group is being taught in. if (!empty($group->offerings)) { - $offerings = $api_client->get_by_ids($access_token, 'offerings', $group->offerings); + $offerings = $apiclient->get_by_ids($accesstoken, 'offerings', $group->offerings); foreach ($offerings as $offering) { if (empty($offering->instructors)) { // no instructor AND no instructor groups have been set for this offering. // fall back to the default instructors/instructor-groups defined for the learner group. - $instructorIds = array_merge($instructorIds, $group->instructors); - $instructorGroupIds = array_merge($instructorGroupIds, $group->instructorGroups); + $instructorids = array_merge($instructorids, $group->instructors); + $instructorgroupids = array_merge($instructorgroupids, $group->instructorGroups); } else { // if there are instructors and/or instructor-groups set on the offering, // then use these. - $instructorIds = array_merge($instructorIds, $offering->instructors); - $instructorGroupIds = array_merge($instructorGroupIds, $offering->instructorGroups); + $instructorids = array_merge($instructorids, $offering->instructors); + $instructorgroupids = array_merge($instructorgroupids, $offering->instructorGroups); } } @@ -717,19 +717,19 @@ private function getInstructorIdsFromGroup($grouptype, $groupid) { // get instructors/instructor-groups from the ilm sessions that this learner group is being taught in. // (this is a rinse/repeat from offerings-related code above) if (!empty($group->ilmSessions)) { - $ilms = $api_client->get_by_ids($access_token, 'ilmSessions', $group->ilmSessions); + $ilms = $apiclient->get_by_ids($accesstoken, 'ilmSessions', $group->ilmSessions); foreach ($ilms as $ilm) { if (empty($ilm->instructors) && empty($ilm->instructorGroups)) { // no instructor AND no instructor groups have been set for this offering. // fall back to the default instructors/instructor-groups defined for the learner group. - $instructorIds = array_merge($instructorIds, $group->instructors); - $instructorGroupIds = array_merge($instructorGroupIds, $group->instructorGroups); + $instructorids = array_merge($instructorids, $group->instructors); + $instructorgroupids = array_merge($instructorgroupids, $group->instructorGroups); } else { // if there are instructors and/or instructor-groups set on the offering, // then use these. - $instructorIds = array_merge($instructorIds, $ilm->instructors); - $instructorGroupIds = array_merge($instructorGroupIds, $ilm->instructorGroups); + $instructorids = array_merge($instructorids, $ilm->instructors); + $instructorgroupids = array_merge($instructorgroupids, $ilm->instructorGroups); } } } @@ -737,25 +737,25 @@ private function getInstructorIdsFromGroup($grouptype, $groupid) { // get instructors from sub-learnerGroups if (!empty($group->children)) { foreach($group->children as $subgroupid) { - $instructorIds = array_merge($instructorIds, $this->getInstructorIdsFromGroup('learnerGroup', $subgroupid)); + $instructorids = array_merge($instructorids, $this->get_instructor_ids_from_group('learnerGroup', $subgroupid)); // We don't care about instructor groups here, we will merge instructor groups into the $instructorIds array later. } } // next, get the ids of all instructors from the instructor-groups that we determined as relevant earlier. // but first.. let's de-dupe them. - $instructorGroupIds = array_unique($instructorGroupIds); - if (!empty($instructorGroupIds)) { - $instructorGroups = $api_client->get_by_ids($access_token, 'instructorGroups', $instructorGroupIds); - foreach ($instructorGroups as $instructorGroup) { - $instructorIds = array_merge($instructorIds, $instructorGroup->users); + $instructorgroupids = array_unique($instructorgroupids); + if (!empty($instructorgroupids)) { + $instructorgroups = $apiclient->get_by_ids($accesstoken, 'instructorGroups', $instructorgroupids); + foreach ($instructorgroups as $instructorgroup) { + $instructorids = array_merge($instructorids, $instructorgroup->users); } } // finally, we retrieve all the users that were identified as relevant instructors earlier. - $instructorIds = array_unique($instructorIds); + $instructorids = array_unique($instructorids); - return $instructorIds; + return $instructorids; } } diff --git a/settings.php b/settings.php index 10cd44e..13004be 100644 --- a/settings.php +++ b/settings.php @@ -27,11 +27,11 @@ if ($ADMIN->fulltree) { - //--- general settings ----------------------------------------------------------------------------------- + // --- general settings ----------------------------------------------------------------------------------- $settings->add(new admin_setting_heading('enrol_ilios_settings', '', get_string('pluginname_desc', 'enrol_ilios'))); - //--- enrol instance defaults ---------------------------------------------------------------------------- + // --- enrol instance defaults ---------------------------------------------------------------------------- if (!during_initial_install()) { // FIX: Change host to host_url (more descriptive) $settings->add(new admin_setting_configtext('enrol_ilios/host_url', get_string('host_url', 'enrol_ilios'), get_string('host_url_desc', 'enrol_ilios'), 'localhost')); @@ -44,9 +44,9 @@ get_string('defaultlearnerrole', 'enrol_ilios'), '', $student->id, $options)); - $options = array( + $options = [ ENROL_EXT_REMOVED_UNENROL => get_string('extremovedunenrol', 'enrol'), - ENROL_EXT_REMOVED_SUSPENDNOROLES => get_string('extremovedsuspendnoroles', 'enrol')); + ENROL_EXT_REMOVED_SUSPENDNOROLES => get_string('extremovedsuspendnoroles', 'enrol')]; $settings->add(new admin_setting_configselect('enrol_ilios/unenrolaction', get_string('extremovedaction', 'enrol'), get_string('extremovedaction_help', 'enrol'), ENROL_EXT_REMOVED_UNENROL, $options)); } } diff --git a/version.php b/version.php index 6f9bdc9..d367691 100644 --- a/version.php +++ b/version.php @@ -31,6 +31,6 @@ $plugin->release = 'v4.3'; $plugin->supported = [403, 403]; $plugin->maturity = MATURITY_STABLE; -$plugin->dependencies = array( +$plugin->dependencies = [ 'local_iliosapiclient' => 2024032200, -); +];