diff --git a/content/messages.xul.php b/content/messages.xul.php
index 1ba680af0..106fb7104 100644
--- a/content/messages.xul.php
+++ b/content/messages.xul.php
@@ -118,7 +118,7 @@ echo ']>
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/messages/rdf#recipient_id"/>
-
diff --git a/rdf/messages.rdf.php b/rdf/messages.rdf.php
index 5ccf6dd6e..4258d3c6f 100644
--- a/rdf/messages.rdf.php
+++ b/rdf/messages.rdf.php
@@ -46,22 +46,34 @@ SELECT
m.body AS body,
m.insertamum AS insertamum,
m.relationmessage_id AS relationmessage_id,
- (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=m.person_id) as sender,
- (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=r.person_id) as recipient,
+ (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id = m.person_id) as sender,
+ (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id = r.person_id) as recipient,
m.person_id as sender_id,
r.person_id as recipient_id,
- MAX(s.status) as status
-FROM
- public.tbl_msg_message m
- JOIN public.tbl_msg_recipient r USING(message_id)
- JOIN public.tbl_msg_status s USING(message_id)
-WHERE
- r.person_id=".$db->db_add_param($person_id, FHC_INTEGER)."
- OR m.person_id=".$db->db_add_param($person_id, FHC_INTEGER)."
- AND s.person_id=".$db->db_add_param($person_id, FHC_INTEGER)."
+ MAX(ss.status) as status
+FROM public.tbl_msg_message m
+ JOIN public.tbl_msg_recipient r USING(message_id)
+ JOIN public.tbl_msg_status ss ON(r.message_id = ss.message_id AND ss.person_id = r.person_id)
+WHERE m.person_id = ".$db->db_add_param($person_id, FHC_INTEGER)."
GROUP BY m.message_id, m.subject, m.body, m.insertamum, m.relationmessage_id, sender, recipient, sender_id, recipient_id
-ORDER BY
- message_id, status";
+UNION ALL
+SELECT
+ m.message_id AS message_id,
+ m.subject AS subject,
+ m.body AS body,
+ m.insertamum AS insertamum,
+ m.relationmessage_id AS relationmessage_id,
+ (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id = m.person_id) as sender,
+ (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id = r.person_id) as recipient,
+ m.person_id as sender_id,
+ r.person_id as recipient_id,
+ MAX(ss.status) as status
+FROM public.tbl_msg_recipient r
+ JOIN public.tbl_msg_status ss USING(message_id, person_id)
+ JOIN public.tbl_msg_message m USING(message_id)
+WHERE r.person_id = ".$db->db_add_param($person_id, FHC_INTEGER)."
+GROUP BY m.message_id, m.subject, m.body, m.insertamum, m.relationmessage_id, sender, recipient, sender_id, recipient_id
+ORDER BY insertamum";
if($db->db_query($qry))
{
@@ -81,7 +93,7 @@ if($db->db_query($qry))
{
$status = 'Archived';
}
- else if ($row->status == 2)
+ else if ($row->status == 3)
{
$status = 'Deleted';
}