function oauth2login($src) { $api = new KUser_loginApi(); $uid = $api->iOauth2Login($src); $api->vSetLoginUid($uid, $src); Ko_Web_Response::VSetRedirect(KUser_loginrefApi::SGet()); Ko_Web_Response::VSend(); }
public static function VHandle() { list($rewrited, $httpcode) = self::AGet(); if ($httpcode) { Ko_Web_Response::VSetRedirect($rewrited); Ko_Web_Response::VSetHttpCode($httpcode); Ko_Web_Response::VSend(); exit; } Ko_Web_Utils::VResetEnv($rewrited); }
/** * 入口接口 / 回调接口 * * @return array|exit */ public function vMain($sSrc, $fnGetToken) { assert(isset($this->_aConf['srclist'][$sSrc])); $this->aGetPara(); if (0 === strlen($this->_aReq['code'])) { $authorizeUri = Ko_Mode_OAuth2Server::SGetAuthorizeUri($this->_aConf['srclist'][$sSrc]['authorize_uri'], $this->_aConf['srclist'][$sSrc]['client_id'], $this->_aConf['srclist'][$sSrc]['redirect_uri']); Ko_Web_Response::VSetRedirect($authorizeUri); Ko_Web_Response::VSend(); exit; } $uri = Ko_Mode_OAuth2Server::SGetAccessTokenUri($this->_aConf['srclist'][$sSrc]['request_method'], $this->_aConf['srclist'][$sSrc]['token_uri'], $this->_aConf['srclist'][$sSrc]['client_id'], $this->_aConf['srclist'][$sSrc]['client_secret'], $this->_aConf['srclist'][$sSrc]['redirect_uri'], $this->_aReq['code']); $response = call_user_func($fnGetToken, $uri); return self::AParseToken($response); }
private static function _IDispatch($scriptFilename, $requestMethod, &$phpFilename) { self::$s_sFile = $scriptFilename; self::$s_sFunc = ''; self::$s_sMethod = $requestMethod; $phpFilename = ''; if ('.php' === substr(self::$s_sFile, -4)) { if (!is_file(self::$s_sFile)) { return self::$s_iErrno = self::ERR_FILE; } $phpFilename = self::$s_sFile; } else { $pathinfo = pathinfo(self::$s_sFile); if (is_file(self::$s_sFile)) { $render = new Ko_View_Render_FILE(); $render->oSetData('filename', self::$s_sFile); Ko_Web_Response::VSetContentType($pathinfo['extension']); Ko_Web_Response::VAppendBody($render); Ko_Web_Response::VSend(); } else { if (is_dir(self::$s_sFile)) { list($rewrite, $httpcode) = Ko_Web_Rewrite::AGet(); list($path, $query) = explode('?', $rewrite, 2); if (isset($query)) { $query = '?' . $query; } Ko_Web_Response::VSetRedirect($path . '/' . $query); Ko_Web_Response::VSend(); } else { self::$s_sFunc = $pathinfo['basename']; self::$s_sFile = $pathinfo['dirname'] . '.php'; if (!is_file(self::$s_sFile)) { return self::$s_iErrno = self::ERR_FILE; } self::_VRequireFile(self::$s_sFile); if (!isset(self::$s_aRoute[self::$s_sFunc])) { return self::$s_iErrno = self::ERR_FUNC; } if (!isset(self::$s_aRoute[self::$s_sFunc][self::$s_sMethod])) { return self::$s_iErrno = self::ERR_METHOD; } call_user_func(self::$s_aRoute[self::$s_sFunc][self::$s_sMethod]); } } } return self::$s_iErrno = 0; }
private static function _IDispatch($scriptFilename, $requestMethod, &$phpFilename) { self::$s_sFile = $scriptFilename; self::$s_sFunc = ''; self::$s_sMethod = $requestMethod; $phpFilename = ''; if ('.php' === substr(self::$s_sFile, -4)) { if (!is_file(self::$s_sFile)) { return self::$s_iErrno = self::ERR_FILE; } $phpFilename = self::$s_sFile; } else { if (is_file(self::$s_sFile)) { $render = new Ko_View_Render_FILE(); $render->oSetData('filename', self::$s_sFile); Ko_Web_Response::VSend($render); } else { if (is_dir(self::$s_sFile)) { list($rewrite, $httpcode) = Ko_Web_Rewrite::AGet(); list($path, $query) = explode('?', $rewrite, 2); if (isset($query)) { $query = '?' . $query; } Ko_Web_Response::VSetRedirect($path . '/' . $query); Ko_Web_Response::VSend(); } else { $pathinfo = pathinfo(self::$s_sFile); self::$s_sFunc = $pathinfo['basename']; self::$s_sFile = $pathinfo['dirname'] . '.php'; if (self::_IWebRoute()) { self::$s_sFile = $pathinfo['dirname'] . '/index.php'; return self::_IWebRoute(); } } } } return self::$s_iErrno = 0; }
/** * 入口接口 / 回调接口 * * @return array|exit */ public function vMain($sSrc, $fnGetRequestToken, $fnGetAccessToken) { assert(isset($this->_aConf['srclist'][$sSrc])); $this->aGetPara(); if (!isset($this->_aReq['oauth_token']) || 0 === strlen($this->_aReq['oauth_token'])) { $uri = Ko_Mode_OAuthServer::SGetRequestTokenUri($this->_aConf['srclist'][$sSrc]['request_method'], $this->_aConf['srclist'][$sSrc]['request_token_uri'], $this->_aConf['srclist'][$sSrc]['oauth_consumer_key'], $this->_aConf['srclist'][$sSrc]['oauth_consumer_secret'], $this->_aConf['srclist'][$sSrc]['oauth_callback']); $response = call_user_func($fnGetRequestToken, $uri); $arr = $this->aSaveTempToken($sSrc, $response); $authorizeUri = Ko_Mode_OAuthServer::SGetAuthorizeUri($this->_aConf['srclist'][$sSrc]['authorize_uri'], $arr['oauth_token']); Ko_Web_Response::VSetRedirect($authorizeUri); Ko_Web_Response::VSend(); exit; } $tokenInfo = $this->aGetTempToken($sSrc, $this->_aReq['oauth_token']); $uri = Ko_Mode_OAuthServer::SGetAccessTokenUri($this->_aConf['srclist'][$sSrc]['request_method'], $this->_aConf['srclist'][$sSrc]['access_token_uri'], $this->_aConf['srclist'][$sSrc]['oauth_consumer_key'], $this->_aConf['srclist'][$sSrc]['oauth_consumer_secret'], $this->_aReq['oauth_token'], $tokenInfo['oauth_token_secret'], $this->_aReq['oauth_verifier']); $response = call_user_func($fnGetAccessToken, $uri); return self::AParseToken($response); }
exit; } $photoinfo['image_src'] = $storageApi->sGetUrl($photoinfo['image'], ''); $photoinfo['image_small'] = $storageApi->sGetUrl($photoinfo['image'], 'imageView2/1/w/60'); $photoinfo['image_exif'] = $storageApi->aGetImageExif($photoinfo['image']); $agentinfo = KUser_agentApi::get(); if ($agentinfo['screen']['height'] < 1000) { $photoinfo['image'] = $storageApi->sGetUrl($photoinfo['image'], 'imageView2/2/w/600/h/600'); $photoinfo['imagesize'] = 600; } else { $photoinfo['image'] = $storageApi->sGetUrl($photoinfo['image'], 'imageView2/2/w/800/h/800'); $photoinfo['imagesize'] = 800; } $albuminfo = $photoApi->getAlbumInfo($uid, $photoinfo['albumid']); if ($albuminfo['isrecycle'] && $uid != $loginuid) { Ko_Web_Response::VSetRedirect('/'); Ko_Web_Response::VSend(); exit; } $userinfo = Ko_Tool_Adapter::VConv($uid, array('user_baseinfo', array('logo80'))); $prevlist = $nextlist = array(); $curinfo = $photoinfo; while (!empty($curinfo = $photoApi->getPrevPhotoInfo($curinfo))) { $curinfo['image'] = $storageApi->sGetUrl($curinfo['image'], 'imageView2/1/w/60'); array_unshift($prevlist, $curinfo); if (count($prevlist) >= 4) { break; } } $curinfo = $photoinfo; while (!empty($curinfo = $photoApi->getNextPhotoInfo($curinfo))) {
$uid = $api->iGetLoginUid(); if ($uid) { $render = new KRender_passport(); $render->oSetTemplate('passport/user/logo.html')->oSend(); } else { Ko_Web_Response::VSetRedirect('login'); Ko_Web_Response::VSend(); } }); Ko_Web_Route::VGet('passwd', function () { $api = new KUser_loginApi(); $uid = $api->iGetLoginUid(); if ($uid) { $render = new KRender_passport(); $render->oSetTemplate('passport/user/passwd.html')->oSend(); } else { Ko_Web_Response::VSetRedirect('login'); Ko_Web_Response::VSend(); } }); Ko_Web_Route::VGet('profile', function () { $api = new KUser_loginApi(); $uid = $api->iGetLoginUid(); if ($uid) { $render = new KRender_passport(); $render->oSetTemplate('passport/user/profile.html')->oSend(); } else { Ko_Web_Response::VSetRedirect('login'); Ko_Web_Response::VSend(); } });
Ko_Web_Response::VSend(); exit; } if (!Ko_Tool_Safe::BCheckMethod(array('*.' . MAIN_DOMAIN))) { Ko_Web_Response::VSetHttpCode(403); Ko_Web_Response::VSend(); exit; } if ('passport' === $appname) { KUser_loginrefApi::VInit(); } else { if ('www' === $appname) { $loginApi = new KUser_loginApi(); $loginuid = $loginApi->iGetLoginUid(); if (empty($loginuid)) { Ko_Web_Response::VSetRedirect('http://' . PASSPORT_DOMAIN . '/user/login'); Ko_Web_Response::VSend(); exit; } } } $hooks = COMMON_CLASS_PATH . 'hooks/' . $appname . '.php'; if (is_file($hooks)) { require_once $hooks; } }); Ko_Web_Event::On('ko.error', '500', function ($errno, $errstr, $errfile, $errline, $errcontext) { Ko_Web_Error::V500($errno, $errstr, $errfile, $errline, $errcontext); exit; }); Ko_Web_Event::On('ko.dispatch', 'before', function () {
$bloginfo = array(); $htmlrender->oSetData(KContent_Api::DRAFT_CONTENT, $uid); $htmlrender->oSetData(KContent_Api::DRAFT_TITLE, $uid); } $render = new KRender_www(); $render->oSetTemplate('www/blog/post.html')->oSetData('userinfo', $userinfo)->oSetData('bloginfo', $bloginfo)->oSetData('blogcontent', $htmlrender)->oSetData('taginfos', $taginfos)->oSend(); }); Ko_Web_Route::VGet('item', function () { $uid = Ko_Web_Request::IGet('uid'); $blogid = Ko_Web_Request::IGet('blogid'); $tag = Ko_Web_Request::SGet('tag'); $userinfo = Ko_Tool_Adapter::VConv($uid, array('user_baseinfo', array('logo80'))); $blogApi = new KBlog_Api(); $taginfos = $blogApi->aGetAllTaginfo($uid); $bloginfo = $blogApi->aGet($uid, $blogid); if (empty($bloginfo) || in_array('回收站', $bloginfo['tags'])) { Ko_Web_Response::VSetRedirect('user?uid=' . $uid); Ko_Web_Response::VSend(); exit; } if (0 == strlen($tag)) { $tag = $blogApi->sGetPriorTag($bloginfo['tags']); } $prevnextInfo = $blogApi->aGetPrevNextTitle($uid, $blogid, $tag); $contentApi = new KContent_Api(); $htmlrender = new Ko_View_Render_HTML($contentApi); $htmlrender->oSetData(KContent_Api::BLOG_TITLE, $blogid); $htmlrender->oSetData(KContent_Api::BLOG_CONTENT, $blogid); $render = new KRender_www(); $render->oSetTemplate('www/blog/item.html')->oSetData('tag', $tag)->oSetData('prevnext', $prevnextInfo)->oSetData('userinfo', $userinfo)->oSetData('bloginfo', $bloginfo)->oSetData('blogcontent', $htmlrender)->oSetData('taginfos', $taginfos)->oSend(); });