Ejemplo n.º 1
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));
     }
 }
Ejemplo n.º 2
0
if (!defined('P')) {
    die('Access Denied.');
}
//This is a hidden mode. It is inteded to be used in Mill project.
if (!isset($_REQUEST['list'])) {
    $listMode = 'archives';
} 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']}/";
    }
Ejemplo n.º 3
0
<?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(500);
$article->getArticleList();
$outputxml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
$outputxml .= "<url>\n<loc>{$conf['siteURL']}/index.php</loc>\n<lastmod>" . gmdate("Y-m-d\\TH:i:s+00:00") . "</lastmod>\n<changefreq>always</changefreq>\n<priority>1.0</priority>\n</url>\n";
foreach ($article->articleList as $item) {
    $outputxml .= "<url>\n<loc>{$conf['siteURL']}/{$conf['linkPrefixArticle']}/{$item['aID']}/</loc>\n<lastmod>" . gmdate('c', strtotime($item['aTime'])) . "</lastmod>\n<changefreq>daily</changefreq>\n<priority>0.9</priority>\n</url>\n";
}
$outputxml .= "</urlset>";
@header("Content-Type: application/xml; charset=utf-8");
die($outputxml);
Ejemplo n.º 4
0
<?php

/**
* 
* @link http://bw.bo-blog.com
* @copyright (c) 2014 bW Development Team
* @license MIT
*/
if (!defined('P')) {
    die('Access Denied.');
}
$article = new bwArticle();
$view = new bwView();
if (isset($canonical->currentArgs['cateID'])) {
    $article->alterCate($canonical->currentArgs['cateID']);
    $view->setPageTitle(bw::$cateData[$canonical->currentArgs['cateID']]);
    $view->setActiveNav($canonical->currentArgs['cateID']);
    if (bw::$cateList[$canonical->currentArgs['cateID']]['aCateTheme']) {
        $view->setTheme(bw::$cateList[$canonical->currentArgs['cateID']]['aCateTheme']);
    }
} else {
    $view->setActiveNav('index');
}
$view->setMetaData(bw::$conf['siteName']);
$article->getArticleList();
// Pagination
$canonical->calTotalPages($article->totalArticles);
$view->doPagination();
// Pass Values
$view->setPassData(array('articlesummary' => $article->articleList));
if (defined('ajax')) {
Ejemplo n.º 5
0
<?php

/**
* 
* @link http://bw.bo-blog.com
* @copyright (c) 2014 bW Development Team
* @license MIT
*/
if (!defined('P')) {
    die('Access Denied.');
}
$article = new bwArticle();
$view = new bwView();
if (isset($canonical->currentArgs['tValue'])) {
    $view->setPageTitle($conf['l']['page:Tags'] . ' - ' . $canonical->currentArgs['tValue']);
    $view->setActiveNav('index');
} else {
    stopError($conf['l']['admin:msg:NoContent']);
}
$article->getArticleListByTag($canonical->currentArgs['tValue']);
loadServices();
//Load Duoshuo
// Pagination
$canonical->calTotalPages($article->totalArticles);
$view->doPagination();
$view->setPassData(array('articlesummary' => $article->articleList));
if (defined('ajax')) {
    $view->setMaster('ajax-article-list');
    $view->setWorkFlow(array('summary', 'ajax-article-list'));
} else {
    $view->setPassData(array('navigation' => bw::$cateList, 'sociallink' => bw::getSocialLinks(), 'externallink' => bw::getExternalLinks(), 'tagClound' => bw::getTagCloud()));
Ejemplo n.º 6
0
         @unlink($sqlUpdater);
     }
     clearCache();
     header("Location: {$conf['siteURL']}/{$conf['linkPrefixAdmin']}/dashboard/{$conf['linkConj']}CSRFCode=" . $admin->getCSRFCode('navibar') . "#UpdateSuccess");
     exit;
 } else {
     $admin->checkCSRFCode('navibar');
     $statVals = array();
     $statVals['totalArticles'] = bw::$db->countRows('SELECT aID FROM articles');
     $statVals['totalReads'] = bw::$db->getSingleRow('SELECT SUM(aReads) FROM articles');
     $statVals['totalReads'] = $statVals['totalReads']['SUM(aReads)'];
     $statVals['totalPVs'] = bw::$db->getSingleRow('SELECT SUM(sNum) FROM statistics');
     $statVals['totalPVs'] = $statVals['totalPVs']['SUM(sNum)'];
     $statVals['sinceWhen'] = bw::$db->getSingleRow('SELECT aTime FROM articles ORDER BY aTime ASC LIMIT 0, 1');
     $statVals['sinceWhen'] = $statVals['sinceWhen']['aTime'];
     $article = new bwArticle();
     $article->getHottestArticles(5);
     $statVals['whatsHottest'] = array();
     foreach ($article->articleList as $row) {
         $statVals['whatsHottest'][] = "<a href=\"{$conf['siteURL']}/{$conf['linkPrefixArticle']}/{$row['aID']}/\">{$row['aTitle']}</a>";
     }
     $statVals['whatsHottest'] = '<li>' . @implode('</li><li>', $statVals['whatsHottest']) . '</li>';
     $recents = bw::$db->getRows('SELECT * FROM statistics ORDER BY lastView DESC LIMIT 0, 5');
     foreach ($recents as $row) {
         $statVals['latestViews'][] = "<a href=\"{$conf['siteURL']}{$row['pageURL']}\">{$row['pageURL']}</a>";
     }
     $statVals['latestViews'] = '<li>' . implode('</li><li>', $statVals['latestViews']) . '</li>';
     $statVals['thisVersion'] = bwVersion;
     $statVals['PHPVersion'] = PHP_VERSION;
     $statVals['serverInfo'] = $_SERVER['SERVER_SOFTWARE'];
     $view->setMaster('admin');
Ejemplo n.º 7
0
<?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'));
        /*