Messages::view PHP Method

view() public method

public view ( )
    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);
    }