- Fix: Message_model queries does not get body from tbl_msg_message

- Added method getMessagesByUID to Message controller
This commit is contained in:
paolo
2016-06-22 10:34:28 +02:00
parent d425653d86
commit 95801a2e70
2 changed files with 83 additions and 42 deletions
+63 -42
View File
@@ -33,28 +33,39 @@ class Message_model extends DB_Model
}
// get Data
$sql = 'SELECT uid, person_id, message_id, subject, priority, relationmessage_id, oe_kurzbz, m.insertamum, anrede, titelpost, titelpre, nachname, vorname, vornamen,
status, statusinfo, s.insertamum AS statusamum
FROM public.tbl_msg_message m
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_benutzer USING (person_id)
LEFT OUTER JOIN
(
SELECT message_id, person_id, status, statusinfo, tbl_msg_status.insertamum
FROM public.tbl_msg_status
INNER JOIN
(
SELECT message_id, person_id, max(insertamum) AS insertamum
FROM public.tbl_msg_status
GROUP BY message_id, person_id
) status
USING (message_id, person_id)
WHERE tbl_msg_status.insertamum=status.insertamum
) s
USING (message_id, person_id)
WHERE uid = ?';
$sql = 'SELECT uid,
person_id,
message_id,
subject,
body,
priority,
relationmessage_id,
oe_kurzbz,
m.insertamum,
anrede,
titelpost,
titelpre,
nachname,
vorname,
vornamen,
status,
statusinfo,
s.insertamum AS statusamum
FROM public.tbl_msg_message m JOIN public.tbl_person USING (person_id)
JOIN public.tbl_benutzer USING (person_id)
LEFT OUTER JOIN (
SELECT message_id, person_id, status, statusinfo, tbl_msg_status.insertamum
FROM public.tbl_msg_status INNER JOIN (
SELECT message_id, person_id, max(insertamum) AS insertamum
FROM public.tbl_msg_status
GROUP BY message_id, person_id
) status USING (message_id, person_id)
WHERE tbl_msg_status.insertamum=status.insertamum
) s USING (message_id, person_id)
WHERE uid = ?';
if (! $all)
$sql .= ' AND (status<3 OR status IS NULL)';
$sql .= ' AND (status < 3 OR status IS NULL)';
$result = $this->db->query($sql, array($uid));
if (is_object($result))
return $this->_success($result->result());
@@ -71,27 +82,37 @@ public function getMessagesByPerson($person_id, $all)
// prepare parameters
$person_id = (int)$person_id;
// get Data
$sql = 'SELECT person_id, message_id, subject, priority, relationmessage_id, oe_kurzbz, m.insertamum, anrede, titelpost, titelpre, nachname, vorname, vornamen,
status, statusinfo, s.insertamum AS statusamum
FROM public.tbl_msg_message m
JOIN public.tbl_person USING (person_id)
LEFT OUTER JOIN
(
SELECT message_id, person_id, status, statusinfo, tbl_msg_status.insertamum
FROM public.tbl_msg_status
INNER JOIN
(
SELECT message_id, person_id, max(insertamum) AS insertamum
FROM public.tbl_msg_status
GROUP BY message_id, person_id
) status
USING (message_id, person_id)
WHERE tbl_msg_status.insertamum=status.insertamum
) s
USING (message_id, person_id)
WHERE person_id = ?';
$sql = 'SELECT person_id,
message_id,
subject,
body,
priority,
relationmessage_id,
oe_kurzbz,
m.insertamum,
anrede,
titelpost,
titelpre,
nachname,
vorname,
vornamen,
status,
statusinfo,
s.insertamum AS statusamum
FROM public.tbl_msg_message m JOIN public.tbl_person USING (person_id)
LEFT OUTER JOIN (
SELECT message_id, person_id, status, statusinfo, tbl_msg_status.insertamum
FROM public.tbl_msg_status INNER JOIN (
SELECT message_id, person_id, max(insertamum) AS insertamum
FROM public.tbl_msg_status
GROUP BY message_id, person_id
) status USING (message_id, person_id)
WHERE tbl_msg_status.insertamum=status.insertamum
) s USING (message_id, person_id)
WHERE person_id = ?';
if (! $all)
$sql .= ' AND (status<3 OR status IS NULL)';
$sql .= ' AND (status < 3 OR status IS NULL)';
$result = $this->db->query($sql, array($person_id));
//var_dump($result);
if (is_object($result))
@@ -99,4 +120,4 @@ WHERE person_id = ?';
else
return $this->_error($this->db->error(), FHC_DB_ERROR);
}
}
}