Ejemplo n.º 1
0
    function register_action() {
        if(front::post('submit')) {
            if(!config::get('reg_on')) {
                front::flash(lang('网站已经关闭注册!'));
                return;
            }
            if(config::get('verifycode')) {
                if(!session::get('verify') ||front::post('verify')<>session::get('verify')) {
                    front::flash(lang('验证码错误!'));
                    return;
                }
            }
            if(front::post('username') != strip_tags(front::post('username'))
                    ||front::post('username') != htmlspecialchars(front::post('username'))
            ) {
                front::flash(lang('用户名不规范!'));
                return;
            }
            if(strlen(front::post('username'))<4) {
                front::flash(lang('用户名太短!'));
                return;
            }
            if(strlen(front::post('e_mail'))<1) {
                front::flash(lang('请填写邮箱!'));
                return;
            }
			if(strlen(front::post('tel'))<1) {
                front::flash(lang('请填写手机号码!'));
                return;
            }
		
			
            if(front::post('username') &&front::post('password')) {
                $username=front::post('username');
                $password=md5(front::post('password'));
                $e_mail=front::post('e_mail');
                $tel=front::post('tel');
                if(!preg_match('/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/', front::ip())&&!preg_match('@^\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?\s*$@', front::ip())){
                	exit('来源非法');
                }
                $data=array(
                        'username'=>$username,
                        'password'=>$password,
                        'e_mail'=>$e_mail,
                        'tel'=>$tel,
                        'groupid'=>101,
                        'userip'=>front::ip()
                );
                //phpox 2011-06-10
                foreach($this->view->field as $f){
                    $name=$f['name'];
                    if(!preg_match('/^my_/',$name)) {
                        unset($field[$name]);
                        continue;
                    }
                    if(!setting::$var['user'][$name]['showinreg']) {
                        continue;
                    }
                    $data[$name] = front::post($name);
                }
                if($this->_user->getrow(array('username'=>$username))) {
                    front::flash(lang('该用户名已被注册!'));
                    return;
                }
                $insert=$this->_user->rec_insert($data);
                $_userid = $this->_user->insert_id();
                if($insert){
                    if(config::get('sms_on') && config::get('sms_reg_on')){
                        sendMsg($tel,config::get('sms_reg'));
                    }
                    $cmsname = config::get('sitename');
                    if(config::get('email_reg_on')){
                    	$this->sendmail($e_mail,"欢迎注册 $cmsname !",lang('尊敬的').$username.', '.lang('您好!欢迎你注册'.$cmsname.'!'));
                    }
                    
                    front::flash(lang('注册成功!'));
                }else {
                    front::flash(lang('注册失败!'));
                    return;
                }
                if(union::getconfig('enabled')) {
                    $union_visitid = intval(cookie::get('union_visitid'));
                    $union_userid = intval(cookie::get('union_userid'));
                    if($union_visitid &&$union_userid) {
                        $union_reg = new union();
                        $r = $union_reg->getrow(array('userid'=>$union_userid));
                        if($r) {
                            $union_reg->rec_update(array('registers'=>'[registers+1]'),array('userid'=>$union_userid));
                            if($union_reg->affected_rows()) {
                                $union_visit_reg = new union_visit();
                                $union_visit_reg->rec_update(array('regusername'=>front::post('username'),'regtime'=>time()),array('visitid'=>$union_visitid));
                                $this->_user->rec_update(array('introducer'=>$union_userid),array('userid'=>$_userid));
                                $regrewardtype = union::getconfig('regrewardtype');
                                $regrewardnumber = union::getconfig('regrewardnumber');
                                switch($regrewardtype) {
                                    case 'point':
                                        union::pointadd($r['username'],$regrewardnumber,'union');
                                        break;
                                }
                            }
                        }
                    }
                }
                $user=$data;
                cookie::set('login_username',$user['username']);
                cookie::set('login_password',front::cookie_encode($user['password']));
                session::set('username',$user['username']);
                front::redirect(url::create('user'));
                exit;
            }
            else {
                front::flash(lang('注册失败!'));
                return;
            }
        }
    }
Ejemplo n.º 2
0
    function UnionShow()
    {
        if ($this->CanUnionBattle() !== true) {
            $host = $_SERVER['HTTP_HOST'];
            $uri = rtrim(dirname($_SERVER['PHP_SELF']));
            $extra = INDEX;
            header("Location: http://{$host}{$uri}/{$extra}?hunt");
            exit;
        }
        //if($Result	= $this->UnionProcess())
        //	return true;
        print '<div style="margin:15px">' . "\n";
        print "<h4>Union Monster</h4>\n";
        $Union = new union();
        // 倒されているか、存在しない場合。
        if (!$Union->UnionNumber($_GET["union"]) || !$Union->is_Alive()) {
            ShowError("Defeated or not Exists.");
            return false;
        }
        print '</div>';
        $this->ShowCharacters(array($Union), false, "sea");
        print '<div style="margin:15px">' . "\n";
        print "<h4>Teams</h4>\n";
        print "</div>";
        print '<form action="' . INDEX . '?union=' . $_GET["union"] . '" method="post">';
        $this->ShowCharacters($this->char, CHECKBOX, explode("<>", $this->party_memo));
        ?>
	<div style="margin:15px;text-align:center">
	<input type="submit" class="btn" value="战斗!">
	<input type="hidden" name="union_battle" value="1">
	<input type="reset" class="btn" value="重置"><br>
	保存此队伍:<input type="checkbox" name="memory_party" value="1">
	</div></form>
<?php 
    }
Ejemplo n.º 3
0
 function register_action() {
     $r = $this->_union->getrow(array('userid'=>$this->view->data['userid']));
     if($r) {
         echo '<script type="text/javascript">alert("'.lang('你已经申请,转入联盟页面!').'")</script>';
         front::refresh(url::create('union/stats'));
     }
     if(front::post('submit')) {
         if(!config::get('reg_on')) {
             front::flash(lang('网站已经关闭注册!'));
             return;
         }
         if(config::get('verifycode')) {
             if(!session::get('verify') ||front::post('verify')<>session::get('verify')) {
                 front::flash(lang('验证码错误!'));
                 return;
             }
         }
         if(front::post('nickname') != strip_tags(front::post('nickname'))
                 ||front::post('nickname') != htmlspecialchars(front::post('nickname'))
         ) {
             front::flash(lang('姓名不规范!'));
             return;
         }
         if(strlen(front::post('nickname'))<4) {
             front::flash(lang('请填写认真填写真实姓名!'));
             return;
         }
         if(strlen(front::post('payaccount'))<1) {
             front::flash(lang('请填写支付账号!'));
             return;
         }
         if(strlen(front::post('tel'))<1) {
             front::flash(lang('请填写联系电话!'));
             return;
         }
         if(strlen(front::post('address'))<1) {
             front::flash(lang('请填写联系地址!'));
             return;
         }
         if(strlen(front::post('website'))<1) {
             front::flash(lang('请填写网站地址!'));
             return;
         }
         /*if(strlen(front::post('e_mail'))<1) {
             front::flash(lang('请填写邮箱!'));
             return;
         }*/
         if(is_array($_POST)){
         	foreach ($_POST as $v){
         		if(preg_match('/(select|load_file|\[|password)/i', $v)){
         			exit('not access');
         		}
         	}
         }
         $userarr = array();
         $userarr['nickname'] = front::$post['nickname'];
         $userarr['tel'] = front::$post['tel'];
         $userarr['address'] = front::$post['address'];
         //$userarr['e_mail'] = front::$post['e_mail'];
         $unionarr = array();
         $unionarr['userid'] = $this->view->data['userid'];
         $unionarr['username'] = $this->view->data['username'];
         $unionarr['payaccount'] = front::$post['payaccount'];
         $unionarr['website'] = front::$post['website'];
         $unionarr['profitmargin'] = union::getconfig('profitmargin');
         $unionarr['regtime'] = time();
         $unionarr['regip'] = front::ip();
         $unionarr['passed'] = 1;
         if(front::post('nickname') &&$this->view->data['userid']) {
             $insert=$this->_user->rec_update($userarr,'userid='.$this->view->user['userid']);
             $insert1 = $this->_union->rec_insert($unionarr);
             if($insert &&$insert1) front::flash(lang('申请成功!'));
             else {
                 front::flash(lang('申请失败!'));
                 return;
             }
             front::redirect(url::create('union/stats'));
             exit;
         }
         else {
             front::flash(lang('申请失败!'));
             return;
         }
     }
 }