From c3ba899abdb890f4e953e3fc560aa26eec369bbe Mon Sep 17 00:00:00 2001 From: Marina Glancy Date: Thu, 6 Mar 2014 16:51:54 +0800 Subject: [PATCH] MDL-40907 events: Allow one event write several entries to the legacy log table --- lib/classes/event/base.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/classes/event/base.php b/lib/classes/event/base.php index 8d9cdf62a15..33870ceec19 100644 --- a/lib/classes/event/base.php +++ b/lib/classes/event/base.php @@ -615,7 +615,14 @@ abstract class base implements \IteratorAggregate { if ($data = $this->get_legacy_logdata()) { $manager = get_log_manager(); if (method_exists($manager, 'legacy_add_to_log')) { - call_user_func_array(array($manager, 'legacy_add_to_log'), $data); + if (is_array($data[0])) { + // Some events require several entries in 'log' table. + foreach ($data as $d) { + call_user_func_array(array($manager, 'legacy_add_to_log'), $d); + } + } else { + call_user_func_array(array($manager, 'legacy_add_to_log'), $data); + } } } }