diff --git a/upload/source/admincp/admincp_members.php b/upload/source/admincp/admincp_members.php index 81c0338ae845bdabaa3362d2ef13e080e6317602..60e76b54433b95973b64b6b8a5862ab5053a15a6 100644 --- a/upload/source/admincp/admincp_members.php +++ b/upload/source/admincp/admincp_members.php @@ -1970,7 +1970,11 @@ EOF; } showsetting('members_edit_clearquestion', 'clearquestion', 0, 'radio'); showsetting('members_edit_status', 'statusnew', $member['status'], 'radio'); - showsetting('members_edit_freeze', 'freezenew', $member['freeze'], 'radio'); + showsetting('members_edit_freeze', array('freezenew', array( + array(0, $lang['members_edit_freeze_false']), + array(1, $lang['members_edit_freeze_password']), + array(-1, $lang['members_edit_freeze_admincp']), + array(2, $lang['members_edit_freeze_email']))), $member['freeze'], 'mradio'); showsetting('members_edit_email', 'emailnew', $member['email'], 'text'); showsetting('members_edit_email_emailstatus', 'emailstatusnew', $member['emailstatus'], 'radio'); showsetting('members_edit_posts', 'postsnew', $member['posts'], 'text'); @@ -2090,7 +2094,7 @@ EOF; $addsize = intval($_GET['addsizenew']); $addfriend = intval($_GET['addfriendnew']); $status = intval($_GET['statusnew']) ? -1 : 0; - $freeze = intval($_GET['freezenew']) ? -1 : 0; + $freeze = in_array($_GET['freezenew'], array(-1, 0, 1, 2)) ? $_GET['freezenew'] : 0; $emailstatusnew = intval($_GET['emailstatusnew']); if(!empty($_G['setting']['connect']['allow'])) { if($member['uinblack'] && empty($_GET['uinblack'])) { diff --git a/upload/source/admincp/moderate/moderate_member.php b/upload/source/admincp/moderate/moderate_member.php index e5b6434e2784b34fa111c81f297cfcf3fc5ceef4..d8148064b1519636a6479246fe0830a3dc48bd03 100644 --- a/upload/source/admincp/moderate/moderate_member.php +++ b/upload/source/admincp/moderate/moderate_member.php @@ -38,7 +38,7 @@ if($do == 'mod') { $allmemberprofile = C::t('common_member_profile')->fetch_all($uids, false, 0); foreach($allvalidate as $uid => $member) { $member = array_merge((array)$member, (array)$allmember[$uid], (array)$allmemberstatus[$uid], (array)$allmemberprofile[$uid]); - if($member['groupid'] != 8 && $member['freeze'] != 2) { + if($member['groupid'] != 8 && !in_array($member['freeze'], array(-1, 2))) { $vuids[$uid] = $uid; continue; } @@ -169,7 +169,7 @@ EOT; $allmembervalidate = $uids ? C::t('common_member_validate')->fetch_all($uids) : C::t('common_member_validate')->range(); foreach(C::t('common_member')->fetch_all(array_keys($allmembervalidate), false, 0) as $uid => $member) { - if($member['groupid'] == 8 || $member['freeze'] == 2) { + if($member['groupid'] == 8 || $member['freeze'] == 2 || $member['freeze'] == -1) { $members[$uid] = $member; } } diff --git a/upload/source/include/spacecp/spacecp_profile.php b/upload/source/include/spacecp/spacecp_profile.php index c4f81b6e1224d44b0a169750630079cc68a148e5..f82afa97240d48cf361f13ba5f080c294d2670da 100644 --- a/upload/source/include/spacecp/spacecp_profile.php +++ b/upload/source/include/spacecp/spacecp_profile.php @@ -386,8 +386,28 @@ if(submitcheck('profilesubmit')) { } C::t('common_member')->update($_G['uid'], $setarr); } - if($_G['member']['freeze'] == 2) { - C::t('common_member_validate')->update($_G['uid'], array('message' => dhtmlspecialchars($_G['gp_freezereson']))); + if($_G['member']['freeze'] == 2 || $_G['member']['freeze'] == -1) { + $status = C::t('common_member_validate')->fetch($_G['uid']); + if($status) { + C::t('common_member_validate')->update($_G['uid'], array( + 'submitdate' => TIMESTAMP, + 'submittimes' => $status['submittimes'] + 1, + 'status' => 0, + 'message' => dhtmlspecialchars(addslashes($_POST['freezereson'])), + )); + } else { + C::t('common_member_validate')->insert(array( + 'uid' => $_G['uid'], + 'submitdate' => TIMESTAMP, + 'moddate' => 0, + 'admin' => '', + 'submittimes' => 1, + 'status' => 0, + 'message' => dhtmlspecialchars(addslashes($_POST['freezereson'])), + 'remark' => '', + ), false, true); + } + manage_addnotify('verifyuser'); } if($authstr) { @@ -422,9 +442,13 @@ if($operation == 'password') { } $actives = array('password' =>' class="a"'); $navtitle = lang('core', 'title_password_security'); - if($_G['member']['freeze'] == 2) { + if($_G['member']['freeze'] == 2 || $_G['member']['freeze'] == -1) { $fzvalidate = C::t('common_member_validate')->fetch($space['uid']); $space['freezereson'] = $fzvalidate['message']; + $space['freezemodremark'] = $fzvalidate['remark']; + $space['freezemoddate'] = dgmdate($fzvalidate['moddate'], 'Y-m-d H:i:s'); + $space['freezemodadmin'] = $fzvalidate['admin']; + $space['freezemodsubmittimes'] = $fzvalidate['submittimes']; } } else { diff --git a/upload/source/language/home/lang_template.php b/upload/source/language/home/lang_template.php index d4675020e7800f2fc3549bc5f3d7e2fb59ae3798..39e114870482d2b49ed9cbe36a22d7f593a94310 100644 --- a/upload/source/language/home/lang_template.php +++ b/upload/source/language/home/lang_template.php @@ -1541,9 +1541,13 @@ $lang = array ( 'connect_fill_profile_to_comment' => '您需要完善帐号信息绑定已有帐号 后才可以留言', 'save_to_album' => '保存到相册', 'usergroup_expired' => '您当前的用户组已经到期,请选择继续续费还是要切换到其他用户组', - 'freeze_pw_tips' => '您当前的帐号存在安全隐患已经被冻结,请修改密码解除冻结状态', - 'freeze_email_tips' => '您当前的帐号已经太长时间未登录网站已经被冻结,必须验证邮箱后才能解除冻结状态 重新接收验证邮件', + 'freeze_pw_tips' => '您当前的帐号已经被冻结,请修改密码解除冻结状态', + 'freeze_email_tips' => '您当前的帐号已经被冻结,必须验证邮箱后才能解除冻结状态 重新接收验证邮件', + 'freeze_admincp_tips' => '您当前的帐号已经被冻结,必须在本页面填写申诉理由,并经管理中心审核通过后才能解除冻结状态', 'freeze_reason' => '申诉理由', 'freeze_reason_comment' => '如果您无法通过邮箱验证,请填写申诉理由', + 'freeze_reason_admincp_comment' => '如果您认为您的账号不应被冻结,请填写申诉理由', + 'freeze_remark' => '审核结果', + 'freeze_remark_comment' => '您已提交 $space[freezemodsubmittimes] 次审核,最后一次审核操作由 $space[freezemodadmin] 于 $space[freezemoddate] 做出', ); ?> \ No newline at end of file diff --git a/upload/source/language/lang_admincp.php b/upload/source/language/lang_admincp.php index 027995a93b4523891d4145fae1ea8d963be4bd1c..871cf529153d9b55719611b900e432f2a48d1236 100644 --- a/upload/source/language/lang_admincp.php +++ b/upload/source/language/lang_admincp.php @@ -3429,7 +3429,11 @@ $lang = array 'members_edit_password_comment' => '如果不更改密码此处请留空', 'members_edit_clearquestion' => '清除用户安全提问', 'members_edit_status' => '锁定当前用户', - 'members_edit_freeze' => '冻结当前用户', + 'members_edit_freeze' => '用户冻结状态', + 'members_edit_freeze_false' => '未冻结', + 'members_edit_freeze_password' => '需重置密码后解冻', + 'members_edit_freeze_admincp' => '需后台审核后解冻', + 'members_edit_freeze_email' => '需验证邮箱或后台审核后解冻', 'members_edit_clearquestion_comment' => '选择“是”将清除用户安全提问,该用户将不需要回答安全提问即可登录;选择“否”为不改变用户的安全提问设置', 'members_edit_nickname' => '昵称', 'members_edit_gender' => '性别', diff --git a/upload/template/default/home/spacecp_profile.htm b/upload/template/default/home/spacecp_profile.htm index d1735ab5c493ed5fb6ec9669617a947703efc721..9dfb9a352c23eb198e13b35454a1136a9020f5c2 100644 --- a/upload/template/default/home/spacecp_profile.htm +++ b/upload/template/default/home/spacecp_profile.htm @@ -38,6 +38,8 @@ {lang freeze_pw_tips} {lang freeze_email_tips} + + {lang freeze_admincp_tips}

@@ -68,7 +70,9 @@

- + +

{lang freeze_email_tips}

+ {lang email_been_active} $acitvemessage @@ -78,12 +82,23 @@ - + {lang freeze_reason} -

{lang freeze_reason_comment}

+

{lang freeze_reason_comment}

+

{lang freeze_reason_admincp_comment}

+ + + + + + + {lang freeze_remark} + + +

{lang freeze_remark_comment}