aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/message.php28
1 files changed, 3 insertions, 25 deletions
diff --git a/include/message.php b/include/message.php
index 9e8b6be8b..00a1ada38 100644
--- a/include/message.php
+++ b/include/message.php
@@ -4,6 +4,7 @@
require_once('include/crypto.php');
require_once('include/attach.php');
+require_once('include/msglib.php');
function mail_prepare_binary($item) {
@@ -498,31 +499,8 @@ function private_messages_drop($channel_id, $messageitem_id, $drop_conversation
}
else {
xchan_mail_query($x[0]);
- $x[0]['mail_deleted'] = true;
- $r = q("DELETE FROM mail WHERE id = %d AND channel_id = %d",
- intval($messageitem_id),
- intval($channel_id)
- );
-
- // If it was a first message in thread
- $z = q("SELECT * FROM mail WHERE mid = '%s' AND channel_id = %d",
- dbesc($x[0]['parent_mid']),
- intval($channel_id)
- );
- if (! $z) {
- // Get new first message...
- $r = q("SELECT mid, conv_guid FROM mail WHERE conv_guid = '%s' AND channel_id = %d ORDER BY id ASC LIMIT 1",
- dbesc($x[0]['conv_guid']),
- intval($channel_id)
- );
- // ...and refer whole thread to it
- q("UPDATE mail SET parent_mid = '%s', mail_isreply = abs(mail_isreply - 1) WHERE conv_guid = '%s' AND channel_id = %d",
- dbesc($r[0]['mid']),
- dbesc($r[0]['conv_guid']),
- intval($channel_id)
- );
- }
-
+ $x[0]['mail_deleted'] = true;
+ msg_drop(intval($messageitem_id), intval($channel_id), dbesc($x[0]['conv_guid']));
build_sync_packet($channel_id,array('mail' => array(encode_mail($x,true))));
return true;
}