Удаление пользователя 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_from':
case 'user_occ': case 'user_occ':
case 'user_interests':
$value = htmlCHR($value); $value = htmlCHR($value);
$this->response['new_value'] = $value; $this->response['new_value'] = $value;
break; break;

View file

@ -57,7 +57,7 @@ $bb_cfg['css_ver'] = 1;
// Increase number of revision after update // Increase number of revision after update
$bb_cfg['tp_version'] = '2.0.2'; $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['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 $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']); 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')) if(bf($userdata['user_opt'], 'user_opt', 'allow_gallery'))
{ bb_die($lang['USE_GALLERY_OFF']); } { bb_die($lang['USE_GALLERY_OFF']); }

View file

@ -10,6 +10,7 @@ set_die_append_msg();
if (IS_ADMIN) if (IS_ADMIN)
{ {
require(LANG_ROOT_DIR ."lang_{$userdata['user_lang']}/lang_admin.php");
$bb_cfg['require_activation'] = false; $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'])); 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']) if ($bb_cfg['new_user_reg_disabled'])
{ {
@ -85,8 +85,6 @@ switch ($mode)
'username' => '', 'username' => '',
'user_password' => '', 'user_password' => '',
'user_email' => '', 'user_email' => '',
'user_timezone' => $bb_cfg['board_timezone'],
'user_lang' => $bb_cfg['default_lang'],
'user_opt' => 0, 'user_opt' => 0,
); );
break; break;
@ -102,6 +100,7 @@ switch ($mode)
// field => can_edit // field => can_edit
$profile_fields = array( $profile_fields = array(
'user_active' => IS_ADMIN,
'username' => (IS_ADMIN || $bb_cfg['allow_namechange']), 'username' => (IS_ADMIN || $bb_cfg['allow_namechange']),
'user_password' => true, 'user_password' => true,
'user_email' => true, // должен быть после user_password 'user_email' => true, // должен быть после user_password
@ -136,7 +135,6 @@ switch ($mode)
SELECT SELECT
user_id, user_id,
user_level, user_level,
user_active,
$profile_fields_sql $profile_fields_sql
FROM ". BB_USERS ." FROM ". BB_USERS ."
WHERE user_id = $pr_user_id WHERE user_id = $pr_user_id
@ -194,7 +192,19 @@ $cur_pass_valid = $adm_edit;
foreach ($profile_fields as $field => $can_edit) foreach ($profile_fields as $field => $can_edit)
{ {
switch ($field) 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) * Имя (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']; $user_timezone = isset($_POST['user_timezone']) ? (int) $_POST['user_timezone'] : $pr_data['user_timezone'];
if ($submit && $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; $pr_data['user_timezone'] = $user_timezone;
$db_data['user_timezone'] = $user_timezone; $db_data['user_timezone'] = $user_timezone;
@ -824,6 +834,30 @@ if ($submit && !$errors)
*/ */
else 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) if ($db_data)
{ {

View file

@ -272,6 +272,26 @@ ajax.callback.view_message = function(data){
</tr> </tr>
<!-- END switch_avatar_local_gallery --> <!-- END switch_avatar_local_gallery -->
<!-- END switch_avatar_block --> <!-- 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 --> <!-- ENDIF / EDIT_PROFILE -->
<!-- IF SHOW_REG_AGREEMENT --> <!-- IF SHOW_REG_AGREEMENT -->