/** * 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; } */ } }
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'); } } } }
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; }
} 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) {