aboutsummaryrefslogtreecommitdiffstats
path: root/include/message.php
diff options
context:
space:
mode:
authorredmatrix <redmatrix@redmatrix.me>2015-09-24 16:58:32 -0700
committerredmatrix <redmatrix@redmatrix.me>2015-09-24 16:58:32 -0700
commit2fe3d16bbed892b2c1287ba876ae54ff502edbad (patch)
tree2732d7fd9e57760665815c770a9bf5e4d4812726 /include/message.php
parent2844f276b9af6154e36706b7fe53438352493d58 (diff)
parentc42dcd5ac9c63cd42c7af1b2765dd33e7e9f5d6d (diff)
downloadvolse-hubzilla-2fe3d16bbed892b2c1287ba876ae54ff502edbad.tar.gz
volse-hubzilla-2fe3d16bbed892b2c1287ba876ae54ff502edbad.tar.bz2
volse-hubzilla-2fe3d16bbed892b2c1287ba876ae54ff502edbad.zip
Merge https://github.com/redmatrix/hubzilla into pending_merge
Diffstat (limited to 'include/message.php')
-rw-r--r--include/message.php34
1 files changed, 23 insertions, 11 deletions
diff --git a/include/message.php b/include/message.php
index efe1a7710..4b0236db8 100644
--- a/include/message.php
+++ b/include/message.php
@@ -262,18 +262,30 @@ function private_messages_list($uid, $mailbox = '', $start = 0, $numitems = 0) {
);
if(! $x)
return array();
- if($mailbox === 'inbox')
- $where = " and sender_xchan != '" . dbesc($x[0]['channel_hash']) . "' ";
- elseif($mailbox === 'outbox')
- $where = " and sender_xchan = '" . dbesc($x[0]['channel_hash']) . "' ";
+
+ $channel_hash = dbesc($x[0]['channel_hash']);
+ $local_channel = intval(local_channel());
+
+ switch($mailbox) {
+
+ case 'inbox':
+ $sql = "SELECT * FROM mail WHERE channel_id = $local_channel AND from_xchan != '$channel_hash' ORDER BY created DESC $limit";
+ break;
+
+ case 'outbox':
+ $sql = "SELECT * FROM mail WHERE channel_id = $local_channel AND from_xchan = '$channel_hash' ORDER BY created DESC $limit";
+ break;
+
+ case 'combined':
+ $sql = "SELECT * FROM ( SELECT * FROM mail WHERE channel_id = $local_channel ORDER BY created DESC $limit ) AS temp_table GROUP BY parent_mid ORDER BY created DESC";
+ break;
+
+ }
+
}
- // For different orderings, consider applying usort on the results. We thought of doing that
- // inside this function or having some preset sorts, but don't wish to limit app developers.
-
- $r = q("SELECT * from mail WHERE channel_id = %d $where order by created desc $limit",
- intval(local_channel())
- );
+ $r = q($sql);
+
if(! $r) {
return array();
}
@@ -437,4 +449,4 @@ function private_messages_fetch_conversation($channel_id, $messageitem_id, $upda
return $messages;
-} \ No newline at end of file
+}