Skip to content

Commit 7331cb8

Browse files
authored
Merge pull request #25 from learnweb/update/m404
Update for Moodle 4.4 and Codestyle
2 parents 553cb1f + c506b02 commit 7331cb8

18 files changed

+166
-189
lines changed

.github/workflows/moodle-ci.yml

Lines changed: 22 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ jobs:
99
strategy:
1010
matrix:
1111
php: ['8.2']
12-
moodle-branch: ['MOODLE_403_STABLE']
12+
moodle-branch: ['MOODLE_404_STABLE']
1313
database: ['pgsql']
1414

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

1919
- name: Check out repository code
20-
uses: actions/checkout@v3
20+
uses: actions/checkout@v4
2121
with:
2222
path: plugin
2323

@@ -28,29 +28,9 @@ jobs:
2828
ini-values: max_input_vars=5000
2929
coverage: none
3030

31-
- name: Get composer cache directory
32-
id: composer-cache
33-
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
34-
35-
- name: Composer cache
36-
uses: actions/cache@v3
37-
with:
38-
path: ${{ steps.composer-cache.outputs.dir }}
39-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
40-
restore-keys: |
41-
${{ runner.os }}-composer-
42-
43-
- name: npm cache
44-
uses: actions/cache@v3
45-
with:
46-
path: ~/.npm
47-
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
48-
restore-keys: |
49-
${{ runner.os }}-node-
50-
5131
- name: Initialise moodle-plugin-ci
5232
run: |
53-
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
33+
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^4
5434
echo $(cd ci/bin; pwd) >> $GITHUB_PATH
5535
echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH
5636
sudo locale-gen en_AU.UTF-8
@@ -67,10 +47,6 @@ jobs:
6747
if: ${{ always() }}
6848
run: moodle-plugin-ci phplint
6949

70-
- name: PHP Copy/Paste Detector
71-
if: ${{ always() }}
72-
run: moodle-plugin-ci phpcpd
73-
7450
- name: PHP Mess Detector
7551
if: ${{ always() }}
7652
run: moodle-plugin-ci phpmd
@@ -82,7 +58,6 @@ jobs:
8258
- name: Moodle PHPDoc Checker
8359
if: ${{ always() }}
8460
run: moodle-plugin-ci phpdoc
85-
continue-on-error: true
8661

8762
- name: Validating
8863
if: ${{ always() }}
@@ -108,30 +83,20 @@ jobs:
10883
fail-fast: false
10984
matrix:
11085
php: ['8.0', '8.1', '8.2']
111-
moodle-branch: ['MOODLE_401_STABLE', 'MOODLE_402_STABLE', 'MOODLE_403_STABLE']
86+
moodle-branch: ['MOODLE_401_STABLE', 'MOODLE_402_STABLE', 'MOODLE_403_STABLE', 'MOODLE_404_STABLE']
11287
database: ['mariadb', 'pgsql']
11388
exclude:
89+
- php: '8.0'
90+
moodle-branch: 'MOODLE_404_STABLE'
11491
- php: '8.2'
11592
moodle-branch: 'MOODLE_401_STABLE'
11693
include:
11794
- php: '7.4'
118-
moodle-branch: 'MOODLE_39_STABLE'
119-
database: 'mariadb'
120-
- php: '7.4'
121-
moodle-branch: 'MOODLE_39_STABLE'
122-
database: 'pgsql'
123-
- php: '8.0'
124-
moodle-branch: 'MOODLE_311_STABLE'
125-
database: 'mariadb'
126-
- php: '8.0'
127-
moodle-branch: 'MOODLE_311_STABLE'
95+
moodle-branch: 'MOODLE_401_STABLE'
12896
database: 'pgsql'
129-
- php: '8.0'
130-
moodle-branch: 'MOODLE_400_STABLE'
97+
- php: '7.4'
98+
moodle-branch: 'MOODLE_401_STABLE'
13199
database: 'mariadb'
132-
- php: '8.0'
133-
moodle-branch: 'MOODLE_400_STABLE'
134-
database: 'pgsql'
135100

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

145110
- name: Check out repository code
146-
uses: actions/checkout@v3
111+
uses: actions/checkout@v4
147112
with:
148113
path: plugin
149114

@@ -154,24 +119,6 @@ jobs:
154119
ini-values: max_input_vars=5000
155120
coverage: none
156121

157-
- name: Get composer cache directory
158-
id: composer-cache
159-
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
160-
- name: Composer cache
161-
uses: actions/cache@v3
162-
with:
163-
path: ${{ steps.composer-cache.outputs.dir }}
164-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
165-
restore-keys: |
166-
${{ runner.os }}-composer-
167-
- name: npm cache
168-
uses: actions/cache@v3
169-
with:
170-
path: ~/.npm
171-
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
172-
restore-keys: |
173-
${{ runner.os }}-node-
174-
175122
- name: Initialise moodle-plugin-ci
176123
run: |
177124
composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
@@ -194,3 +141,15 @@ jobs:
194141
- name: Behat features
195142
if: ${{ always() }}
196143
run: moodle-plugin-ci behat --profile chrome --auto-rerun 0
144+
145+
# This step allows to upload Behat faildump (screenshots) as workflow artifact,
146+
# so it can be downloaded and inspected. You don't need this step if you
147+
# are not running Behat test. Artifact will be retained for 7 days.
148+
- name: Upload Behat Faildump
149+
if: ${{ failure() && steps.behat.outcome == 'failure' }}
150+
uses: actions/upload-artifact@v4
151+
with:
152+
name: Behat Faildump (${{ join(matrix.*, ', ') }})
153+
path: ${{ github.workspace }}/moodledata/behat_dump
154+
retention-days: 7
155+
if-no-files-found: ignore

backup/moodle2/backup_groupmembers_stepslib.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,20 @@
2727
*/
2828
class backup_groupmembers_activity_structure_step extends backup_activity_structure_step {
2929

30+
/**
31+
* Define structure for backup step.
32+
*/
3033
protected function define_structure() {
3134

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

3538
// Define each element separated.
36-
$groupmembers = new backup_nested_element('groupmembers', array('id'),
37-
array('name', 'intro', 'introformat', 'listgroupingid', 'showgroups', 'showemail', 'timemodified'));
39+
$groupmembers = new backup_nested_element('groupmembers', ['id'],
40+
['name', 'intro', 'introformat', 'listgroupingid', 'showgroups', 'showemail', 'timemodified']);
3841

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

4245
// Define id annotations.
4346

backup/moodle2/restore_groupmembers_activity_task.class.php

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
1616

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

54-
$contents[] = new restore_decode_content('groupmembers', array('intro'), 'groupmembers');
57+
$contents[] = new restore_decode_content('groupmembers', ['intro'], 'groupmembers');
5558

5659
return $contents;
5760
}
@@ -61,7 +64,7 @@ public static function define_decode_contents() {
6164
* to the activity to be executed by the link decoder
6265
*/
6366
public static function define_decode_rules() {
64-
$rules = array();
67+
$rules = [];
6568

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

7376
/**
7477
* Define the restore log rules that will be applied
75-
* by the {@link restore_logs_processor} when restoring
78+
* by the {@see restore_logs_processor} when restoring
7679
* groupmembers logs. It must return one array
77-
* of {@link restore_log_rule} objects
80+
* of {@see restore_log_rule} objects
7881
*/
7982
public static function define_restore_log_rules() {
80-
$rules = array();
83+
$rules = [];
8184

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

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

8790
/**
8891
* Define the restore log rules that will be applied
89-
* by the {@link restore_logs_processor} when restoring
92+
* by the {@see restore_logs_processor} when restoring
9093
* course logs. It must return one array
91-
* of {@link restore_log_rule} objects
94+
* of {@see restore_log_rule} objects
9295
*
9396
* Note this rules are applied when restoring course logs
9497
* by the restore final task, but are defined here at
9598
* activity level. All them are rules not linked to any module instance (cmid = 0)
9699
*/
97100
public static function define_restore_log_rules_for_course() {
98-
$rules = array();
101+
$rules = [];
99102

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

backup/moodle2/restore_groupmembers_stepslib.php

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,33 @@
1515
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
1616

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

23-
/**
24-
* Define all the restore steps that will be used by the restore_groupmembers_activity_task
25-
*/
26-
2724
/**
2825
* Structure step to restore one groupmembers activity
2926
*/
3027
class restore_groupmembers_activity_structure_step extends restore_activity_structure_step {
3128

29+
/**
30+
* Define structure of restore step.
31+
*/
3232
protected function define_structure() {
3333

34-
$paths = array();
34+
$paths = [];
3535
$paths[] = new restore_path_element('groupmembers', '/activity/groupmembers');
3636

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

41+
/**
42+
* Restore groupmember activity.
43+
* @param object $data groupmember activity data to be restored.
44+
*/
4145
protected function process_groupmembers($data) {
4246
global $DB;
4347

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

57+
/**
58+
* Restore related files after execute.
59+
*/
5360
protected function after_execute() {
5461
// Add groupmembers related files, no need to match by itemname (just internally handled context).
5562
$this->add_related_files('mod_groupmembers', 'intro', null);

classes/event/course_module_viewed.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@ protected function init() {
5555
* @return array Mapping according to the definition above
5656
*/
5757
public static function get_objectid_mapping() {
58-
return array('db' => 'groupmembers', 'restore' => 'groupmembers');
58+
return ['db' => 'groupmembers', 'restore' => 'groupmembers'];
5959
}
6060
}

classes/groups.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class groups {
4747
* 'group' => \stdClass, 'members' => array[\stdClass], 'ismember' => bool ]
4848
*/
4949
public static function get_groups_and_members($courseid, $groupingid, $userid, $onlyown) {
50-
$groupsandmembers = array();
50+
$groupsandmembers = [];
5151

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

6767
// Get members of group.
6868
$members = groups_get_members($group->id);
69-
$groupsandmembers[] = array(
69+
$groupsandmembers[] = [
7070
'group' => $group,
7171
'members' => $members,
72-
'ismember' => $ismember
73-
);
72+
'ismember' => $ismember,
73+
];
7474
}
7575

7676
return $groupsandmembers;

db/access.php

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,30 +25,30 @@
2525

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

28-
$capabilities = array(
28+
$capabilities = [
2929

30-
'mod/groupmembers:view' => array(
30+
'mod/groupmembers:view' => [
3131
'captype' => 'read',
3232
'contextlevel' => CONTEXT_MODULE,
33-
'archetypes' => array(
33+
'archetypes' => [
3434
'guest' => CAP_ALLOW,
3535
'student' => CAP_ALLOW,
3636
'teacher' => CAP_ALLOW,
3737
'editingteacher' => CAP_ALLOW,
38-
'manager' => CAP_ALLOW
39-
)
40-
),
38+
'manager' => CAP_ALLOW,
39+
],
40+
],
4141

42-
'mod/groupmembers:addinstance' => array(
42+
'mod/groupmembers:addinstance' => [
4343
'riskbitmask' => RISK_XSS,
4444
'captype' => 'write',
4545
'contextlevel' => CONTEXT_COURSE,
46-
'archetypes' => array(
46+
'archetypes' => [
4747
'editingteacher' => CAP_ALLOW,
48-
'manager' => CAP_ALLOW
49-
),
50-
'clonepermissionsfrom' => 'moodle/course:manageactivities'
51-
),
52-
);
48+
'manager' => CAP_ALLOW,
49+
],
50+
'clonepermissionsfrom' => 'moodle/course:manageactivities',
51+
],
52+
];
5353

5454

db/events.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

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

28-
$handlers = array();
28+
$handlers = [];
2929

3030
/* List of events thrown from groupmembers module
3131

db/upgrade.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
2424
*/
2525

26-
defined('MOODLE_INTERNAL') || die();
27-
2826
/**
2927
* Upgrade script (no-op)
3028
* @param int $oldversion Version number before update

0 commit comments

Comments
 (0)