/** * @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); } } } }