Удаление пользователя git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@111 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293
This commit is contained in:
nanosimbiot 2011-07-14 20:01:14 +00:00
commit 126dd283ac
5 changed files with 63 additions and 8 deletions

View file

@ -90,6 +90,7 @@ switch ($field)
case 'user_from':
case 'user_occ':
case 'user_interests':
$value = htmlCHR($value);
$this->response['new_value'] = $value;
break;

View file

@ -57,7 +57,7 @@ $bb_cfg['css_ver'] = 1;
// Increase number of revision after update
$bb_cfg['tp_version'] = '2.0.2';
$bb_cfg['tp_release_state'] = 'TP II r110';
$bb_cfg['tp_release_state'] = 'TP II r111';
$bb_cfg['tp_release_date'] = '15-07-2011';
$bb_cfg['board_disabled_msg'] = 'форум временно отключен'; // 'forums temporarily disabled'; // show this msg if board has been disabled via ON/OFF trigger

View file

@ -10,7 +10,7 @@ $user->session_start(array('req_login' => true));
if (!$bb_cfg['gallery_enabled']) bb_die($lang['GALLERY_DISABLED']);
require(LANG_DIR ."lang_gallery.php");
require(LANG_ROOT_DIR ."lang_{$userdata['user_lang']}/lang_gallery.php");
if(bf($userdata['user_opt'], 'user_opt', 'allow_gallery'))
{ bb_die($lang['USE_GALLERY_OFF']); }

View file

@ -10,6 +10,7 @@ set_die_append_msg();
if (IS_ADMIN)
{
require(LANG_ROOT_DIR ."lang_{$userdata['user_lang']}/lang_admin.php");
$bb_cfg['require_activation'] = false;
}
@ -49,7 +50,6 @@ switch ($mode)
bb_die(sprintf($lang['ALREADY_REG_IP'], '<a href="'. PROFILE_URL . $users['user_id'] .'"><b>'. $users['username'] .'</b></a>', $bb_cfg['tech_admin_email']));
}
}
// Отключение регистрации
if ($bb_cfg['new_user_reg_disabled'])
{
@ -85,8 +85,6 @@ switch ($mode)
'username' => '',
'user_password' => '',
'user_email' => '',
'user_timezone' => $bb_cfg['board_timezone'],
'user_lang' => $bb_cfg['default_lang'],
'user_opt' => 0,
);
break;
@ -102,6 +100,7 @@ switch ($mode)
// field => can_edit
$profile_fields = array(
'user_active' => IS_ADMIN,
'username' => (IS_ADMIN || $bb_cfg['allow_namechange']),
'user_password' => true,
'user_email' => true, // должен быть после user_password
@ -136,7 +135,6 @@ switch ($mode)
SELECT
user_id,
user_level,
user_active,
$profile_fields_sql
FROM ". BB_USERS ."
WHERE user_id = $pr_user_id
@ -194,7 +192,19 @@ $cur_pass_valid = $adm_edit;
foreach ($profile_fields as $field => $can_edit)
{
switch ($field)
{
{ /**
* Активация (edit, reg)
*/
case 'user_active':
$active = isset($_POST['user_active']) ? (int) $_POST['user_active'] : $pr_data['user_active'];
if ($submit && $active != $pr_data['user_active'] && $adm_edit)
{
$pr_data['user_active'] = $active;
$db_data['user_active'] = $active;
}
$tp_data['USER_ACTIVE'] = $pr_data['user_active'];
break;
/**
* Имя (edit, reg)
*/
@ -313,7 +323,7 @@ foreach ($profile_fields as $field => $can_edit)
$user_timezone = isset($_POST['user_timezone']) ? (int) $_POST['user_timezone'] : $pr_data['user_timezone'];
if ($submit && $user_timezone != $pr_data['user_timezone'])
{
if (isset($lang['TZ'][$user_timezone]) && $user_timezone != $pr_data['user_timezone'])
if (isset($lang['TZ'][$user_timezone]))
{
$pr_data['user_timezone'] = $user_timezone;
$db_data['user_timezone'] = $user_timezone;
@ -824,6 +834,30 @@ if ($submit && !$errors)
*/
else
{
// Удаление пользователя и сообщений для админа
if ($userdata['user_id'] != $pr_data['user_id'] && IS_ADMIN)
{
require(INC_DIR .'functions_admin.php');
if (!empty($_POST['deleteuser']))
{
delete_user_sessions($pr_data['user_id']);
user_delete($pr_data['user_id'], !empty($_POST['delete_user_posts']));
if ($pr_data['user_level'] == MOD)
{
$datastore->update('moderators');
}
bb_die($lang['USER_DELETED']);
}
else if (!empty($_POST['delete_user_posts']))
{
post_delete('user', $pr_data['user_id']);
bb_die('User posts were deleted');
}
}
// если что-то было изменено
if ($db_data)
{

View file

@ -272,6 +272,26 @@ ajax.callback.view_message = function(data){
</tr>
<!-- END switch_avatar_local_gallery -->
<!-- END switch_avatar_block -->
<!-- IF IS_ADMIN -->
<tr>
<th colspan="2">{L_MANAGE_USER}</th>
</tr>
<tr>
<td>{L_USER_STATUS}</td>
<td>
<label><input type="radio" name="user_active" value="1" <!-- IF USER_ACTIVE -->checked="checked"<!-- ENDIF --> />{L_YES}</label>&nbsp;&nbsp;
<label><input type="radio" name="user_active" value="0" <!-- IF not USER_ACTIVE -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
</td>
</tr>
<tr>
<td>{L_USER_DELETE}?</td>
<td>
<label><input type="checkbox" name="deleteuser">{L_USER_DELETE_EXPLAIN}</label>
<br />
<label><input type="checkbox" name="delete_user_posts">{L_DELETE_USER_POSTS}</label>
</td>
</tr>
<!-- ENDIF -->
<!-- ENDIF / EDIT_PROFILE -->
<!-- IF SHOW_REG_AGREEMENT -->