/** Send event notification to the list of users ($people) * * @param ProjectEvent $event Event * @param array $people * @return boolean * @throws NotifierConnectionError */ static function notifEventAssistance(ProjectEvent $event, EventInvitation $invitation, $from_user, $invs = null) { if (!$event instanceof ProjectEvent || !$invitation instanceof EventInvitation || !$event->getCreatedBy() instanceof Contacts || !$from_user instanceof Contact) { return; } tpl_assign('event', $event); tpl_assign('invitation', $invitation); tpl_assign('from_user', $from_user); $assist = array(); $not_assist = array(); $pending = array(); if (isset($invs)) { foreach ($invs as $inv) { if ($inv->getUserId() == $from_user->getId()) { continue; } $decision = $inv->getInvitationState(); $user_name = Contacts::findById($inv->getUserId())->getObjectName(); if ($decision == 1) { $assist[] = $user_name; } else { if ($decision == 2) { $not_assist[] = $user_name; } else { $pending[] = $user_name; } } } } tpl_assign('assist', $assist); tpl_assign('not_assist', $not_assist); tpl_assign('pending', $pending); $people = array($event->getCreatedBy()); $recepients = array(); foreach ($people as $user) { $locale = $user->getLocale(); Localization::instance()->loadSettings($locale, ROOT . '/language'); $date = Localization::instance()->formatDescriptiveDate($event->getStart(), $user->getTimezone()); if ($event->getTypeId() != 2) { $date .= " " . Localization::instance()->formatTime($event->getStart(), $user->getTimezone()); } tpl_assign('date', $date); $toemail = $user->getEmailAddress(); if (!$toemail) { continue; } self::queueEmail(array(self::prepareEmailAddress($toemail, $user->getObjectName())), null, null, self::prepareEmailAddress($from_user->getEmailAddress(), $from_user->getObjectName()), lang('event invitation response') . ': ' . $event->getSubject(), tpl_fetch(get_template_path('event_inv_response_notif', 'notifier'))); // send } // foreach $locale = logged_user() instanceof Contact ? logged_user()->getLocale() : DEFAULT_LOCALIZATION; Localization::instance()->loadSettings($locale, ROOT . '/language'); }