@@ -76,13 +76,23 @@ public static function group_member_added(event\group_member_added $event) {
76
76
return false ;
77
77
}
78
78
79
+ global $ DB ;
79
80
$ pluginconfig = get_config ('local_autogroup ' );
81
+
82
+ // Add to manually assigned list (local_autogroup_manual).
83
+ $ userid = (int ) $ event ->relateduserid ;
84
+ $ groupid = (int ) $ event ->objectid ;
85
+
86
+ if (!$ DB ->record_exists ('local_autogroup_manual ' , array ('userid ' => $ userid , 'groupid ' => $ groupid ))) {
87
+ $ record = (object ) array ('userid ' => $ userid , 'groupid ' => $ groupid );
88
+ $ DB ->insert_record ('local_autogroup_manual ' , $ record );
89
+ }
90
+ // End of add to manually assigned list (local_autogroup_manual)
91
+
80
92
if (!$ pluginconfig ->listenforgroupmembership ){
81
93
return false ;
82
94
}
83
95
84
- global $ DB ;
85
-
86
96
$ courseid = (int ) $ event ->courseid ;
87
97
$ userid = (int ) $ event ->relateduserid ;
88
98
@@ -101,10 +111,17 @@ public static function group_member_removed(event\group_member_removed $event) {
101
111
return false ;
102
112
}
103
113
114
+ global $ DB , $ PAGE ;
104
115
$ pluginconfig = get_config ('local_autogroup ' );
105
116
117
+ // Remove from manually assigned list (local_autogroup_manual).
118
+ $ userid = (int ) $ event ->relateduserid ;
119
+ $ groupid = (int ) $ event ->objectid ;
106
120
107
- global $ DB , $ PAGE ;
121
+ if ($ DB ->record_exists ('local_autogroup_manual ' , array ('userid ' => $ userid , 'groupid ' => $ groupid ))) {
122
+ $ DB ->delete_records ('local_autogroup_manual ' , array ('userid ' => $ userid , 'groupid ' => $ groupid ));
123
+ }
124
+ // End of remove from manually assigned list (local_autogroup_manual)
108
125
109
126
$ groupid = (int ) $ event ->objectid ;
110
127
$ courseid = (int ) $ event ->courseid ;
@@ -174,16 +191,22 @@ public static function group_change(event\base $event) {
174
191
return false ;
175
192
}
176
193
177
- $ pluginconfig = get_config ('local_autogroup ' );
178
- if (!$ pluginconfig ->listenforgroupchanges ){
179
- return false ;
180
- }
181
-
182
194
global $ DB , $ PAGE ;
183
195
184
196
$ courseid = (int ) $ event ->courseid ;
185
197
$ groupid = (int ) $ event ->objectid ;
186
198
199
+ // Remove from manually assigned list (local_autogroup_manual).
200
+ if ($ event ->eventname === '\core\event\group_deleted ' ) {
201
+ $ DB ->delete_records ('local_autogroup_manual ' , array ('groupid ' => $ groupid ));
202
+ }
203
+ // End of remove from manually assigned list (local_autogroup_manual)
204
+
205
+ $ pluginconfig = get_config ('local_autogroup ' );
206
+ if (!$ pluginconfig ->listenforgroupchanges ){
207
+ return false ;
208
+ }
209
+
187
210
if ($ DB ->record_exists ('groups ' , array ('id ' =>$ groupid ))) {
188
211
$ verifygroupidnumber = new usecase \verify_group_idnumber ($ groupid , $ DB , $ PAGE );
189
212
$ verifygroupidnumber ();
0 commit comments