From 7f5443a08c27cbef9fe27a6d3bbd8615ec517894 Mon Sep 17 00:00:00 2001 From: pherum83 Date: Mon, 5 Sep 2011 10:51:53 +0000 Subject: [PATCH] r286 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Перенос деактивации юзера в Ajax git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@286 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293 --- upload/ajax.php | 47 ++------------ upload/ajax/delete_userdata.php | 63 +++++++++++++++++++ upload/config.php | 4 +- upload/includes/functions.php | 4 +- upload/includes/ucp/usercp_register.php | 17 +---- upload/language/lang_english/lang_admin.php | 1 - upload/language/lang_english/lang_main.php | 8 +++ upload/language/lang_russian/lang_admin.php | 1 - upload/language/lang_russian/lang_main.php | 8 +++ upload/templates/default/usercp_register.tpl | 12 ---- .../templates/default/usercp_viewprofile.tpl | 3 + 11 files changed, 92 insertions(+), 76 deletions(-) create mode 100644 upload/ajax/delete_userdata.php diff --git a/upload/ajax.php b/upload/ajax.php index 9c99b2447..fed3291e6 100644 --- a/upload/ajax.php +++ b/upload/ajax.php @@ -449,48 +449,6 @@ class ajax_common unset($moderators, $mod); $datastore->rm('moderators'); } - - function delete_userdata() - { - global $userdata, $lang, $bb_cfg; - $mode = (string) $this->request['mode']; - $user_id = $this->request['user_id']; - if (!IS_ADMIN) $this->ajax_die($lang['NOT_ADMIN']); - - if ($mode == 'delete_profile') - { - if ($userdata['user_id'] == $user_id) $this->ajax_die($lang['USER_DELETE_ME']); - if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['USER_DELETE_CONFIRM']); - - if ($user_id != 2 && $user_id != BOT_UID) - { - require(INC_DIR .'functions_admin.php'); - - user_delete($user_id); - delete_user_sessions($user_id); - - $this->response['info'] = $lang['USER_DELETED']; - } - else $this->ajax_die($lang['USER_DELETE_CSV']); - } - if ($mode == 'delete_message') - { - if (empty($this->request['confirmed']) && $userdata['user_id'] == $user_id) $this->prompt_for_confirm($lang['DELETE_USER_POSTS_ME']); - if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['DELETE_USER_POSTS_CONFIRM']); - if (IS_ADMIN) - { - require(INC_DIR .'functions_admin.php'); - - post_delete('user', $user_id); - - $this->response['info'] = $lang['USER_DELETED_POSTS']; - } - else $this->ajax_die($lang['NOT_ADMIN']); - } - - $this->response['mode'] = $mode; - $this->response['url'] = html_entity_decode(make_url('/') . PROFILE_URL . $user_id); - } function view_post () { @@ -526,5 +484,10 @@ class ajax_common { require(AJAX_DIR .'posts.php'); } + + function delete_userdata() + { + require(AJAX_DIR .'delete_userdata.php'); + } } diff --git a/upload/ajax/delete_userdata.php b/upload/ajax/delete_userdata.php new file mode 100644 index 000000000..be18b4a34 --- /dev/null +++ b/upload/ajax/delete_userdata.php @@ -0,0 +1,63 @@ +request['mode']; +$user_id = $this->request['user_id']; + +switch($mode) +{ + case 'delete_profile': + if ($userdata['user_id'] == $user_id) $this->ajax_die($lang['USER_DELETE_ME']); + if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['USER_DELETE_CONFIRM']); + + if ($user_id != 2 && $user_id != BOT_UID) + { + require(INC_DIR .'functions_admin.php'); + + user_delete($user_id); + delete_user_sessions($user_id); + + $this->response['info'] = $lang['USER_DELETED']; + } + else $this->ajax_die($lang['USER_DELETE_CSV']); + break; + + case 'delete_message': + if (empty($this->request['confirmed']) && $userdata['user_id'] == $user_id) $this->prompt_for_confirm($lang['DELETE_USER_POSTS_ME']); + if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['DELETE_USER_POSTS_CONFIRM']); + + if (IS_ADMIN) + { + require(INC_DIR .'functions_admin.php'); + + post_delete('user', $user_id); + + $this->response['info'] = $lang['USER_DELETED_POSTS']; + } + else $this->ajax_die($lang['NOT_ADMIN']); + break; + + case 'user_activate': + if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['DEACTIVATE_CONFIRM']); + + DB()->query("UPDATE ". BB_USERS ." SET user_active = '1' WHERE user_id = ". $user_id); + + $this->response['info'] = $lang['USER_ACTIVATE_ON']; + break; + + case 'user_deactivate': + if ($userdata['user_id'] == $user_id) $this->ajax_die($lang['USER_DEACTIVATE_ME']); + if (empty($this->request['confirmed'])) $this->prompt_for_confirm($lang['ACTIVATE_CONFIRM']); + + DB()->query("UPDATE ". BB_USERS ." SET user_active = '0' WHERE user_id = ". $user_id); + delete_user_sessions($user_id); + + $this->response['info'] = $lang['USER_ACTIVATE_OFF']; + break; +} + +$this->response['mode'] = $mode; +$this->response['url'] = html_entity_decode(make_url('/') . PROFILE_URL . $user_id); \ No newline at end of file diff --git a/upload/config.php b/upload/config.php index 9d80a4c16..d7ecfbe3b 100644 --- a/upload/config.php +++ b/upload/config.php @@ -53,8 +53,8 @@ $bb_cfg = $tr_cfg = $page_cfg = array(); // Increase number of revision after update $bb_cfg['tp_version'] = '2.1 Stable'; -$bb_cfg['tp_release_state'] = 'R284'; -$bb_cfg['tp_release_date'] = '04-09-2011'; +$bb_cfg['tp_release_state'] = 'R286'; +$bb_cfg['tp_release_date'] = '05-09-2011'; // Database $charset = 'utf8'; diff --git a/upload/includes/functions.php b/upload/includes/functions.php index 97f87770c..f41e92d19 100644 --- a/upload/includes/functions.php +++ b/upload/includes/functions.php @@ -2829,8 +2829,8 @@ function profile_url($data) if(isset($ranks[$user_rank])) { $title = $ranks[$user_rank]['rank_title']; $style = $ranks[$user_rank]['rank_style']; } - if(empty($title)) $title = 'User'; - if(empty($style)) $style = 'colorUser'; + if(empty($title)) $title = ''; + if(empty($style)) $style = ''; if(!$bb_cfg['color_nick']) $style = ''; diff --git a/upload/includes/ucp/usercp_register.php b/upload/includes/ucp/usercp_register.php index b08b08321..446a08efd 100644 --- a/upload/includes/ucp/usercp_register.php +++ b/upload/includes/ucp/usercp_register.php @@ -102,7 +102,6 @@ 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 @@ -195,19 +194,6 @@ 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) */ case 'username': @@ -528,11 +514,10 @@ foreach ($profile_fields as $field => $can_edit) $skype = isset($_POST['user_skype']) ? (string) $_POST['user_skype'] : $pr_data['user_skype']; if ($submit && $skype != $pr_data['user_skype']) { - if (!preg_match("#^[a-zA-Z0-9_.\-@,]{6,32}$#", $skype)) + if ($skype != '' && !preg_match("#^[a-zA-Z0-9_.\-@,]{6,32}$#", $skype)) { $errors[] = $lang['SKYPE_ERROR']; } - $pr_data['user_skype'] = $skype; $db_data['user_skype'] = (string) $skype; } diff --git a/upload/language/lang_english/lang_admin.php b/upload/language/lang_english/lang_admin.php index e81091ad3..f1773febc 100644 --- a/upload/language/lang_english/lang_admin.php +++ b/upload/language/lang_english/lang_admin.php @@ -384,7 +384,6 @@ $lang['ADMIN_USER_FAIL'] = 'Couldn\'t update the user\'s profile.'; $lang['ADMIN_USER_UPDATED'] = 'The user\'s profile was successfully updated.'; $lang['CLICK_RETURN_USERADMIN'] = 'Click %sHere%s to return to User Administration'; -$lang['USER_STATUS'] = 'User is active'; $lang['USER_ALLOWPM'] = 'Can send Private Messages'; $lang['USER_ALLOWAVATAR'] = 'Can display avatar'; diff --git a/upload/language/lang_english/lang_main.php b/upload/language/lang_english/lang_main.php index 9bf18f655..77f08d6f5 100644 --- a/upload/language/lang_english/lang_main.php +++ b/upload/language/lang_english/lang_main.php @@ -1600,6 +1600,14 @@ $lang['DELETE_USER_POSTS_ME'] = 'Are you sure you want to delete all my posts?'; $lang['DELETE_USER_POSTS_CONFIRM'] = 'Are you sure you want to delete all of your users?'; $lang['USER_DELETED_POSTS'] = 'Posts were successfully removed'; +$lang['USER_ACTIVATE'] = 'Activate'; +$lang['USER_DEACTIVATE'] = 'Deactivate'; +$lang['DEACTIVATE_CONFIRM'] = 'Are you sure you want to enable this user?'; +$lang['USER_ACTIVATE_ON'] = 'User has successfully activated'; +$lang['USER_DEACTIVATE_ME'] = 'You can not deactivate my account!'; +$lang['ACTIVATE_CONFIRM'] = 'Are you sure you want to disable this user?'; +$lang['USER_ACTIVATE_OFF'] = 'User successfully deactivated'; + // Register $lang['CHOOSE_A_NAME'] = 'You should choose a name'; $lang['CHOOSE_E_MAIL'] = 'You must specify the e-mail'; diff --git a/upload/language/lang_russian/lang_admin.php b/upload/language/lang_russian/lang_admin.php index 18e6e9988..d02dfaad9 100644 --- a/upload/language/lang_russian/lang_admin.php +++ b/upload/language/lang_russian/lang_admin.php @@ -384,7 +384,6 @@ $lang['ADMIN_USER_FAIL'] = 'Не могу изменить профиль пол $lang['ADMIN_USER_UPDATED'] = 'Профиль пользователя был успешно изменён'; $lang['CLICK_RETURN_USERADMIN'] = '%sВернуться к управлению пользователями%s'; -$lang['USER_STATUS'] = 'Пользователь активен'; $lang['USER_ALLOWPM'] = 'Может посылать личные сообщения'; $lang['USER_ALLOWAVATAR'] = 'Может показывать аватару'; diff --git a/upload/language/lang_russian/lang_main.php b/upload/language/lang_russian/lang_main.php index 8c8cf3f33..1b8882e99 100644 --- a/upload/language/lang_russian/lang_main.php +++ b/upload/language/lang_russian/lang_main.php @@ -1606,6 +1606,14 @@ $lang['DELETE_USER_POSTS_ME'] = 'Вы действительно хотите у $lang['DELETE_USER_POSTS_CONFIRM'] = 'Вы действительно хотите удалить все свои пользователя?'; $lang['USER_DELETED_POSTS'] = 'Сообщения успешно удалены'; +$lang['USER_ACTIVATE'] = 'Активировать'; +$lang['USER_DEACTIVATE'] = 'Деактивировать'; +$lang['DEACTIVATE_CONFIRM'] = 'Вы действительно хотите активировать этого пользователя?'; +$lang['USER_ACTIVATE_ON'] = 'Пользователь успешно активирован'; +$lang['USER_DEACTIVATE_ME'] = 'Вы не можете деактивировать свой аккаунт!'; +$lang['ACTIVATE_CONFIRM'] = 'Вы действительно хотите деактивировать этого пользователя?'; +$lang['USER_ACTIVATE_OFF'] = 'Пользователь успешно деактивирован'; + // Регистрация $lang['CHOOSE_A_NAME'] = 'Вы должны выбрать имя'; $lang['CHOOSE_E_MAIL'] = 'Вы должны указать e-mail'; diff --git a/upload/templates/default/usercp_register.tpl b/upload/templates/default/usercp_register.tpl index 7d3fc35ee..87c6a0d6f 100644 --- a/upload/templates/default/usercp_register.tpl +++ b/upload/templates/default/usercp_register.tpl @@ -281,18 +281,6 @@ ajax.callback.posts = function(data){ - - - {L_MANAGE_USER} - - - {L_USER_STATUS} - -    - - - - diff --git a/upload/templates/default/usercp_viewprofile.tpl b/upload/templates/default/usercp_viewprofile.tpl index c2566826c..6830ec335 100644 --- a/upload/templates/default/usercp_viewprofile.tpl +++ b/upload/templates/default/usercp_viewprofile.tpl @@ -210,6 +210,9 @@ $(document).ready(function(){ {L_JOINED}: {USER_REGDATE} + + [ {L_USER_DEACTIVATE}{L_USER_ACTIVATE} ] +