diff --git a/upload/ajax/edit_user_profile.php b/upload/ajax/edit_user_profile.php index c6d19ff32..15b41855c 100644 --- a/upload/ajax/edit_user_profile.php +++ b/upload/ajax/edit_user_profile.php @@ -90,6 +90,7 @@ switch ($field) case 'user_from': case 'user_occ': + case 'user_interests': $value = htmlCHR($value); $this->response['new_value'] = $value; break; diff --git a/upload/config.php b/upload/config.php index 9f4a549b3..1482dee32 100644 --- a/upload/config.php +++ b/upload/config.php @@ -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 diff --git a/upload/gallery.php b/upload/gallery.php index 854d21e66..444b4bed7 100644 --- a/upload/gallery.php +++ b/upload/gallery.php @@ -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']); } diff --git a/upload/includes/ucp/usercp_register.php b/upload/includes/ucp/usercp_register.php index 4d66556f4..590ccde50 100644 --- a/upload/includes/ucp/usercp_register.php +++ b/upload/includes/ucp/usercp_register.php @@ -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'], ''. $users['username'] .'', $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) { diff --git a/upload/templates/default/usercp_register.tpl b/upload/templates/default/usercp_register.tpl index 540283618..f81d061f7 100644 --- a/upload/templates/default/usercp_register.tpl +++ b/upload/templates/default/usercp_register.tpl @@ -272,6 +272,26 @@ ajax.callback.view_message = function(data){ + +