diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2008-09-19 15:42:33 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2008-09-19 15:42:33 +0000 |
commit | eee2f89ace79e926c7df207ebde10e75ac2f81d3 (patch) | |
tree | 489dcdbf50773a6757cbb952a375e5d08377ab43 /phpBB/includes/functions_privmsgs.php | |
parent | 461be11e8d0f5d4bd879cf95bd1472dbe985e0b6 (diff) | |
download | forums-eee2f89ace79e926c7df207ebde10e75ac2f81d3.tar forums-eee2f89ace79e926c7df207ebde10e75ac2f81d3.tar.gz forums-eee2f89ace79e926c7df207ebde10e75ac2f81d3.tar.bz2 forums-eee2f89ace79e926c7df207ebde10e75ac2f81d3.tar.xz forums-eee2f89ace79e926c7df207ebde10e75ac2f81d3.zip |
Correctly delete message attachments. (Bug #23755) Also revamped and simplified delete_attachments() - it looks like we did not touch it for a long long time.
git-svn-id: file:///svn/phpbb/trunk@8891 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/functions_privmsgs.php')
-rw-r--r-- | phpBB/includes/functions_privmsgs.php | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/phpBB/includes/functions_privmsgs.php b/phpBB/includes/functions_privmsgs.php index b80f55420b..3b7daa28a5 100644 --- a/phpBB/includes/functions_privmsgs.php +++ b/phpBB/includes/functions_privmsgs.php @@ -977,6 +977,8 @@ function delete_pm($user_id, $msg_ids, $folder_id) return false; } + $db->sql_transaction('begin'); + // if no one has read the message yet (meaning it is in users outbox) // then mark the message as deleted... if ($folder_id == PRIVMSGS_OUTBOX) @@ -1054,11 +1056,21 @@ function delete_pm($user_id, $msg_ids, $folder_id) if (sizeof($delete_ids)) { + // Check if there are any attachments we need to remove + if (!function_exists('delete_attachments')) + { + include(PHPBB_ROOT_PATH . 'includes/functions_admin.' . PHP_EXT); + } + + delete_attachments('message', $delete_ids, false); + $sql = 'DELETE FROM ' . PRIVMSGS_TABLE . ' WHERE ' . $db->sql_in_set('msg_id', $delete_ids); $db->sql_query($sql); } + $db->sql_transaction('commit'); + return true; } |