@@ -65,22 +65,25 @@ public function get_course_recordset_where($triggerid) {
6565
6666 $ exclude = settings_manager::get_settings ($ triggerid , settings_type::TRIGGER )['exclude ' ];
6767 $ categories = settings_manager::get_settings ($ triggerid , settings_type::TRIGGER )['categories ' ];
68- $ categories = explode (', ' , $ categories );
69- // Use core_course_category for moodle 3.6 and higher.
70- if ($ CFG ->version >= 2018120300 ) {
71- $ categoryobjects = \core_course_category::get_many ($ categories );
72- } else {
73- require_once ($ CFG ->libdir . '/coursecatlib.php ' );
74- $ categoryobjects = \coursecat::get_many ($ categories );
75- }
76- $ allcategories = [];
77- foreach ($ categories as $ category ) {
78- array_push ($ allcategories , $ category );
79- if (!isset ($ categoryobjects [$ category ]) || !$ categoryobjects [$ category ]) {
80- continue ;
68+ if ($ categories = explode (', ' , $ categories )) {
69+ // Use core_course_category for moodle 3.6 and higher.
70+ if ($ CFG ->version >= 2018120300 ) {
71+ $ categoryobjects = \core_course_category::get_many ($ categories );
72+ } else {
73+ require_once ($ CFG ->libdir . '/coursecatlib.php ' );
74+ $ categoryobjects = \coursecat::get_many ($ categories );
75+ }
76+ $ allcategories = [];
77+ foreach ($ categories as $ category ) {
78+ array_push ($ allcategories , $ category );
79+ if (!isset ($ categoryobjects [$ category ]) || !$ categoryobjects [$ category ]) {
80+ continue ;
81+ }
82+ $ children = $ categoryobjects [$ category ]->get_all_children_ids ();
83+ $ allcategories = array_merge ($ allcategories , $ children );
8184 }
82- $ children = $ categoryobjects [ $ category ]-> get_all_children_ids ();
83- $ allcategories = array_merge ( $ allcategories , $ children ) ;
85+ } else {
86+ $ allcategories = [ 0 ] ;
8487 }
8588
8689 [$ insql , $ inparams ] = $ DB ->get_in_or_equal ($ allcategories , SQL_PARAMS_NAMED , 'param ' , !$ exclude );
0 commit comments