diff --git a/lib/activitymanager.php b/lib/private/activitymanager.php similarity index 60% rename from lib/activitymanager.php rename to lib/private/activitymanager.php index c1338d873f..7e7e225787 100755 --- a/lib/activitymanager.php +++ b/lib/private/activitymanager.php @@ -10,24 +10,44 @@ namespace OC; use OCP\Activity\IConsumer; +use OCP\Activity\IManager; -class ActivityManager implements \OCP\Activity\IManager { +class ActivityManager implements IManager { private $consumers = array(); /** * @param $app * @param $subject + * @param $subjectParams * @param $message + * @param $messageParams * @param $file * @param $link + * @param $affectedUser + * @param $type + * @param $priority * @return mixed */ - function publishActivity($app, $subject, $message, $file, $link) { + function publishActivity($app, $subject, $subjectParams, $message, $messageParams, $file, $link, $affectedUser, $type, $priority) { foreach($this->consumers as $consumer) { $c = $consumer(); if ($c instanceof IConsumer) { - $c->receive($app, $subject, $message, $file, $link); + try { + $c->receive( + $app, + $subject, + $subjectParams, + $message, + $messageParams, + $file, + $link, + $affectedUser, + $type, + $priority); + } catch (\Exception $ex) { + // TODO: log the excepetion + } } } @@ -45,4 +65,5 @@ class ActivityManager implements \OCP\Activity\IManager { function registerConsumer(\Closure $callable) { array_push($this->consumers, $callable); } + } diff --git a/lib/public/activity/iconsumer.php b/lib/public/activity/iconsumer.php index 4b82bc01b0..ca9bd5096b 100644 --- a/lib/public/activity/iconsumer.php +++ b/lib/public/activity/iconsumer.php @@ -24,6 +24,19 @@ namespace OCP\Activity; interface IConsumer { - function receive($app, $subject, $message, $file, $link); + /** + * @param $app + * @param $subject + * @param $subjectParams + * @param $message + * @param $messageParams + * @param $file + * @param $link + * @param $affectedUser + * @param $type + * @param $priority + * @return mixed + */ + function receive($app, $subject, $subjectParams, $message, $messageParams, $file, $link, $affectedUser, $type, $priority ); } diff --git a/lib/public/activity/imanager.php b/lib/public/activity/imanager.php index 9cba2db7e7..99ac2a1958 100644 --- a/lib/public/activity/imanager.php +++ b/lib/public/activity/imanager.php @@ -28,12 +28,17 @@ interface IManager { /** * @param $app * @param $subject + * @param $subjectParams * @param $message + * @param $messageParams * @param $file * @param $link + * @param $affectedUser + * @param $type + * @param $priority * @return mixed */ - function publishActivity($app, $subject, $message, $file, $link); + function publishActivity($app, $subject, $subjectParams, $message, $messageParams, $file, $link, $affectedUser, $type, $priority); /** * In order to improve lazy loading a closure can be registered which will be called in case