aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions_privmsgs.php
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2008-09-19 15:42:33 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2008-09-19 15:42:33 +0000
commiteee2f89ace79e926c7df207ebde10e75ac2f81d3 (patch)
tree489dcdbf50773a6757cbb952a375e5d08377ab43 /phpBB/includes/functions_privmsgs.php
parent461be11e8d0f5d4bd879cf95bd1472dbe985e0b6 (diff)
downloadforums-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.php12
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;
}