diff --git a/application/controllers/ViewMessage.php b/application/controllers/ViewMessage.php index 88f46ab3d..a7f588dba 100644 --- a/application/controllers/ViewMessage.php +++ b/application/controllers/ViewMessage.php @@ -22,12 +22,15 @@ class ViewMessage extends CI_Controller public function __construct() { parent::__construct(); - $this->load->library('MessageLib'); + + // Load model MessageToken_model + $this->load->model('system/MessageToken_model', 'MessageTokenModel'); } public function toHTML($token) { - $msg = $this->messagelib->getMessageByToken($token); + $msg = $this->MessageTokenModel->getMessageByToken($token); + if ($msg->error) { show_error($msg->retval); diff --git a/application/models/system/MessageToken_model.php b/application/models/system/MessageToken_model.php new file mode 100644 index 000000000..c724478bf --- /dev/null +++ b/application/models/system/MessageToken_model.php @@ -0,0 +1,49 @@ +config->load('message'); + + // Load return message helper + $this->load->helper('message'); + + // Loads the database object + $this->load->database(); + } + + /** + * Get a received message identified by token + */ + public function getMessageByToken($token) + { + $sql = 'SELECT r.message_id, + m.person_id as sender_id, + r.person_id as receiver_id, + m.subject, + m.body, + m.insertamum, + m.relationmessage_id, + m.oe_kurzbz, + s.status, + s.statusinfo, + s.insertamum as statusamum + FROM public.tbl_msg_recipient r JOIN public.tbl_msg_message m USING (message_id) + JOIN ( + SELECT * FROM public.tbl_msg_status WHERE status < ? ORDER BY insertamum DESC, status DESC + ) s ON (r.message_id = s.message_id AND r.person_id = s.person_id) + WHERE r.token = ? + LIMIT 1'; + + $result = $this->db->query($sql, array(MSG_STATUS_DELETED, $token)); + + return success($result->result()); + } +} \ No newline at end of file