aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/zot.php28
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');