Esempio n. 1
0
 protected function _getIssueRelatedUsers(Issue $issue, $postedby = null)
 {
     $u_id = $postedby instanceof User ? $postedby->getID() : $postedby;
     $users = $issue->getSubscribers();
     foreach ($users as $key => $user) {
         if ($user->getNotificationSetting(self::NOTIFY_SUBSCRIBED_ISSUES, true, 'mailing')->isOff()) {
             unset($users[$key]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_UPDATED_SELF, true, 'mailing')->isOff() && $user->getID() == $u_id) {
             unset($users[$key]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_ITEM_ONCE, false, 'mailing')->isOn() && $user->getNotificationSetting(self::NOTIFY_ITEM_ONCE . '_issue_' . $issue->getID(), false, 'mailing')->isOn()) {
             unset($users[$key]);
         }
     }
     return $users;
 }
Esempio n. 2
0
 protected function _getIssueRelatedUsers(Issue $issue, $postedby = null)
 {
     $u_id = $postedby instanceof User ? $postedby->getID() : $postedby;
     $subscribers = $issue->getSubscribers();
     $users = array();
     foreach ($subscribers as $user) {
         $users[$user->getID()] = $user;
         if ($user->getNotificationSetting(self::NOTIFY_SUBSCRIBED_ISSUES, true, 'mailing')->isOff()) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_UPDATED_SELF, true, 'mailing')->isOff() && $user->getID() == $u_id) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_ITEM_ONCE, false, 'mailing')->isOn() && $user->getNotificationSetting(self::NOTIFY_ITEM_ONCE . '_issue_' . $issue->getID(), false, 'mailing')->isOn()) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(framework\Settings::SETTINGS_USER_NOTIFY_ONLY_IN_BOX_WHEN_ACTIVE, false, 'core')->isOn() && $user->isActive()) {
             unset($users[$user->getID()]);
         }
     }
     $mentioned_users = $issue->getMentionedUsers();
     foreach ($mentioned_users as $user) {
         $users[$user->getID()] = $user;
         if ($user->getNotificationSetting(self::NOTIFY_MENTIONED, true, 'mailing')->isOff()) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(self::NOTIFY_ITEM_ONCE, false, 'mailing')->isOn() && $user->getNotificationSetting(self::NOTIFY_ITEM_ONCE . '_issue_' . $issue->getID(), false, 'mailing')->isOn()) {
             unset($users[$user->getID()]);
         }
         if ($user->getNotificationSetting(framework\Settings::SETTINGS_USER_NOTIFY_ONLY_IN_BOX_WHEN_ACTIVE, false, 'core')->isOn() && $user->isActive()) {
             unset($users[$user->getID()]);
         }
     }
     return $users;
 }