diff options
author | Marc Alexander <admin@m-a-styles.de> | 2014-09-23 11:09:29 +0200 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2014-09-23 11:09:29 +0200 |
commit | 92b096b05b4f51e17f84bcf76ba8b87e8580b34f (patch) | |
tree | ae40d7363f033d4ef08852b4d77290e78e9236df /phpBB | |
parent | 84e68b3a73183322e970df39b7bd9d1afd37be8a (diff) | |
parent | 96024e88e9894ce6215805ad389813659259d871 (diff) | |
download | forums-92b096b05b4f51e17f84bcf76ba8b87e8580b34f.tar forums-92b096b05b4f51e17f84bcf76ba8b87e8580b34f.tar.gz forums-92b096b05b4f51e17f84bcf76ba8b87e8580b34f.tar.bz2 forums-92b096b05b4f51e17f84bcf76ba8b87e8580b34f.tar.xz forums-92b096b05b4f51e17f84bcf76ba8b87e8580b34f.zip |
Merge pull request #2984 from nickvergessen/ticket/10729-asc
[3.1][ticket/10729] Update editor information when user being deleted
Diffstat (limited to 'phpBB')
-rw-r--r-- | phpBB/includes/functions_user.php | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 38ae34c66c..e4479f07b0 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -363,12 +363,16 @@ function user_add($user_row, $cp_data = false) } /** -* Remove User -* @param $mode Either 'retain' or 'remove' -*/ + * Remove User + * + * @param string $mode Either 'retain' or 'remove' + * @param mixed $user_ids Either an array of integers or an integer + * @param bool $retain_username + * @return bool + */ function user_delete($mode, $user_ids, $retain_username = true) { - global $cache, $config, $db, $user, $auth, $phpbb_dispatcher; + global $cache, $config, $db, $user, $phpbb_dispatcher; global $phpbb_root_path, $phpEx; $db->sql_transaction('begin'); @@ -555,11 +559,6 @@ function user_delete($mode, $user_ids, $retain_username = true) WHERE ' . $db->sql_in_set('poster_id', $user_ids); $db->sql_query($sql); - $sql = 'UPDATE ' . POSTS_TABLE . ' - SET post_edit_user = ' . ANONYMOUS . ' - WHERE ' . $db->sql_in_set('post_edit_user', $user_ids); - $db->sql_query($sql); - $sql = 'UPDATE ' . USERS_TABLE . ' SET user_posts = user_posts + ' . $added_guest_posts . ' WHERE user_id = ' . ANONYMOUS; @@ -589,6 +588,30 @@ function user_delete($mode, $user_ids, $retain_username = true) $cache->destroy('sql', MODERATOR_CACHE_TABLE); + // Change user_id to anonymous for posts edited by this user + $sql = 'UPDATE ' . POSTS_TABLE . ' + SET post_edit_user = ' . ANONYMOUS . ' + WHERE ' . $db->sql_in_set('post_edit_user', $user_ids); + $db->sql_query($sql); + + // Change user_id to anonymous for pms edited by this user + $sql = 'UPDATE ' . PRIVMSGS_TABLE . ' + SET message_edit_user = ' . ANONYMOUS . ' + WHERE ' . $db->sql_in_set('message_edit_user', $user_ids); + $db->sql_query($sql); + + // Change user_id to anonymous for posts deleted by this user + $sql = 'UPDATE ' . POSTS_TABLE . ' + SET post_delete_user = ' . ANONYMOUS . ' + WHERE ' . $db->sql_in_set('post_delete_user', $user_ids); + $db->sql_query($sql); + + // Change user_id to anonymous for topics deleted by this user + $sql = 'UPDATE ' . TOPICS_TABLE . ' + SET topic_delete_user = ' . ANONYMOUS . ' + WHERE ' . $db->sql_in_set('topic_delete_user', $user_ids); + $db->sql_query($sql); + // Delete user log entries about this user $sql = 'DELETE FROM ' . LOG_TABLE . ' WHERE ' . $db->sql_in_set('reportee_id', $user_ids); |