public function call($method, $parameters = array(), $appId = 'default', $identity = "") { if ($identity) { switch ($identity) { case "buyer": pamAccount::setAuthType('sysuser'); $oauth['auth_type'] = pamAccount::getAuthType('sysuser'); break; case "seller": pamAccount::setAuthType('sysshop'); $oauth['auth_type'] = pamAccount::getAuthType('sysshop'); break; case "shopadmin": pamAccount::setAuthType('desktop'); $oauth['auth_type'] = pamAccount::getAuthType('desktop'); break; } $oauth['account_id'] = pamAccount::getAccountId(); $oauth['account_name'] = pamAccount::getLoginName(); } $parameters['oauth'] = $oauth; if ($this->distribute()) { if ($appId != 'default') { $appId = $appId; } return $this->callOutside($method, $parameters, $appId); } else { return $this->callInternal($method, $parameters); } }
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; }
/** * 用于指示商家操作者的标志 * @return array 商家登录用户信息 */ public function operator() { return array('user_type' => 'seller', 'op_id' => pamAccount::getAccountId(), 'op_account' => pamAccount::getLoginName()); }