diff options
-rw-r--r-- | include/msglib.php | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/include/msglib.php b/include/msglib.php index 2c9a9a696..f196e7bee 100644 --- a/include/msglib.php +++ b/include/msglib.php @@ -10,18 +10,14 @@ function msg_drop($message_id, $channel_id, $conv_guid) { $channel_id ); - // If it was a first message in thread - $z = q("SELECT * FROM mail WHERE mid = '%s' AND channel_id = %d", - $message_id, + // Get new first message... + $r = q("SELECT mid, parent_mid FROM mail WHERE conv_guid = '%s' AND channel_id = %d ORDER BY id ASC LIMIT 1", + $conv_guid, $channel_id ); - if (! $z) { - // Get new first message... - $r = q("SELECT mid FROM mail WHERE conv_guid = '%s' AND channel_id = %d ORDER BY id ASC LIMIT 1", - $conv_guid, - $channel_id - ); - // ...and refer whole thread to it + // ...and if wasn't first before... + if ($r[0]['mid'] != $r[0]['parent_mid']) { + // ...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']), $conv_guid, |