mirror of
https://github.com/phpbb/phpbb.git
synced 2025-01-19 07:08:09 +01:00
add quicktool to remove users from the newly registered special group.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9646 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
c2c79d8297
commit
794e122cfa
@ -650,6 +650,28 @@ class acp_users
|
||||
trigger_error($user->lang['USER_POSTS_MOVED'] . adm_back_link($this->u_action . '&u=' . $user_id));
|
||||
|
||||
break;
|
||||
|
||||
case 'leave_nr':
|
||||
|
||||
if (confirm_box(true))
|
||||
{
|
||||
remove_newly_registered($user_id, $user_row);
|
||||
|
||||
add_log('admin', 'LOG_USER_REMOVED_NR', $user_row['username']);
|
||||
trigger_error($user->lang['USER_LIFTED_NR'] . adm_back_link($this->u_action . '&u=' . $user_id));
|
||||
}
|
||||
else
|
||||
{
|
||||
confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
|
||||
'u' => $user_id,
|
||||
'i' => $id,
|
||||
'mode' => $mode,
|
||||
'action' => $action,
|
||||
'update' => true))
|
||||
);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
// Handle registration info updates
|
||||
@ -821,6 +843,10 @@ class acp_users
|
||||
if ($user_id == $user->data['user_id'])
|
||||
{
|
||||
$quick_tool_ary = array('delsig' => 'DEL_SIG', 'delavatar' => 'DEL_AVATAR', 'moveposts' => 'MOVE_POSTS', 'delposts' => 'DEL_POSTS', 'delattach' => 'DEL_ATTACH');
|
||||
if ($user_row['user_new'])
|
||||
{
|
||||
$quick_tool_ary['leave_nr'] = 'LEAVE_NR';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -842,6 +868,10 @@ class acp_users
|
||||
{
|
||||
$quick_tool_ary['reactivate'] = 'FORCE';
|
||||
}
|
||||
if ($user_row['user_new'])
|
||||
{
|
||||
$quick_tool_ary['leave_nr'] = 'LEAVE_NR';
|
||||
}
|
||||
}
|
||||
|
||||
$s_action_options = '<option class="sep" value="">' . $user->lang['SELECT_OPTION'] . '</option>';
|
||||
|
@ -3456,4 +3456,77 @@ function group_update_listings($group_id)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Funtion to make a user leave the NEWLY_REGISTERED system group.
|
||||
* @access public
|
||||
* @param $user_id The id of the user to remove from the group
|
||||
*/
|
||||
function remove_newly_registered($user_id, $user_data = false)
|
||||
{
|
||||
global $db;
|
||||
|
||||
if ($user_data === false)
|
||||
{
|
||||
$sql = 'SELECT *
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE user_id = ' . $user_id;
|
||||
$result = $db->sql_query($sql);
|
||||
$user_row = $db->sql_fetchrow($result);
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!$user_row)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$user_data = $user_row;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($user_data['user_new']))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$sql = 'SELECT group_id
|
||||
FROM ' . GROUPS_TABLE . "
|
||||
WHERE group_name = 'NEWLY_REGISTERED'
|
||||
AND group_type = " . GROUP_SPECIAL;
|
||||
$result = $db->sql_query($sql);
|
||||
$group_id = (int) $db->sql_fetchfield('group_id');
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!$group_id)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// We need to call group_user_del here, because this function makes sure everything is correctly changed.
|
||||
// A downside for a call within the session handler is that the language is not set up yet - so no log entry
|
||||
group_user_del($group_id, $user_id);
|
||||
|
||||
// Set user_new to 0 to let this not be triggered again
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET user_new = 0
|
||||
WHERE user_id = ' . $user_id;
|
||||
$db->sql_query($sql);
|
||||
|
||||
// The new users group was the users default group?
|
||||
if ($user_data['group_id'] == $group_id)
|
||||
{
|
||||
// Which group is now the users default one?
|
||||
$sql = 'SELECT group_id
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE user_id = ' . $user_id;
|
||||
$result = $db->sql_query($sql);
|
||||
$user_data['group_id'] = $db->sql_fetchfield('group_id');
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
return $user_data['group_id'];
|
||||
}
|
||||
|
||||
?>
|
@ -2253,51 +2253,20 @@ class user extends session
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!function_exists('group_user_del'))
|
||||
if (!function_exists('remove_newly_registered'))
|
||||
{
|
||||
global $phpbb_root_path, $phpEx;
|
||||
|
||||
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
|
||||
}
|
||||
|
||||
$sql = 'SELECT group_id
|
||||
FROM ' . GROUPS_TABLE . "
|
||||
WHERE group_name = 'NEWLY_REGISTERED'
|
||||
AND group_type = " . GROUP_SPECIAL;
|
||||
$result = $db->sql_query($sql);
|
||||
$group_id = (int) $db->sql_fetchfield('group_id');
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!$group_id)
|
||||
if ($group = remove_newly_registered($this->data['user_id'], $this->data))
|
||||
{
|
||||
return false;
|
||||
$this->data['group_id'] = $group;
|
||||
|
||||
}
|
||||
|
||||
// We need to call group_user_del here, because this function makes sure everything is correctly changed.
|
||||
// A downside for a call within the session handler is that the language is not set up yet - so no log entry
|
||||
group_user_del($group_id, $this->data['user_id']);
|
||||
|
||||
// Set user_new to 0 to let this not be triggered again
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET user_new = 0
|
||||
WHERE user_id = ' . $this->data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
$this->data['user_permissions'] = '';
|
||||
$this->data['user_new'] = 0;
|
||||
|
||||
// The new users group was the users default group?
|
||||
if ($this->data['group_id'] == $group_id)
|
||||
{
|
||||
// Which group is now the users default one?
|
||||
$sql = 'SELECT group_id
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE user_id = ' . $this->data['user_id'];
|
||||
$result = $db->sql_query($sql);
|
||||
$this->data['group_id'] = $db->sql_fetchfield('group_id');
|
||||
$db->sql_freeresult($result);
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -666,6 +666,8 @@ $lang = array_merge($lang, array(
|
||||
'LOG_USER_MOVE_POSTS' => '<strong>Moved user posts</strong><br />» posts by “%1$s” to forum “%2$s”',
|
||||
'LOG_USER_NEW_PASSWORD' => '<strong>Changed user password</strong><br />» %s',
|
||||
'LOG_USER_REACTIVATE' => '<strong>Forced user account reactivation</strong><br />» %s',
|
||||
'LOG_USER_REMOVED_NR' => '<strong>Removed newly registered flag from user</strong><br />» %s',
|
||||
|
||||
'LOG_USER_UPDATE_EMAIL' => '<strong>User “%1$s” changed e-mail</strong><br />» from “%2$s” to “%3$s”',
|
||||
'LOG_USER_UPDATE_NAME' => '<strong>Changed username</strong><br />» from “%1$s” to “%2$s”',
|
||||
'LOG_USER_USER_UPDATE' => '<strong>Updated user details</strong><br />» %s',
|
||||
|
@ -106,6 +106,7 @@ $lang = array_merge($lang, array(
|
||||
'USER_ADMIN_DEL_SIG' => 'Delete signature',
|
||||
'USER_ADMIN_EXPLAIN' => 'Here you can change your users information and certain specific options.',
|
||||
'USER_ADMIN_FORCE' => 'Force reactivation',
|
||||
'USER_ADMIN_LEAVE_NR' => 'Remove from Newly Registered',
|
||||
'USER_ADMIN_MOVE_POSTS' => 'Move all posts',
|
||||
'USER_ADMIN_SIG_REMOVED' => 'Successfully removed signature from user account.',
|
||||
'USER_ATTACHMENTS_REMOVED' => 'Successfully removed all attachments made by this user.',
|
||||
@ -118,6 +119,7 @@ $lang = array_merge($lang, array(
|
||||
'USER_GROUP_NORMAL' => 'User defined groups user is a member of',
|
||||
'USER_GROUP_PENDING' => 'Groups user is in pending mode',
|
||||
'USER_GROUP_SPECIAL' => 'Pre-defined groups user is a member of',
|
||||
'USER_LIFTED_NR' => 'Successfully removed the user’s newly registered status.',
|
||||
'USER_NO_ATTACHMENTS' => 'There are no attached files to display.',
|
||||
'USER_OVERVIEW_UPDATED' => 'User details updated.',
|
||||
'USER_POSTS_DELETED' => 'Successfully removed all posts made by this user.',
|
||||
|
Loading…
x
Reference in New Issue
Block a user