} } exit; } elseif ($canonical->currentArgs['subAction'] == 'gettitlelist') { $allTitles = $article->getTitleList(1000); $outTitles = array(); foreach ($allTitles as $aID => $aTitle) { $outTitles[] = $aTitle; } die('var allTitles=' . json_encode($outTitles) . ';var allFullList=' . json_encode(array_flip($allTitles)) . ';'); } elseif ($canonical->currentArgs['subAction'] == 'getpreviewhtml') { $admin->checkCSRFCode('articlesave'); if (!isset($_REQUEST['smt'])) { stopError($conf['l']['admin:msg:NoData']); } ajaxSuccess(bwView::textFormatter($_REQUEST['smt']['aContent'])); } elseif ($canonical->currentArgs['subAction'] == 'delete') { $admin->checkCSRFCode('articlesave'); $article->deleteArticle($_REQUEST['aID']); header("Location: {$conf['siteURL']}/{$conf['linkPrefixAdmin']}/articles/{$conf['linkConj']}CSRFCode=" . $admin->getCSRFCode('navibar')); } elseif ($canonical->currentArgs['subAction'] == 'batchdel') { $admin->checkCSRFCode('navibar'); $aIDList = @explode('<', $_REQUEST['aID']); $article->deleteArticleBatch($aIDList); ajaxSuccess(''); } elseif ($canonical->currentArgs['subAction'] == 'batchdraft') { $admin->checkCSRFCode('navibar'); $aIDList = @explode('<', $_REQUEST['aID']); $article->changeAsDraft($aIDList); ajaxSuccess(''); } elseif ($canonical->currentArgs['subAction'] == 'uploader') {
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 */ define('P', './'); include_once P . 'inc/system.php'; $canonical = new bwCanonicalization(); $article = new bwArticle(); $article->alterPerPage(20); $article->getArticleList(); $outputxml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<rss version=\"2.0\">\n<channel>\n<title>{$conf['siteName']}</title>\n<link>{$conf['siteURL']}</link>\n<description>{$conf['authorIntro']}</description>\n<image><url>{$conf['siteURL']}/conf/profile.png</url><title>{$conf['authorName']}</title><link>{$conf['siteURL']}</link></image>\n"; foreach ($article->articleList as $item) { $item['aContent'] = @explode('+++', $item['aContent']); $outputxml .= "<item>\n<title>{$item['aTitle']}</title>\n<link>{$conf['siteURL']}/{$conf['linkPrefixArticle']}/{$item['aID']}/</link>\n<author>{$conf['authorName']}</author><pubDate>" . date('c', strtotime($item['aTime'])) . "</pubDate>\n<guid isPermalLink=\"true\">{$conf['siteURL']}/{$conf['linkPrefixArticle']}/{$item['aID']}/</guid>\n<comment>{$conf['siteURL']}/{$conf['linkPrefixArticle']}/{$item['aID']}/#comment-{$item['aID']}</comment>\n<description><![CDATA[" . bwView::textFormatter($item['aContent'][0]) . "]]></description>\n</item>\n"; } $outputxml .= "</channel></rss>"; @header("Content-Type: application/xml; charset=utf-8"); die($outputxml);