Ejemplo n.º 1
0
} elseif ($_REQUEST['list'] == 'archives') {
    $listMode = 'archives';
} elseif ($_REQUEST['list'] == 'tags') {
    $listMode = 'tags';
} elseif ($_REQUEST['list'] == 'category') {
    $listMode = 'category';
} else {
    exit;
}
$article = new bwArticle();
$view = new bwView();
$article->alterPerPage(50000);
$view->setActiveNav($listMode);
$groupedArticles = array();
if ($listMode == 'archives') {
    $article->getArticleList();
    $allStatURL = array();
    foreach ($article->articleList as $oneArticle) {
        $YYYY = substr($oneArticle['aTime'], 0, 4);
        $groupedArticles[$YYYY][] = $oneArticle;
        $columnName[$YYYY] = $YYYY;
        $columnID[$YYYY] = $YYYY;
        isset($columnCount[$YYYY]) ? $columnCount[$YYYY]++ : ($columnCount[$YYYY] = 1);
        $allStatURL[$oneArticle['aID']] = "{$conf['siteURL']}/{$conf['linkPrefixArticle']}/{$oneArticle['aID']}/";
    }
    file_put_contents(P . 'conf/allAIDs.php', "<?php\r\n\$lf=" . var_export($allStatURL, true) . ";");
    krsort($groupedArticles);
}
if ($listMode == 'tags') {
    $allTags = bw::$db->getRows('SELECT tValue, tCount FROM tags ORDER BY tCount DESC');
    foreach ($allTags as $aTag) {
Ejemplo n.º 2
0
 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));
     }
 }