stopError($conf['l']['admin:msg:NoData']); } if (isset($_REQUEST['ispage'])) { $_REQUEST['smt']['aCateURLName'] = '_page'; } if (isset($_REQUEST['autosave'])) { $_REQUEST['smt']['aCateURLName'] = '_trash'; } $article->updateArticle($_REQUEST['smt']); ajaxSuccess(isset($_REQUEST['autosave']) ? $conf['l']['admin:msg:AutoSaved'] : $conf['l']['admin:msg:ChangeSaved']); } elseif ($canonical->currentArgs['subAction'] == 'modify') { $admin->checkCSRFCode('navibar'); if (!isset($_REQUEST['aID'])) { stopError($conf['l']['admin:msg:NotExist']); } $article->fetchArticle($_REQUEST['aID'], true); $view->setMaster('admin'); $view->setPassData($article->articleList[$_REQUEST['aID']]); $view->setPassData(array('writermode' => $article->articleList[$_REQUEST['aID']]['aCateURLName'] != '_page' ? 'article' : 'singlepage', 'admincatelist' => bw::$cateList, 'upCSRFCode' => $admin->getCSRFCode('upload'), 'articleCSRFCode' => $admin->getCSRFCode('articlesave'), 'cateCSRFCode' => $admin->getCSRFCode('category'))); loadServices(); if ($conf['qiniuBucket'] && $conf['qiniuUpload'] == '1') { require_once P . "inc/script/qiniu/QiniuClient.php"; $qiniuClient = new qiniuClient(QINIU_AK, QINIU_SK); $fStoreName = 'storage/' . substr(md5(rand(1, 99999) . time()), 10, 8); $flags = array('scope' => $conf['qiniuBucket'] . ':' . $fStoreName, 'deadline' => 3600 + time(), 'returnUrl' => "{$conf['siteURL']}/{$conf['linkPrefixAdmin']}/articles/qiniuuploader/", 'returnBody' => json_encode(array('fname' => '$(key)'))); $qiniuFileToken = $qiniuClient->uploadToken($flags); $view->setPassData(array('qiniuFileToken' => $qiniuFileToken, 'qiniuKey' => $fStoreName)); $uploader = 'adminqiniuupload'; } elseif ($conf['qiniuUpload'] == '2') { $uploader = 'adminaliyunupload'; $policy = '{"expiration": "2120-01-01T12:00:00.000Z","conditions":[{"bucket": "' . bw::$conf['aliyunBucket'] . '" },["content-length-range", 0, 104857600]]}';
private function get_articles() { $this->check(); if ($this->subAPI == 1) { //Get articles list $howmany = isset($this->partial['num']) ? max(1, floor($this->partial['num'])) : 5; $startTime = isset($this->partial['since']) ? strtotime($this->partial['since']) : false; $pageNum = isset($this->partial['p']) ? max(1, floor($this->partial['p'])) : 1; $article = new bwArticle(); if ($startTime) { //Get articles later than this time $article->setSinceTime($startTime); } $article->alterPageNum($pageNum); $article->alterPerPage($howmany); $article->getArticleList(); $outputs = array(); $i = 0; $totalPages = ceil($article->totalArticles / $howmany); if ($pageNum > $totalPages) { $this->throwError(404, 'Page number does not exist.'); } $extraHeader = "Link: <" . bw::$conf['siteURL'] . "/api.php/articles?num={$howmany}&p=1>; rel=\"first\", "; $extraHeader .= "<" . bw::$conf['siteURL'] . "/api.php/articles?num={$howmany}&p={$totalPages}>; rel=\"last\""; if ($pageNum + 1 <= $totalPages) { $extraHeader .= ", <" . bw::$conf['siteURL'] . "/api.php/articles?num={$howmany}&p=" . ($pageNum + 1) . ">; rel=\"next\""; } if ($pageNum > 1) { $extraHeader .= ", <" . bw::$conf['siteURL'] . "/api.php/articles?num={$howmany}&p=" . ($pageNum - 1) . ">; rel=\"prev\""; } foreach ($article->articleList as $item) { $outputs[$i]['ID'] = $item['aID']; $outputs[$i]['title'] = $item['aTitle']; $outputs[$i]['date'] = $item['aTime']; $outputs[$i]['content'] = bwView::textFormatter(str_replace('+++', '', $item['aContent'])); $outputs[$i]['category'] = $item['aCateDispName']; $item['aTags'] && ($outputs[$i]['tags'] = @explode(',', $item['aTags'])); $outputs[$i]['permal-link'] = bw::$conf['siteURL'] . '/' . bw::$conf['linkPrefixArticle'] . "/{$item['aID']}/"; $outputs[$i]['author'] = bw::$conf['authorName']; $outputs[$i]['about'] = bw::$conf['authorIntro']; $outputs[$i]['homepage'] = bw::$conf['siteURL']; $i++; } $this->done(200, array("articles" => $outputs), $extraHeader); } else { $article = new bwArticle(); $article->fetchArticle($this->subAPI); $item = $article->articleList[$this->subAPI]; $outputs = array(); $i = 0; $outputs[$i]['title'] = $item['aTitle']; $outputs[$i]['date'] = $item['aTime']; $outputs[$i]['content'] = bwView::textFormatter(str_replace('+++', '', $item['aContent'])); $outputs[$i]['category'] = $item['aCateDispName']; $item['aTags'] && ($outputs[$i]['tags'] = @explode(',', $item['aTags'])); $outputs[$i]['permal-link'] = bw::$conf['siteURL'] . '/' . bw::$conf['linkPrefixArticle'] . "/{$item['aID']}/"; $outputs[$i]['author'] = bw::$conf['authorName']; $outputs[$i]['about'] = bw::$conf['authorIntro']; $outputs[$i]['homepage'] = bw::$conf['siteURL']; $this->done(200, array("articles" => $outputs)); } }
<?php /** * * @link http://bw.bo-blog.com * @copyright (c) 2014 bW Development Team * @license MIT */ if (!defined('P')) { die('Access Denied.'); } $article = new bwArticle(); $article->fetchArticle($canonical->currentArgs['aID']); $view = new bwView(); $view->setPageTitle($article->articleList[$canonical->currentArgs['aID']]['aTitle']); $view->setMetaData($article->articleList[$canonical->currentArgs['aID']]['aTags']); $aCateURLName = $article->articleList[$canonical->currentArgs['aID']]['aCateURLName']; $view->setActiveNav($aCateURLName); if (bw::$cateList[$aCateURLName]['aCateTheme']) { $view->setTheme(bw::$cateList[$aCateURLName]['aCateTheme']); } $view->setPassData($article->articleList[$canonical->currentArgs['aID']]); $view->setPassData(array('navigation' => bw::$cateList, 'sociallink' => bw::getSocialLinks(), 'externallink' => bw::getExternalLinks(), 'tagClound' => bw::getTagCloud())); $view->setMaster('page'); if ($conf['commentOpt'] != 0) { loadServices(); if ($conf['commentOpt'] == 1 || $conf['commentOpt'] == 2) { //Build-in comment //Discarded on 2016/6/22 $view->setWorkFlow(array('nocommentarea', 'article', 'page')); /*