diff options
Diffstat (limited to 'include/message.php')
-rw-r--r-- | include/message.php | 28 |
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; } |