コード例 #1
0
ファイル: admin.mod.php プロジェクト: bo-blog/bw
         }
     }
     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') {
コード例 #2
0
ファイル: api.inc.php プロジェクト: bo-blog/bw
 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));
     }
 }
コード例 #3
0
ファイル: rss.php プロジェクト: bo-blog/bw
<?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);