diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/msglib.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/msglib.php b/include/msglib.php index e69de29bb..c55839f6c 100644 --- a/include/msglib.php +++ b/include/msglib.php @@ -0,0 +1,35 @@ +<?php + +/* Common private message processing functions */ + +function msg_drop($message_id, $channel_id, $conv_guid) { + + // Delete message + $r = q("DELETE FROM mail WHERE id = %d AND channel_id = %d", + $message_id, + $channel_id + ); + + // If it was a first message in thread + $z = q("SELECT * FROM mail WHERE mid = '%s' AND channel_id = %d", + $message_id, + $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 + 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, + $channel_id + ); + return true; + } else { + return false; + } + +} |