public function login() { if (pamAccount::isEnableVcode('desktop')) { if (!base_vcode::verify($this->app->app_id, $_POST['verifycode'])) { $msg = app::get('desktop')->_('验证码不正确!'); $this->__loginLog($msg); $url = url::route('shopadmin', array('ctl' => 'passport', 'act' => 'index', 'url' => input::get('redirect'), 'msg' => urlencode($msg))); echo "<script>location ='{$url}'</script>"; exit; } } try { kernel::single('desktop_passport')->login(input::get()); $msg = app::get('desktop')->_('验证成功'); $this->__loginLog($msg); } catch (Exception $e) { $msg = $e->getMessage(); $this->__loginLog($msg); $url = url::route('shopadmin', array('ctl' => 'passport', 'act' => 'index', 'url' => input::get('redirect'), 'msg' => urlencode($msg))); echo "<script>location ='{$url}'</script>"; exit; } $params['member_id'] = pamAccount::getAccountId(); $params['uname'] = pamAccount::getLoginName(); foreach (kernel::servicelist('desktop_login_listener') as $service) { $service->listener_login($params); } if (input::get('remember') === "true") { setcookie('pam_passport_basic_uname', input::get('uname'), time() + 365 * 24 * 3600, '/'); } else { setcookie('pam_passport_basic_uname', '', 0, '/'); } if ($_COOKIE['autologin'] > 0) { kernel::single('base_session')->set_cookie_expires($_COOKIE['autologin']); //如果自动登录,设置cookie过期时间,单位:分 } if ($_COOKIE['S']['SIGN']['AUTO'] > 0) { $minutes = 10 * 24 * 60; kernel::single('base_session')->set_cookie_expires($minutes); } header('Location:' . base64_decode(str_replace('%2F', '/', urldecode(input::get('redirect')))) . $url); exit; }