示例#1
0
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();
}
示例#2
0
文件: Rewrite.php 项目: AllenLyu/ko
 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);
 }
示例#3
0
 /**
  * 入口接口 / 回调接口
  *
  * @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);
 }
示例#4
0
文件: Route.php 项目: jinghm318/ko
 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;
 }
示例#5
0
文件: Route.php 项目: AllenLyu/ko
 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;
 }
示例#6
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);
 }
示例#7
0
     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))) {
示例#8
0
文件: user.php 项目: firaga/operation
    $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();
    }
});
示例#9
0
        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 () {
示例#10
0
文件: blog.php 项目: firaga/operation
        $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();
});