/** * Get subscribers for the echo notifications * @param EchoEvent $event * @param type $users * @return boolean */ public function onEchoGetDefaultNotifiedUsers($event, &$users) { $aTmpUsers = array_unique(array_merge(BsConfig::getUsersForVar($this->aEchoPrefix['web'] . $event->getType() . '-cat', '1', false, false), BsConfig::getUsersForVar($this->aEchoPrefix['email'] . $event->getType() . '-cat', '1', false, false))); foreach ($aTmpUsers as $index => $user) { if (!$user->getOption('MW::Notifications::Active', false)) { continue; } if ($event->getTitle() instanceof Title) { if (!$event->getTitle()->userCan('read', $user)) { continue; } if (is_array($user->getOption('MW::Notifications::NotifyNS', array()))) { if (!in_array($event->getTitle()->getNamespace(), $user->getOption('MW::Notifications::NotifyNS', array()))) { continue; } } } if ($event->getAgent() instanceof User) { if ($event->getAgent()->getRequest()->getVal('wpMinoredit', false) && $user->getOption('MW::Notifications::NotifyNoMinor', false)) { continue; } } $users[] = $user; } return true; }