Beispiel #1
0
 function Register()
 {
     if (MEMBER_ID != 0 and false == $this->IsAdmin) {
         $this->Messager('您已经是注册用户,无需再注册!', -1);
     }
     $regstatus = jsg_member_register_check_status();
     if ($regstatus['error']) {
         $this->Messager($regstatus['error'], null);
     }
     $inviter_member = array();
     $action = "index.php?mod=member&code=doregister";
     $check_result = jsg_member_register_check_invite($this->Code);
     if ($regstatus['invite_enable'] && !$regstatus['normal_enable']) {
         if (!$this->Code) {
             $this->Messager("本站目前需要有邀请链接才能注册。" . jsg_member_third_party_reg_msg(), null);
         }
         if (!$check_result) {
             $this->Messager("对不起,您访问的邀请链接不正确或者因邀请数已满而失效,请重新与邀请人索取链接。", null);
         }
     }
     if ($check_result['uid'] > 0) {
         $inviter_member = jsg_member_info($check_result['uid']);
     }
     $action .= "&invite_code=" . urlencode($this->Code);
     if (jsg_getcookie('referer') == '') {
         jsg_setcookie('referer', referer());
     }
     $noemail = 0;
     if ($this->_sms_register()) {
         $sms_bind_num = $this->Post['sms_bind_num'] ? $this->Post['sms_bind_num'] : $this->Get['sms_bind_num'];
         if (!sms_is_phone($sms_bind_num)) {
             $action = "index.php?mod=member&invite_code=" . urlencode($this->Code);
             $this->Title = "请输入您的手机号码";
             include template('member_register_sms');
             return;
         } else {
             if (($_user_info = _sms_client_user($sms_bind_num)) && $_user_info['uid']) {
                 $this->Messager('此手机号已经绑定了其他的帐号');
             }
             if ($_user_info['bind_key_time'] + 60 > time()) {
                 $this->Messager('60秒内仅发送一次,请稍候再试');
             }
             $bind_key = mt_rand(100000, 999999);
             $sets = array('user_im' => $sms_bind_num, 'bind_key' => $bind_key, 'bind_key_time' => time());
             sms_client_user_update($sets, $_user_info);
             $sms_msg = "您的验证码为 {$bind_key}";
             $sms_msg = array_iconv('UTF-8', $this->Config['charset'], $sms_msg);
             sms_send($sms_bind_num, $sms_msg, 0);
         }
         $noemail = jconf::get('sms', 'register_verify', 'noemail');
     }
     $action = "index.php?mod=member&code=doregister&invite_code=" . urlencode($this->Code);
     $this->Title = "注册新用户";
     include template('member_register');
 }
Beispiel #2
0
function jsg_member_register_check_status()
{
    $rets = array();
    if ($GLOBALS['_J']['config']['ldap_enable']) {
        $rets['error'] = '网站启用AD域帐号登录,禁止用户注册';
    } else {
        if ($GLOBALS['_J']['config']['regstatus']) {
            foreach ($GLOBALS['_J']['config']['regstatus'] as $v) {
                $rets["{$v}_enable"] = 1;
            }
        }
        if (!$rets && true !== JISHIGOU_FORCED_REGISTER) {
            $msg = '本站暂时关闭了普通注册功能 ';
            $msg .= jsg_member_third_party_reg_msg();
            $rets['error'] = $GLOBALS['_J']['config']['regclosemessage'] ? $GLOBALS['_J']['config']['regclosemessage'] : $msg;
        }
    }
    return $rets;
}
Beispiel #3
0
 function _reg_check()
 {
     $regstatus = jsg_member_register_check_status();
     if ($regstatus['error']) {
         return $regstatus['error'];
     }
     if (true !== JISHIGOU_FORCED_REGISTER && $regstatus['invite_enable']) {
         if (!$regstatus['normal_enable']) {
             return '本站目前需要有邀请链接才能注册。' . jsg_member_third_party_reg_msg();
         }
     }
     $in_ajax = get_param('in_ajax');
     if ($in_ajax) {
         $this->Post = array_iconv('utf-8', $this->Config['charset'], $this->Post, 1);
     }
     $nickname = trim($this->Post['nickname']);
     $email = trim($this->Post['email']);
     $rets = array('0' => '[未知错误] 有可能是站点关闭了注册功能', '-1' => '不合法', '-2' => '不允许注册', '-3' => '已经存在了', '-4' => '不合法', '-5' => '不允许注册', '-6' => '已经存在了');
     $ret = jsg_member_checkname($nickname, 1);
     if ($ret < 1) {
         return "帐户/昵称 " . $rets[$ret];
     }
     $ret = jsg_member_checkemail($email);
     if ($ret < 1) {
         return "Email " . $rets[$ret];
     }
     $password = trim($this->Post['password']);
     if (strlen($password) < 6) {
         return "密码至少5位以上";
     }
     return '';
 }
Beispiel #4
0
 function Register()
 {
     if (MEMBER_ID > 0 && false == $this->IsAdmin) {
         $this->Messager('您已经是注册用户,无需再注册!', -1);
     }
     $regstatus = jsg_member_register_check_status();
     if ($regstatus['error']) {
         $this->Messager($regstatus['error'], null);
     }
     $inviter_member = array();
     $action = "index.php?mod=member&code=doregister";
     $check_result = jsg_member_register_check_invite($this->Code);
     if ($regstatus['invite_enable'] && !$regstatus['normal_enable']) {
         if (!$this->Code) {
             $this->Messager("本站目前需要有邀请链接才能注册。" . jsg_member_third_party_reg_msg(), null);
         }
         if (!$check_result) {
             $this->Messager("对不起,您访问的邀请链接不正确或者因邀请数已满而失效,请重新与邀请人索取链接。", null);
         }
     }
     if ($check_result['uid'] > 0) {
         $inviter_member = jsg_member_info($check_result['uid']);
     }
     $action .= "&invite_code=" . urlencode($this->Code);
     $referer = jget('referer');
     if (jsg_getcookie('referer') == '') {
         jsg_setcookie('referer', $referer);
     }
     $noemail = 0;
     if ($this->_sms_register()) {
         $noemail = jconf::get('sms', 'register_verify', 'noemail');
     }
     $email = '';
     $_email = get_param('email');
     if (false != jclass('passport')->_is_email($_email)) {
         $email = $_email;
     }
     $this->Title = "注册新用户";
     include template('register/register_member');
 }