aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions_user.php
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2018-12-19 19:57:57 +0100
committerMarc Alexander <admin@m-a-styles.de>2018-12-19 19:57:57 +0100
commit2a72b9b3ecf47947ddaf32564ec5810f37dd621a (patch)
treee559c699751e6f1aee92f0ae7f5015e356e9e31c /phpBB/includes/functions_user.php
parent5a21f7eb975666ba07d9cf25371f8c159e483d23 (diff)
parent68489b2c135a1ec75d142851e82ee9683f8177db (diff)
downloadforums-2a72b9b3ecf47947ddaf32564ec5810f37dd621a.tar
forums-2a72b9b3ecf47947ddaf32564ec5810f37dd621a.tar.gz
forums-2a72b9b3ecf47947ddaf32564ec5810f37dd621a.tar.bz2
forums-2a72b9b3ecf47947ddaf32564ec5810f37dd621a.tar.xz
forums-2a72b9b3ecf47947ddaf32564ec5810f37dd621a.zip
Merge pull request #5483 from marc1706/ticket/15911
[ticket/15911] Prevent errors when trying to delete from non-existent tables
Diffstat (limited to 'phpBB/includes/functions_user.php')
-rw-r--r--phpBB/includes/functions_user.php26
1 files changed, 24 insertions, 2 deletions
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php
index d019b867fa..26bb987561 100644
--- a/phpBB/includes/functions_user.php
+++ b/phpBB/includes/functions_user.php
@@ -666,8 +666,29 @@ function user_delete($mode, $user_ids, $retain_username = true)
delete_posts('poster_id', $user_ids);
}
- $table_ary = array(USERS_TABLE, USER_GROUP_TABLE, TOPICS_WATCH_TABLE, FORUMS_WATCH_TABLE, ACL_USERS_TABLE, TOPICS_TRACK_TABLE, TOPICS_POSTED_TABLE, FORUMS_TRACK_TABLE, PROFILE_FIELDS_DATA_TABLE, MODERATOR_CACHE_TABLE, DRAFTS_TABLE, BOOKMARKS_TABLE, SESSIONS_KEYS_TABLE, PRIVMSGS_FOLDER_TABLE, PRIVMSGS_RULES_TABLE, $phpbb_container->getParameter('tables.auth_provider_oauth_token_storage'), $phpbb_container->getParameter('tables.auth_provider_oauth_states'), $phpbb_container->getParameter('tables.auth_provider_oauth_account_assoc'));
-
+ $table_ary = [
+ USERS_TABLE,
+ USER_GROUP_TABLE,
+ TOPICS_WATCH_TABLE,
+ FORUMS_WATCH_TABLE,
+ ACL_USERS_TABLE,
+ TOPICS_TRACK_TABLE,
+ TOPICS_POSTED_TABLE,
+ FORUMS_TRACK_TABLE,
+ PROFILE_FIELDS_DATA_TABLE,
+ MODERATOR_CACHE_TABLE,
+ DRAFTS_TABLE,
+ BOOKMARKS_TABLE,
+ SESSIONS_KEYS_TABLE,
+ PRIVMSGS_FOLDER_TABLE,
+ PRIVMSGS_RULES_TABLE,
+ $phpbb_container->getParameter('tables.auth_provider_oauth_token_storage'),
+ $phpbb_container->getParameter('tables.auth_provider_oauth_states'),
+ $phpbb_container->getParameter('tables.auth_provider_oauth_account_assoc')
+ ];
+
+ // Ignore errors on deleting from non-existent tables, e.g. when migrating
+ $db->sql_return_on_error(true);
// Delete the miscellaneous (non-post) data for the user
foreach ($table_ary as $table)
{
@@ -675,6 +696,7 @@ function user_delete($mode, $user_ids, $retain_username = true)
WHERE " . $user_id_sql;
$db->sql_query($sql);
}
+ $db->sql_return_on_error();
$cache->destroy('sql', MODERATOR_CACHE_TABLE);