Skip to content

Commit

Permalink
Update for Moodle 4.4 and Codestyle
Browse files Browse the repository at this point in the history
  • Loading branch information
justusdieckmann committed Apr 30, 2024
1 parent 553cb1f commit c506b02
Show file tree
Hide file tree
Showing 18 changed files with 166 additions and 189 deletions.
85 changes: 22 additions & 63 deletions .github/workflows/moodle-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ jobs:
strategy:
matrix:
php: ['8.2']
moodle-branch: ['MOODLE_403_STABLE']
moodle-branch: ['MOODLE_404_STABLE']
database: ['pgsql']

steps:
- name: Start PostgreSQL
run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:14

- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: plugin

Expand All @@ -28,29 +28,9 @@ jobs:
ini-values: max_input_vars=5000
coverage: none

- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Composer cache
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: npm cache
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Initialise moodle-plugin-ci
run: |
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^4
echo $(cd ci/bin; pwd) >> $GITHUB_PATH
echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH
sudo locale-gen en_AU.UTF-8
Expand All @@ -67,10 +47,6 @@ jobs:
if: ${{ always() }}
run: moodle-plugin-ci phplint

- name: PHP Copy/Paste Detector
if: ${{ always() }}
run: moodle-plugin-ci phpcpd

- name: PHP Mess Detector
if: ${{ always() }}
run: moodle-plugin-ci phpmd
Expand All @@ -82,7 +58,6 @@ jobs:
- name: Moodle PHPDoc Checker
if: ${{ always() }}
run: moodle-plugin-ci phpdoc
continue-on-error: true

- name: Validating
if: ${{ always() }}
Expand All @@ -108,30 +83,20 @@ jobs:
fail-fast: false
matrix:
php: ['8.0', '8.1', '8.2']
moodle-branch: ['MOODLE_401_STABLE', 'MOODLE_402_STABLE', 'MOODLE_403_STABLE']
moodle-branch: ['MOODLE_401_STABLE', 'MOODLE_402_STABLE', 'MOODLE_403_STABLE', 'MOODLE_404_STABLE']
database: ['mariadb', 'pgsql']
exclude:
- php: '8.0'
moodle-branch: 'MOODLE_404_STABLE'
- php: '8.2'
moodle-branch: 'MOODLE_401_STABLE'
include:
- php: '7.4'
moodle-branch: 'MOODLE_39_STABLE'
database: 'mariadb'
- php: '7.4'
moodle-branch: 'MOODLE_39_STABLE'
database: 'pgsql'
- php: '8.0'
moodle-branch: 'MOODLE_311_STABLE'
database: 'mariadb'
- php: '8.0'
moodle-branch: 'MOODLE_311_STABLE'
moodle-branch: 'MOODLE_401_STABLE'
database: 'pgsql'
- php: '8.0'
moodle-branch: 'MOODLE_400_STABLE'
- php: '7.4'
moodle-branch: 'MOODLE_401_STABLE'
database: 'mariadb'
- php: '8.0'
moodle-branch: 'MOODLE_400_STABLE'
database: 'pgsql'

steps:
- name: Start MariaDB
Expand All @@ -143,7 +108,7 @@ jobs:
run: docker run -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_HOST_AUTH_METHOD=trust -d postgres:14

- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: plugin

Expand All @@ -154,24 +119,6 @@ jobs:
ini-values: max_input_vars=5000
coverage: none

- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Composer cache
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: npm cache
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Initialise moodle-plugin-ci
run: |
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
Expand All @@ -194,3 +141,15 @@ jobs:
- name: Behat features
if: ${{ always() }}
run: moodle-plugin-ci behat --profile chrome --auto-rerun 0

# This step allows to upload Behat faildump (screenshots) as workflow artifact,
# so it can be downloaded and inspected. You don't need this step if you
# are not running Behat test. Artifact will be retained for 7 days.
- name: Upload Behat Faildump
if: ${{ failure() && steps.behat.outcome == 'failure' }}
uses: actions/upload-artifact@v4
with:
name: Behat Faildump (${{ join(matrix.*, ', ') }})
path: ${{ github.workspace }}/moodledata/behat_dump
retention-days: 7
if-no-files-found: ignore
9 changes: 6 additions & 3 deletions backup/moodle2/backup_groupmembers_stepslib.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,20 @@
*/
class backup_groupmembers_activity_structure_step extends backup_activity_structure_step {

/**
* Define structure for backup step.
*/
protected function define_structure() {

// To know if we are including userinfo.
$userinfo = $this->get_setting_value('userinfo');

// Define each element separated.
$groupmembers = new backup_nested_element('groupmembers', array('id'),
array('name', 'intro', 'introformat', 'listgroupingid', 'showgroups', 'showemail', 'timemodified'));
$groupmembers = new backup_nested_element('groupmembers', ['id'],
['name', 'intro', 'introformat', 'listgroupingid', 'showgroups', 'showemail', 'timemodified']);

// Define sources.
$groupmembers->set_source_table('groupmembers', array('id' => backup::VAR_ACTIVITYID));
$groupmembers->set_source_table('groupmembers', ['id' => backup::VAR_ACTIVITYID]);

// Define id annotations.

Expand Down
21 changes: 12 additions & 9 deletions backup/moodle2/restore_groupmembers_activity_task.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

/**
* Groupmembers restore task that provides all the settings and steps to perform one
* complete restore of the activity
*
* @package mod_groupmembers
* @copyright 2019 Justus Dieckmann WWU
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
Expand Down Expand Up @@ -49,9 +52,9 @@ protected function define_my_steps() {
* processed by the link decoder
*/
public static function define_decode_contents() {
$contents = array();
$contents = [];

$contents[] = new restore_decode_content('groupmembers', array('intro'), 'groupmembers');
$contents[] = new restore_decode_content('groupmembers', ['intro'], 'groupmembers');

return $contents;
}
Expand All @@ -61,7 +64,7 @@ public static function define_decode_contents() {
* to the activity to be executed by the link decoder
*/
public static function define_decode_rules() {
$rules = array();
$rules = [];

$rules[] = new restore_decode_rule('GROUPMEMBERVIEWBYID', '/mod/groupmember/view.php?id=$1', 'course_module');
$rules[] = new restore_decode_rule('GROUPMEMBERINDEX', '/mod/groupmember/index.php?id=$1', 'course');
Expand All @@ -72,12 +75,12 @@ public static function define_decode_rules() {

/**
* Define the restore log rules that will be applied
* by the {@link restore_logs_processor} when restoring
* by the {@see restore_logs_processor} when restoring
* groupmembers logs. It must return one array
* of {@link restore_log_rule} objects
* of {@see restore_log_rule} objects
*/
public static function define_restore_log_rules() {
$rules = array();
$rules = [];

$rules[] = new restore_log_rule('groupmembers', 'view', 'view.php?id={course_module}', '{groupmembers}');

Expand All @@ -86,16 +89,16 @@ public static function define_restore_log_rules() {

/**
* Define the restore log rules that will be applied
* by the {@link restore_logs_processor} when restoring
* by the {@see restore_logs_processor} when restoring
* course logs. It must return one array
* of {@link restore_log_rule} objects
* of {@see restore_log_rule} objects
*
* Note this rules are applied when restoring course logs
* by the restore final task, but are defined here at
* activity level. All them are rules not linked to any module instance (cmid = 0)
*/
public static function define_restore_log_rules_for_course() {
$rules = array();
$rules = [];

$rules[] = new restore_log_rule('groupmembers', 'view all', 'index.php?id={course}', null);

Expand Down
17 changes: 12 additions & 5 deletions backup/moodle2/restore_groupmembers_stepslib.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,29 +15,33 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.

/**
* Structure step to restore one groupmembers activity
* @package mod_groupmembers
* @copyright 2019 Justus Dieckmann WWU
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

/**
* Define all the restore steps that will be used by the restore_groupmembers_activity_task
*/

/**
* Structure step to restore one groupmembers activity
*/
class restore_groupmembers_activity_structure_step extends restore_activity_structure_step {

/**
* Define structure of restore step.
*/
protected function define_structure() {

$paths = array();
$paths = [];
$paths[] = new restore_path_element('groupmembers', '/activity/groupmembers');

// Return the paths wrapped into standard activity structure.
return $this->prepare_activity_structure($paths);
}

/**
* Restore groupmember activity.
* @param object $data groupmember activity data to be restored.
*/
protected function process_groupmembers($data) {
global $DB;

Expand All @@ -50,6 +54,9 @@ protected function process_groupmembers($data) {
$this->apply_activity_instance($newitemid);
}

/**
* Restore related files after execute.
*/
protected function after_execute() {
// Add groupmembers related files, no need to match by itemname (just internally handled context).
$this->add_related_files('mod_groupmembers', 'intro', null);
Expand Down
2 changes: 1 addition & 1 deletion classes/event/course_module_viewed.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,6 @@ protected function init() {
* @return array Mapping according to the definition above
*/
public static function get_objectid_mapping() {
return array('db' => 'groupmembers', 'restore' => 'groupmembers');
return ['db' => 'groupmembers', 'restore' => 'groupmembers'];
}
}
8 changes: 4 additions & 4 deletions classes/groups.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class groups {
* 'group' => \stdClass, 'members' => array[\stdClass], 'ismember' => bool ]
*/
public static function get_groups_and_members($courseid, $groupingid, $userid, $onlyown) {
$groupsandmembers = array();
$groupsandmembers = [];

// Fetch relevant groups.
if ($onlyown) {
Expand All @@ -66,11 +66,11 @@ public static function get_groups_and_members($courseid, $groupingid, $userid, $

// Get members of group.
$members = groups_get_members($group->id);
$groupsandmembers[] = array(
$groupsandmembers[] = [
'group' => $group,
'members' => $members,
'ismember' => $ismember
);
'ismember' => $ismember,
];
}

return $groupsandmembers;
Expand Down
26 changes: 13 additions & 13 deletions db/access.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,30 +25,30 @@

defined('MOODLE_INTERNAL') || die();

$capabilities = array(
$capabilities = [

'mod/groupmembers:view' => array(
'mod/groupmembers:view' => [
'captype' => 'read',
'contextlevel' => CONTEXT_MODULE,
'archetypes' => array(
'archetypes' => [
'guest' => CAP_ALLOW,
'student' => CAP_ALLOW,
'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW,
'manager' => CAP_ALLOW
)
),
'manager' => CAP_ALLOW,
],
],

'mod/groupmembers:addinstance' => array(
'mod/groupmembers:addinstance' => [
'riskbitmask' => RISK_XSS,
'captype' => 'write',
'contextlevel' => CONTEXT_COURSE,
'archetypes' => array(
'archetypes' => [
'editingteacher' => CAP_ALLOW,
'manager' => CAP_ALLOW
),
'clonepermissionsfrom' => 'moodle/course:manageactivities'
),
);
'manager' => CAP_ALLOW,
],
'clonepermissionsfrom' => 'moodle/course:manageactivities',
],
];


2 changes: 1 addition & 1 deletion db/events.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

defined('MOODLE_INTERNAL') || die();

$handlers = array();
$handlers = [];

/* List of events thrown from groupmembers module
Expand Down
2 changes: 0 additions & 2 deletions db/upgrade.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

defined('MOODLE_INTERNAL') || die();

/**
* Upgrade script (no-op)
* @param int $oldversion Version number before update
Expand Down
Loading

0 comments on commit c506b02

Please sign in to comment.