public function view_islogin() { $user = !empty($_GET['user']) ? $_GET['user'] : ''; $sign = $_GET['sign']; $domain = $_GET['domain']; $redirect = isset($_GET['redirect']) ? $_GET['redirect'] : 0; $return = isset($_GET['return']) ? urldecode($_GET['return']) : ''; require_once 'PassportModel.class.php'; if ($redirect) { if ($this->_verifySign($domain, md5($user . $domain), $sign)) { $userinfo = authenticate(); if ($userinfo) { if (strpos($return, '?') !== false) { $return .= '&ticket=' . PassportModel::packTicket($userinfo['ticket'], $user); } else { $return .= '?ticket=' . PassportModel::packTicket($userinfo['ticket'], $user); } //echo $return;die; header("Location:" . $return); } else { header("Location:" . $GLOBALS["gSiteInfo"]['www_site_url'] . "/index.php?action=passport&view=login&forward=" . urlencode($return)); } } else { die("Signature Invalid!"); } } else { if ($this->_verifySign($domain, md5($user . $domain), $sign)) { $pass = new PassportModel(); $ticket = $pass->getTicketByUser($user); if ($ticket) { $msg['s'] = 200; $msg['m'] = "success!"; $msg['d'] = PassportModel::packTicket($ticket, $user); } else { $msg['s'] = 300; $msg['m'] = "Not Login!"; $msg['d'] = $GLOBALS["gSiteInfo"]['www_site_url'] . "/index.php?action=passport&view=login"; } } else { $msg['s'] = 400; $msg['m'] = "Signature Invalid!"; $msg['d'] = ''; } json_output($msg); } }