diff --git a/application/libraries/MessageLib.php b/application/libraries/MessageLib.php index 038935b17..e4176c80e 100644 --- a/application/libraries/MessageLib.php +++ b/application/libraries/MessageLib.php @@ -236,27 +236,21 @@ class MessageLib */ function sendMessageVorlage($sender_id, $receiver_id, $vorlage_kurzbz, $oe_kurzbz, $data, $orgform_kurzbz = null) { - var_dump($data); - - exit; - if (!is_numeric($sender_id) || !is_numeric($receiver_id)) return $this->_invalid_id(MSG_ERR_INVALID_MSG_ID); - $result = $this->ci->vorlagelib->getVorlage($vorlage_kurzbz); + $result = $this->ci->vorlagelib->loadVorlagetext($vorlage_kurzbz, $oe_kurzbz, $orgform_kurzbz); if (is_object($result) && $result->error == EXIT_SUCCESS) { if (is_array($result->retval) && count($result->retval) > 0) { $parsedText = $this->ci->vorlagelib->parseVorlagetext($result->retval[0]->text, $data); - error_log($parsedText); - $this->ci->db->trans_start(false); //save Message $msgData = array( 'person_id' => $sender_id, - //'subject' => $subject, + 'subject' => $result->retval[0]->subject, 'body' => $parsedText, 'priority' => PRIORITY_NORMAL, //'relationmessage_id' => $relationmessage_id, @@ -272,22 +266,27 @@ class MessageLib 'message_id' => $msg_id ); $result = $this->ci->RecipientModel->insert($recipientData); - /*if (is_object($result) && $result->error == EXIT_SUCCESS) + if (is_object($result) && $result->error == EXIT_SUCCESS) { - - }*/ + $statusData = array( + 'message_id' => $msg_id, + 'person_id' => $receiver_id, + 'status' => MSG_STATUS_UNREAD + ); + $result = $this->ci->MsgStatusModel->insert($statusData); + } } $this->ci->db->trans_complete(); - if ($this->ci->db->trans_status() === FALSE) + if ($this->ci->db->trans_status() === FALSE || (is_object($result) && $result->error != EXIT_SUCCESS)) { - $this->db->trans_rollback(); + $this->ci->db->trans_rollback(); return $this->_error($result->msg, EXIT_ERROR); } else { - $this->db->trans_commit(); + $this->ci->db->trans_commit(); return $this->_success($msg_id); } } diff --git a/application/libraries/VorlageLib.php b/application/libraries/VorlageLib.php index 797b9c5a3..83a35e8c7 100644 --- a/application/libraries/VorlageLib.php +++ b/application/libraries/VorlageLib.php @@ -102,7 +102,11 @@ class VorlageLib if (empty($vorlage_kurzbz)) return $this->_error($this->ci->lang->line('fhc_'.FHC_INVALIDID, false)); - $vorlage = $this->ci->VorlageStudiengangModel->getVorlageStudiengang($vorlage_kurzbz, $oe_kurzbz, $orgform_kurzbz); + $vorlage = $this->ci->VorlageStudiengangModel->loadWhere(array( + 'vorlage_kurzbz' => $vorlage_kurzbz, + 'oe_kurzbz' => $oe_kurzbz, + 'orgform_kurzbz' => $orgform_kurzbz) + ); return $vorlage; } diff --git a/application/models/system/Message_model.php b/application/models/system/Message_model.php index b84fff1c3..0c342ca8c 100644 --- a/application/models/system/Message_model.php +++ b/application/models/system/Message_model.php @@ -82,7 +82,7 @@ public function getMessagesByPerson($person_id, $all) // prepare parameters $person_id = (int)$person_id; // get Data - $sql = 'SELECT person_id, + /*$sql = 'SELECT person_id, message_id, subject, body, @@ -109,10 +109,23 @@ public function getMessagesByPerson($person_id, $all) ) status USING (message_id, person_id) WHERE tbl_msg_status.insertamum=status.insertamum ) s USING (message_id, person_id) - WHERE person_id = ?'; + WHERE person_id = ?';*/ - if (! $all) - $sql .= ' AND (status < 3 OR status IS NULL)'; + $sql = 'SELECT r.message_id, + m.subject, + m.body, + m.insertamum, + m.oe_kurzbz, + s.status, + s.statusinfo, + s.updateamum + FROM public.tbl_msg_recipient r JOIN public.tbl_msg_message m USING (message_id) + JOIN public.tbl_person p ON (p.person_id = m.person_id) + JOIN public.tbl_msg_status s USING (message_id) + WHERE r.person_id = ?'; + + /*if (! $all) + $sql .= ' AND (status < 3 OR status IS NULL)';*/ $result = $this->db->query($sql, array($person_id)); //var_dump($result); if (is_object($result))