diff --git a/calendar/classes/local/event/core_container.php b/calendar/classes/local/event/core_container.php index cc484b9398a..39e62797615 100644 --- a/calendar/classes/local/event/core_container.php +++ b/calendar/classes/local/event/core_container.php @@ -117,6 +117,10 @@ class core_container { $getcallback('action'), $getcallback('visibility'), function ($dbrow) { + if (empty($dbrow->modulename)) { + return false; + } + $instances = get_fast_modinfo($dbrow->courseid)->instances; if (!isset($instances[$dbrow->modulename]) || !isset($instances[$dbrow->modulename][$dbrow->instance])) { diff --git a/calendar/classes/local/event/factories/event_abstract_factory.php b/calendar/classes/local/event/factories/event_abstract_factory.php index 1b3356e6984..477ca303ce2 100644 --- a/calendar/classes/local/event/factories/event_abstract_factory.php +++ b/calendar/classes/local/event/factories/event_abstract_factory.php @@ -127,7 +127,7 @@ abstract class event_abstract_factory implements event_factory_interface { $module = null; $subscription = null; - if ($dbrow->courseid == 0) { + if ($dbrow->courseid == 0 && !empty($dbrow->modulename)) { $cm = get_coursemodule_from_instance($dbrow->modulename, $dbrow->instance); $dbrow->courseid = get_course($cm->course)->id; } @@ -149,15 +149,14 @@ abstract class event_abstract_factory implements event_factory_interface { }); } - if ($dbrow->instance && $dbrow->modulename) { - $modulename = $dbrow->modulename; + if ($dbrow->instance && !empty($dbrow->modulename)) { $module = new module_std_proxy( $dbrow->modulename, $dbrow->instance, function($modulename, $instance) { return \core_calendar\api::get_module_cached( $this->modulecachereference, - $modulename, + $dbrow->modulename, $instance ); }