public function run() { $users = $this->service->findUserIdListForSend(100); if (empty($users)) { return; } $listEvent = new BASE_CLASS_EventCollector('notifications.send_list', array('userIdList' => $users)); OW::getEventManager()->trigger($listEvent); $notifications = array(); foreach ($listEvent->getData() as $notification) { $itemEvent = new OW_Event('notifications.on_item_send', $notification, $notification['data']); OW::getEventManager()->trigger($itemEvent); $notification['data'] = $itemEvent->getData(); $notifications[$notification['userId']][] = $notification; } foreach ($notifications as $userId => $notificationList) { $this->service->sendPermittedNotifications($userId, $notificationList); } }