示例#1
0
 /**
  * on dispatch before hook
  * 
  * @param Request $request
  * @param Response $response
  */
 public static function on_dispatch_before(Request $request, Response $response)
 {
     // 检查q是否在白名单中
     $loginIgnore = false;
     $q = $request->q();
     if (!empty($q)) {
         foreach (self::$loginWhiteList as $key) {
             if (SimPHP::qMatchPattern($key, $q)) {
                 $loginIgnore = true;
                 break;
             }
         }
     }
     // 检查登录状态
     if (!$loginIgnore && !Member::isLogined()) {
         import('user/*');
         $user_Controller = new User_Controller();
         $user_Controller->login($request, $response);
         exit;
     }
     //读取最新用户信息以客户端缓存
     global $user;
     if ($user->uid) {
         $uinfo = Member::getTinyInfoByUid($user->uid, FALSE);
         $user->openid = $uinfo['openid'];
         $user->unionid = $uinfo['unionid'];
         $user->subscribe = $uinfo['subscribe'];
         $user->username = $uinfo['username'];
         $user->nickname = $uinfo['nickname'];
         $user->sex = $uinfo['sex'];
         $user->logo = $uinfo['logo'];
         //$user->ec_user_id= $uinfo['ec_user_id'];
         /*
         if (!$request->is_hashreq()) { //不是hash request,则查看购物车是否有商品
           $cartNum = Goods::getUserCartNum($user->ec_user_id);
           $user->ec_cart_num = $cartNum;
         }
         */
     }
 }
示例#2
0
function FT_load()
{
    $config = (require_once PATH_APPLICATION . '/config/init.php');
    autoDeleteFile();
    $arrayUrl = parseUrl();
    if (!empty($_SESSION['name'])) {
        process();
    } else {
        if (!empty($_COOKIE['name'])) {
            $_SESSION['name'] = $_COOKIE['name'];
            $_SESSION['id'] = $_COOKIE['id'];
            $_SESSION['avatar'] = $_COOKIE['avatar'];
        } else {
            if ($arrayUrl[0] == 'user' && $arrayUrl[1] == 'login') {
                $controllerObject = new User_Controller();
                $controllerObject->login();
            } else {
                headerUrl('/user/login');
            }
        }
    }
}
示例#3
0
 function login($app)
 {
     $app->post('/login', function ($request, $response, $args) {
         $user = new User_Controller();
         $ret = $user->login($request, $response, $args);
         return $response->withStatus(200)->withHeader("Location", "/");
     })->setName('login');
     $app->get('/logout', function ($request, $response, $args) {
         unset($_SESSION['userID']);
         $this->auth = false;
         return $this->view->render($response, 'index.html', ['auth' => $this->auth, 'user' => $this->user]);
         //return $response->withStatus(307)->withHeader("Location", "/");
     })->setName('login');
     return $app;
 }
示例#4
0
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (empty($_POST['User_Name'])) {
        $errors[] = "You forgot to enter your name";
    } else {
        $user_name = $_POST['User_Name'];
    }
    if (empty($_POST['User_Password'])) {
        $errors[] = "You forgot to enter Your password";
    } else {
        $user_password = $_POST['User_Password'];
    }
    if (empty($errors)) {
        $user = new User($user_name, $user_password);
        $user_controller = new User_Controller($user);
        $Logged_In = $user_controller->login();
        if ($Logged_In) {
            //get the new user
            //and from the new user find the type of the user
            $Logged_In_User = $user_controller->getUser();
            $user_type = $Logged_In_User->getUserType();
            if ($user_type == User_Type::OPERATOR) {
                redirect_user(User_Type::OPERATOR);
            } else {
                if ($user_type == User_Type::ENCODER) {
                    redirect_user(User_Type::ENCODER);
                } else {
                    if ($user_type == User_Type::NORMAL_ENCODER) {
                        redirect_user(User_Type::NORMAL_ENCODER);
                    } else {
                        if ($user_type == User_Type::ADMIN) {