OEModule\OphCoMessaging\components\MessageCreator::setMessageTemplate PHP Method

setMessageTemplate() public method

public setMessageTemplate ( $template )
$template
    public function setMessageTemplate($template)
    {
        if (\Yii::getPathOfAlias($template) && is_readable(\Yii::getPathOfAlias($template) . '.php')) {
            $this->messageTemplate = $template;
        }
    }

Usage Example

Example #1
0
 /**
  * @param $episodeId
  * @param $userId
  * @param $examination
  * @param $examinationEvent
  * @throws \CDbException
  */
 protected function createMessage($episodeId, $userId, $examination, $examinationEvent)
 {
     if (isset(\Yii::app()->modules['OphCoMessaging']) && ($examination['patient']['comments'] || $examination['patient']['ready_for_second_eye'] === false)) {
         $episode = \Episode::model()->findByPk($episodeId);
         $recipient = \User::model()->findByPk($episode->firm->consultant_id);
         if ($recipient) {
             $sender = \User::model()->findByPk($userId);
             $type = OphCoMessaging_Message_MessageType::model()->findByAttributes(array('name' => 'General'));
             if ($examination['patient']['ready_for_second_eye'] === false) {
                 $ready = 'No';
             } elseif ($examination['patient']['ready_for_second_eye'] === true) {
                 $ready = 'Yes';
             } else {
                 $ready = 'Not Applicable';
             }
             $messageCreator = new MessageCreator($episode, $sender, $recipient, $type);
             $messageCreator->setMessageTemplate('application.modules.OphCoMessaging.views.templates.optom');
             $messageCreator->setMessageData(array('optom' => $examination['op_tom']['name'] . ' (' . $examination['op_tom']['goc_number'] . ')', 'ready' => $ready, 'comments' => $examination['patient']['comments'], 'patient' => $episode->patient));
             $message = $messageCreator->save('', array('event' => $examinationEvent->id));
             $emailSetting = \SettingInstallation::model()->find('`key` = "optom_comment_alert"');
             if ($emailSetting && $emailSetting->value) {
                 $recipients = explode(',', $emailSetting->value);
                 $messageCreator->emailAlert($recipients, 'New Optom Comment', $message->message_text);
             }
         }
     }
 }