diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/zot.php | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/include/zot.php b/include/zot.php index 7eb2d6b96..38435a124 100644 --- a/include/zot.php +++ b/include/zot.php @@ -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'); |