public function sendToSubscribers() { $mailNotificationService = new EmailNotificationService(); $subscriptions = $mailNotificationService->getSubscribersByNotificationId(EmailNotification::LEAVE_APPROVAL); foreach ($subscriptions as $subscription) { if ($subscription instanceof EmailSubscriber) { if ($subscription->getEmailNotification()->getIsEnable() == EmailNotification::ENABLED) { $to = $subscription->getEmail(); try { $this->message->setFrom($this->getSystemFrom()); $this->message->setTo($to); $message = new LeaveApprovalMailContent($this->performer, $this->recipient, $this->leaveRequest, $this->leaveList, $this->requestType); $this->message->setSubject($message->generateSubscriberSubject()); $this->message->setBody($message->generateSubscriberBody()); $this->mailer->send($this->message); $logMessage = "Leave application subscription email was sent to {$to}"; $this->logResult('Success', $logMessage); } catch (Exception $e) { $logMessage = "Couldn't send leave application subscription email to {$to}"; $logMessage .= '. Reason: ' . $e->getMessage(); $this->logResult('Failure', $logMessage); } } } } }
protected function getSubscribersForEvent($event) { $recipients = array(); $mailNotificationService = new EmailNotificationService(); $subscriptions = $mailNotificationService->getSubscribersByNotificationId($event); foreach ($subscriptions as $subscription) { if ($subscription instanceof EmailSubscriber) { if ($subscription->getEmailNotification()->getIsEnable() == EmailNotification::ENABLED) { $recipients[] = $subscription; } } } return $recipients; }
/** * Send Reviwer Submit email * PerformanceReview $performanceReview * @return boolean */ public function sendReviwerSubmitEmail(PerformanceReview $performanceReview) { try { $mailNotificationService = new EmailNotificationService(); $subscriptions = $mailNotificationService->getSubscribersByNotificationId(EmailNotification::PERFORMANCE_SUBMISSION); foreach ($subscriptions as $subscription) { if ($subscription instanceof EmailSubscriber) { if ($subscription->getEmailNotification()->getIsEnable() == EmailNotification::ENABLED) { $to = $subscription->getEmail(); $content = file_get_contents(sfConfig::get('sf_root_dir') . "/apps/orangehrm/templates/mail/" . self::EMAIL_TEMPLATE_REVIWER_SUBMIT); $varibles = array('#reviwer' => $performanceReview->getReviewer()->getFirstName() . ' ' . $performanceReview->getReviewer()->getLastName(), '#employee' => $performanceReview->getEmployee()->getFirstName() . ' ' . $performanceReview->getEmployee()->getLastName()); $mailBody = strtr($content, $varibles); $mailService = new EmailService(); $mailService->setMessageTo(array($to)); $mailService->setMessageSubject("Performance Review Submitted"); $mailService->setMessageBody($mailBody); @$mailService->sendEmail(); } } } return true; } catch (Exception $e) { throw new AdminServiceException($e->getMessage()); } }