aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul S. Owen <psotfx@users.sourceforge.net>2002-02-12 17:12:44 +0000
committerPaul S. Owen <psotfx@users.sourceforge.net>2002-02-12 17:12:44 +0000
commitdb2910a24e21a67f79a8a896c16690d2075bed43 (patch)
treee1dc4bc8b15310d3db9638805f8ca8d9608ac74e
parent4b80d45e8ed50d5fe5f6f0eaebc20ef8897d2e57 (diff)
downloadforums-db2910a24e21a67f79a8a896c16690d2075bed43.tar
forums-db2910a24e21a67f79a8a896c16690d2075bed43.tar.gz
forums-db2910a24e21a67f79a8a896c16690d2075bed43.tar.bz2
forums-db2910a24e21a67f79a8a896c16690d2075bed43.tar.xz
forums-db2910a24e21a67f79a8a896c16690d2075bed43.zip
Fix bug with auth access entries not being deleted along with user
git-svn-id: file:///svn/phpbb/trunk@2111 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r--phpBB/admin/admin_users.php118
1 files changed, 56 insertions, 62 deletions
diff --git a/phpBB/admin/admin_users.php b/phpBB/admin/admin_users.php
index 933dd3f331..574de714fd 100644
--- a/phpBB/admin/admin_users.php
+++ b/phpBB/admin/admin_users.php
@@ -158,7 +158,7 @@ if( $mode == "edit" || $mode == "save" && ( isset($HTTP_POST_VARS['username']) |
$location = (!empty($HTTP_POST_VARS['location'])) ? trim(strip_tags($HTTP_POST_VARS['location'])) : "";
$occupation = (!empty($HTTP_POST_VARS['occupation'])) ? trim(strip_tags($HTTP_POST_VARS['occupation'])) : "";
$interests = (!empty($HTTP_POST_VARS['interests'])) ? trim(strip_tags($HTTP_POST_VARS['interests'])) : "";
- $signature = (!empty($HTTP_POST_VARS['signature'])) ? trim(strip_tags(str_replace("<br />", "\n", $HTTP_POST_VARS['signature']))) : "";
+ $signature = (!empty($HTTP_POST_VARS['signature'])) ? trim(str_replace("<br />", "\n", $HTTP_POST_VARS['signature'])) : "";
validate_optional_fields($icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature);
@@ -285,8 +285,9 @@ if( $mode == "edit" || $mode == "save" && ( isset($HTTP_POST_VARS['username']) |
if( $user_status == 0 )
{
// User is (made) inactive. Delete all their sessions.
- $sql = "DELETE FROM ". SESSIONS_TABLE ." WHERE session_user_id = $user_id";
- if( !$result = $db->sql_query($sql) )
+ $sql = "DELETE FROM " . SESSIONS_TABLE . "
+ WHERE session_user_id = $user_id";
+ if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Couldn't delete this user's sessions", "", __LINE__, __FILE__, $sql);
}
@@ -295,22 +296,23 @@ if( $mode == "edit" || $mode == "save" && ( isset($HTTP_POST_VARS['username']) |
if( $signature != "" )
{
$sig_length_check = preg_replace("/(\[.*?)(=.*?)\]/is", "\\1]", stripslashes($signature));
- if( $board_config['allow_html'] )
+ if ( $allowhtml )
{
$sig_length_check = preg_replace("/(\<.*?)(=.*?)( .*?=.*?)?([ \/]?\>)/is", "\\1\\3\\4", $sig_length_check);
}
+ $sig_length_check = preg_replace("/(\[.*?)(=.*?)\]/is", "\\1]", stripslashes($signature));
// Only create a new bbcode_uid when there was no uid yet.
- if($signature_bbcode_uid == '')
+ if ( $signature_bbcode_uid == '' )
{
- $signature_bbcode_uid = ( $board_config['allow_bbcode'] ) ? make_bbcode_uid() : "";
+ $signature_bbcode_uid = ( $allowbbcode ) ? make_bbcode_uid() : "";
}
- $signature = prepare_message($signature, $board_config['allow_html'], $board_config['allow_bbcode'], $board_config['allow_smilies'], $signature_bbcode_uid);
+ $signature = prepare_message($signature, $allowhtml, $allowbbcode, $allowsmilies, $signature_bbcode_uid);
- if( strlen($sig_length_check) > $board_config['max_sig_chars'] )
- {
+ if ( strlen($sig_length_check) > $board_config['max_sig_chars'] )
+ {
$error = TRUE;
- if( isset($error_msg) )
+ if ( isset($error_msg) )
{
$error_msg .= "<br />";
}
@@ -597,7 +599,7 @@ if( $mode == "edit" || $mode == "save" && ( isset($HTTP_POST_VARS['username']) |
WHERE ug.user_id = $user_id
AND g.group_id = ug.group_id
AND g.group_single_user = 1";
- if( !$result = $db->sql_query($sql) )
+ if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't obtain group information for this user", "", __LINE__, __FILE__, $sql);
}
@@ -605,66 +607,58 @@ if( $mode == "edit" || $mode == "save" && ( isset($HTTP_POST_VARS['username']) |
$row = $db->sql_fetchrow($result);
$sql = "UPDATE " . POSTS_TABLE . "
- SET poster_id = '-1', post_username = '$username'
+ SET poster_id = " . ANONYMOUS . ", post_username = '$username'
WHERE poster_id = $user_id";
- if( $result = $db->sql_query($sql) )
+ if( !$db->sql_query($sql) )
{
- $sql = "UPDATE " . TOPICS_TABLE . "
- SET topic_poster = '-1'
- WHERE topic_poster = $user_id";
- if( $result = $db->sql_query($sql) )
- {
- $sql = "DELETE FROM " . USERS_TABLE . "
- WHERE user_id = $user_id";
- if( $result = $db->sql_query($sql) )
- {
- $sql = "DELETE FROM " . USER_GROUP_TABLE . "
- WHERE user_id = $user_id";
- if( $result = $db->sql_query($sql) )
- {
- $sql = "DELETE FROM " . GROUPS_TABLE . "
- WHERE group_id = " . $row['group_id'];
- if( $result = $db->sql_query($sql) )
- {
- $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
- WHERE user_id = $user_id";
- $result = @$db->sql_query($sql);
+ message_die(GENERAL_ERROR, "Couldn't update posts for this user", "", __LINE__, __FILE__, $sql);
+ }
- $message = $lang['User_deleted'];
- }
- else
- {
- $error = TRUE;
- }
- }
- else
- {
- $error = TRUE;
- }
- }
- else
- {
- $error = TRUE;
- }
- }
- else
- {
- $error = TRUE;
- }
+ $sql = "UPDATE " . TOPICS_TABLE . "
+ SET topic_poster = " . ANONYMOUS . "
+ WHERE topic_poster = $user_id";
+ if( !$db->sql_query($sql) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't update topics for this user", "", __LINE__, __FILE__, $sql);
}
- else
+
+ $sql = "DELETE FROM " . USERS_TABLE . "
+ WHERE user_id = $user_id";
+ if( !$db->sql_query($sql) )
{
- $error = TRUE;
+ message_die(GENERAL_ERROR, "Couldn't delete user", "", __LINE__, __FILE__, $sql);
}
- if( $error == TRUE )
+ $sql = "DELETE FROM " . USER_GROUP_TABLE . "
+ WHERE user_id = $user_id";
+ if( !$db->sql_query($sql) )
{
- if( isset($error_msg) )
- {
- $error_msg .= "<br />";
- }
- $error_msg .= $lang['Admin_user_fail'];
+ message_die(GENERAL_ERROR, "Couldn't delete user from user_group table", "", __LINE__, __FILE__, $sql);
}
+
+ $sql = "DELETE FROM " . GROUPS_TABLE . "
+ WHERE group_id = " . $row['group_id'];
+ if( !$db->sql_query($sql) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't delete group for this user", "", __LINE__, __FILE__, $sql);
+ }
+
+ $sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
+ WHERE group_id = " . $row['group_id'];
+ if( !$db->sql_query($sql) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't delete group for this user", "", __LINE__, __FILE__, $sql);
+ }
+
+ $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . "
+ WHERE user_id = $user_id";
+ if ( !$db->sql_query($sql) )
+ {
+ message_die(GENERAL_ERROR, "Couldn't delete user from topic watch table", "", __LINE__, __FILE__, $sql);
+ }
+
+ $message = $lang['User_deleted'];
+
}
else
{