use common msg_drop function

This commit is contained in:
Max Kostikov 2018-09-15 22:32:56 +02:00
parent 1819704620
commit 034441bd13

View File

@ -12,6 +12,7 @@ require_once('include/crypto.php');
require_once('include/items.php');
require_once('include/queue_fn.php');
require_once('include/perm_upgrade.php');
require_once('include/msglib.php');
/**
@ -2331,36 +2332,13 @@ function process_mail_delivery($sender, $arr, $deliveries) {
}
$r = q("select id from mail where mid = '%s' and channel_id = %d limit 1",
$r = q("select id, conv_guid from mail where mid = '%s' and channel_id = %d limit 1",
dbesc($arr['mid']),
intval($channel['channel_id'])
);
if($r) {
if(intval($arr['mail_recalled'])) {
$x = q("delete from mail where id = %d and channel_id = %d",
intval($r[0]['id']),
intval($channel['channel_id'])
);
// If it was a first message in thread
$z = q("SELECT * FROM mail WHERE mid = '%s' AND channel_id = %d",
dbesc($arr['mid']),
intval($channel['channel_id'])
);
if (! $z) {
// Get new first message...
$r = q("SELECT mid, conv_guid FROM mail WHERE parent_mid = '%s' AND channel_id = %d ORDER BY id ASC LIMIT 1",
dbesc($arr['mid']),
intval($channel['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['channel_id'])
);
}
msg_drop(intval($r[0]['id']), intval($channel['channel_id']), dbesc($r[0]['conv_guid']));
$DR->update('mail recalled');
$result[] = $DR->get();
logger('mail_recalled');