Skip to content
Snippets Groups Projects
Commit a8ec9bcb authored by Andy Hubert's avatar Andy Hubert Committed by Ryan Smith
Browse files

fix: Prevents one transformer error disabling the plugin (Thanks @AndyHubert). (#208)

parent 1ff09f44
No related branches found
No related tags found
No related merge requests found
...@@ -19,20 +19,26 @@ defined('MOODLE_INTERNAL') || die(); ...@@ -19,20 +19,26 @@ defined('MOODLE_INTERNAL') || die();
function handler(array $config, array $events) { function handler(array $config, array $events) {
$eventfunctionmap = get_event_function_map(); $eventfunctionmap = get_event_function_map();
$transformedevents = array_map(function ($event) use ($config, $eventfunctionmap) { $transformedevents = array_filter(array_map(function ($event) use ($config, $eventfunctionmap) {
$eventobj = (object) $event; $eventobj = (object) $event;
$eventname = $eventobj->eventname; try {
$eventfunctionname = $eventfunctionmap[$eventname]; $eventname = $eventobj->eventname;
$eventfunction = '\src\transformer\events\\' . $eventfunctionname; $eventfunctionname = $eventfunctionmap[$eventname];
$eventconfig = array_merge([ $eventfunction = '\src\transformer\events\\' . $eventfunctionname;
'event_function' => $eventfunction, $eventconfig = array_merge([
], $config); 'event_function' => $eventfunction,
$eventstatements = $eventfunction($eventconfig, $eventobj); ], $config);
$transformedevent = [ $eventstatements = $eventfunction($eventconfig, $eventobj);
'eventid' => $eventobj->id, $transformedevent = [
'statements' => $eventstatements, 'eventid' => $eventobj->id,
]; 'statements' => $eventstatements,
return $transformedevent; ];
}, $events); return $transformedevent;
} catch (\Exception $e) {
$logerror = $config['log_error'];
$logerror("Caught exception for event id #" . $eventobj->id . ": " . $e->getMessage(), "\n");
return null;
}
}, $events));
return $transformedevents; return $transformedevents;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment