Use common msg_drop function

This commit is contained in:
Max Kostikov 2018-09-15 22:32:07 +02:00
parent 18801a6c60
commit 1819704620

View File

@ -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;
}