Grw::login PHP Méthode

login() public méthode

登陆
public login ( )
    function login()
    {
        if (FeiClass(FeiAcl)->get() == 'Fei_Admin') {
            //already login
            $this->jump(FeiUrl('Grw'));
        } else {
            if (isset($_POST['username'])) {
                //validate basic login
                $user = FeiClass(model_user);
                $conditions = array('username' => $this->FeiArgs('username'), 'password' => $this->FeiArgs('password'));
                if ($user->find($conditions)) {
                    //Login Success
                    $user_info = $user->find($conditions);
                    FeiClass(FeiAcl)->set('Fei_Admin');
                    $_SESSION['Fei_Userid'] = $user_info['id'];
                    $_SESSION['Fei_Realname'] = $user_info['realname'];
                    setcookie('Fei_Userid', $user_info['id']);
                    $this->jump(FeiUrl('Grw'));
                } else {
                    $this->error('用户名或密码错误!', FeiUrl('Grw'));
                }
            } else {
                if (isset($_GET['state']) && $_GET['state'] == $_SESSION['qq_state']) {
                    #login for qq
                    $openid = FeiClass('FeiQQlogin')->openid();
                    $_SESSION['openid'] = $openid;
                    $user = FeiClass('model_user');
                    $ucon = array('openid' => $openid);
                    if ($user_info = $user->find($ucon)) {
                        #if find openid then login in
                        #@TODO:check avatar is_file
                        if (is_file('statics/images/avatar/' . $user_info['avatar'] . '.jpg')) {
                        } else {
                        }
                        FeiClass(FeiAcl)->set('Fei_Admin');
                        $_SESSION['Fei_Userid'] = $user_info['id'];
                        $_SESSION['Fei_Realname'] = $user_info['realname'];
                        setcookie('Fei_Userid', $user_info['id']);
                        $this->jump(FeiUrl('Grw'));
                    } else {
                        #if non't find openid them create new user
                        $userinfo = FeiClass('FeiQQlogin')->get_user_info($openid);
                        $userinfo = json_decode($userinfo);
                        /*
                        #注册页面
                        #昵称
                        $this->nickname = $userinfo->nickname;
                        #40*40
                        $this->avatar = $userinfo->figureurl_qq_1;
                        #100*100
                        $this->avatar2 = $userinfo->figureurl_qq_2;
                        #@return 男 女
                        $this->gender = $userinfo->gender;
                        $this->display("Grw/check.html");
                        */
                        #创建用户
                        $row = array('openid' => $openid, 'realname' => $userinfo->nickname, 'avatar' => $userinfo->figureurl_qq_2, 'gender' => $userinfo->gender);
                        $user = FeiClass('model_user');
                        if ($uid = $user->create($row)) {
                            FeiClass('FeiAcl')->set('Fei_Admin');
                            $_SESSION['Fei_Userid'] = $uid;
                            $_SESSION['Fei_Realname'] = $userinfo->nickname;
                            $this->jump(FeiUrl('Grw'));
                        } else {
                            echo 'register error';
                            exit;
                        }
                    }
                } else {
                    //show login
                    //                $this->__initial();
                    //                $this->jump('http://www.grw.name/index.php?c=Grw&a=login');
                    #qq login 开发人员离线开发请注释,并在数据库fei_user表中添加一个条新数据,使username, password字段有值
                    FeiClass('FeiQQlogin')->login();
                }
            }
        }
    }