public function view()
{
$message_info = $this->Messages_model->viewMessage((int) $this->input->get('id'), $this->user->getStaffId());
if (!$message_info) {
redirect('messages');
}
$message_id = $message_info['message_id'];
if (empty($message_info['deleted']) and $message_info['message_status'] == '1' and $message_info['item'] === 'staff_id') {
$data['message_folder'] = 'inbox';
} else {
if (empty($message_info['message_status']) and $message_info['sender_id'] == $this->user->getStaffId()) {
$data['message_folder'] = 'draft';
} else {
if (empty($message_info['deleted']) and $message_info['message_status'] === '1' and $message_info['item'] === 'sender_id' and $message_info['sender_id'] == $this->user->getStaffId()) {
$data['message_folder'] = 'sent';
} else {
$data['message_folder'] = 'archive';
}
}
}
$message_folder = $this->input->get('folder');
$previous_uri = (empty($message_folder) or $message_folder === 'inbox') ? 'messages' : 'messages/' . $message_folder;
$this->template->setTitle($this->lang->line('text_title'));
$this->template->setHeading(sprintf($this->lang->line('text_edit_heading'), $this->lang->line('text_view')));
$this->template->setButton($this->lang->line('button_icon_back'), array('class' => 'btn btn-default', 'href' => site_url($previous_uri)));
if ($this->input->post('message_state')) {
if ($this->_updateMessageState($this->input->post('message_state'), $this->user->getStaffId(), $message_folder) === TRUE) {
redirect($previous_uri);
}
} else {
if ($message_info['state'] !== '1') {
$this->_updateMessageState('read', $this->user->getStaffId(), $message_folder, FALSE);
}
}
$message_unread = $this->user->unreadMessageTotal();
$data['folders'] = array('inbox' => array('title' => $this->lang->line('text_inbox'), 'icon' => 'fa-inbox', 'badge' => $message_unread, 'url' => site_url('messages')), 'draft' => array('title' => $this->lang->line('text_draft'), 'icon' => 'fa-file-text-o', 'badge' => '', 'url' => site_url('messages/draft')), 'sent' => array('title' => $this->lang->line('text_sent'), 'icon' => 'fa-paper-plane-o', 'badge' => '', 'url' => site_url('messages/sent')), 'all' => array('title' => $this->lang->line('text_all'), 'icon' => 'fa-briefcase', 'badge' => '', 'url' => site_url('messages/all')), 'archive' => array('title' => $this->lang->line('text_archive'), 'icon' => 'fa-archive', 'badge' => '', 'url' => site_url('messages/archive')));
$data['labels'] = array('account' => array('title' => $this->lang->line('text_account'), 'icon' => 'fa-user', 'url' => page_url() . '?filter_type=account'), 'email' => array('title' => $this->lang->line('text_email'), 'icon' => 'fa-at', 'url' => page_url() . '?filter_type=email'));
$data['message_id'] = $message_info['message_id'];
$data['message_meta_id'] = $message_info['message_meta_id'];
$data['date_added'] = mdate('%H:%i - %d %M %y', strtotime($message_info['date_added']));
$data['send_type'] = $message_info['send_type'];
$data['from'] = $message_info['staff_name'];
$data['recipient'] = ucwords(str_replace('_', ' ', $message_info['recipient']));
$data['subject'] = $message_info['subject'];
$data['body'] = $message_info['body'];
$data['message_deleted'] = $message_info['status'] === '0' ? TRUE : FALSE;
$data['recipients'] = array();
$recipients = $this->Messages_model->getRecipients($message_id);
if ($recipients) {
foreach ($recipients as $recipient) {
if ($recipient['item'] === 'staff_email' or $recipient['item'] === 'staff_id') {
$recipient_name = $recipient['staff_name'];
$recipient_email = !empty($recipient['staff_email']) ? $recipient['staff_email'] : $recipient['value'];
} else {
$recipient_name = $recipient['first_name'] . ' ' . $recipient['last_name'];
$recipient_email = !empty($recipient['email']) ? $recipient['email'] : $recipient['value'];
}
$data['recipients'][] = array('message_meta_id' => $recipient['message_meta_id'], 'message_id' => $recipient['message_id'], 'recipient_name' => empty($recipient_name) ? $recipient_email : $recipient_name, 'recipient_email' => $recipient_email, 'sent' => $recipient['status'] === '1' ? '<i class="fa fa-check-square green"></i>' : '<i class="fa fa-exclamation-circle red"></i>', 'read' => $recipient['state'] === '1' ? '<i class="fa fa-check-square green"></i>' : '--', 'deleted' => empty($recipient['deleted']) ? '--' : '<i class="fa fa-check-square green"></i>');
}
}
$this->template->render('messages_view', $data);
}