$activities->add_dependency($badges);
$users->add_dependency($badges);
- // Define calendar events (dependent of users)
+ // Define calendar events.
$events = new backup_calendarevents_setting('calendarevents', base_setting::IS_BOOLEAN, true);
$events->set_ui(new backup_setting_ui_checkbox($events, get_string('rootsettingcalendarevents', 'backup')));
$this->add_setting($events);
- $users->add_dependency($events);
// Define completion (dependent of users)
$completion = new backup_userscompletion_setting('userscompletion', base_setting::IS_BOOLEAN, true);
$activities->add_dependency($badges);
$users->add_dependency($badges);
- // Define Calendar events (dependent of users)
+ // Define Calendar events.
$defaultvalue = false; // Safer default
$changeable = false;
if (isset($rootsettings['calendarevents']) && $rootsettings['calendarevents']) { // Only enabled when available
$events->set_ui(new backup_setting_ui_checkbox($events, get_string('rootsettingcalendarevents', 'backup')));
$events->get_ui()->set_changeable($changeable);
$this->add_setting($events);
- $users->add_dependency($events);
// Define completion (dependent of users)
$defaultvalue = false; // Safer default
}
public function process_calendarevents($data) {
- global $DB, $SITE;
+ global $DB, $SITE, $USER;
$data = (object)$data;
$oldid = $data->id;
$restorefiles = true; // We'll restore the files
- // Find the userid and the groupid associated with the event. Return if not found.
+ // Find the userid and the groupid associated with the event.
$data->userid = $this->get_mappingid('user', $data->userid);
if ($data->userid === false) {
- return;
+ // Blank user ID means that we are dealing with module generated events such as quiz starting times.
+ // Use the current user ID for these events.
+ $data->userid = $USER->id;
}
if (!empty($data->groupid)) {
$data->groupid = $this->get_mappingid('group', $data->groupid);