Example #1
0
 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);
                 }
             }
         }
     }
 }
 public function execute($request)
 {
     $this->setLayout(false);
     sfConfig::set('sf_web_debug', false);
     sfConfig::set('sf_debug', false);
     if ($this->getRequest()->isXmlHttpRequest()) {
         $this->getResponse()->setHttpHeader('Content-Type', 'application/json; charset=utf-8');
     }
     $subscriberId = $request->getParameter('id');
     $service = new EmailNotificationService();
     $subscriber = $service->getSubscriberById($subscriberId);
     return $this->renderText(json_encode($subscriber->toArray()));
 }
 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());
     }
 }