/** * Displays the archived realblog topics. * * @param mixed $showSearch Whether to show the search form. * * @return string (X)HTML. */ public function archive($showSearch = false) { $realblogID = $this->getPgParameter('realblogID'); $db = Realblog_DB::getConnection(); $html = ''; if (!isset($realblogID)) { if ($showSearch) { $view = new Realblog_SearchFormView($this->getYear()); $html .= $view->render(); } if ($this->getPgParameter('realblog_search')) { $compArchiveClause = new SimpleWhereClause(REALBLOG_STATUS, '=', 2, INTEGER_COMPARISON); $compClause = $this->searchClause(); if (isset($compClause)) { $compClause = new AndWhereClause($compArchiveClause, $compClause); } $articles = Realblog_Article::makeArticlesFromRecords($db->selectWhere('realblog.txt', $compClause, -1, array(new OrderBy(REALBLOG_DATE, DESCENDING, INTEGER_COMPARISON), new OrderBy(REALBLOG_ID, DESCENDING, INTEGER_COMPARISON)))); $db_search_records = count($articles); $html .= $this->renderSearchResults('archive', $db_search_records); } else { $articles = Realblog_Article::findArticles(2, DESCENDING); } $view = new Realblog_ArchiveView($articles); $html .= $view->render(); } else { $html .= $this->renderArticle($realblogID); } return $html; }
/** * Finds all articles relevant for automatic status change. * * @param string $field A field. * @param int $status A status. * * @return array<Realblog_Articles> */ public static function findArticlesForAutoStatusChange($field, $status) { $db = Realblog_DB::getConnection(); return Realblog_Article::makeArticlesFromRecords($db->selectWhere('realblog.txt', new AndWhereClause(new SimpleWhereClause(REALBLOG_STATUS, '<', $status, INTEGER_COMPARISON), new SimpleWhereClause($field, '<=', strtotime('midnight'), INTEGER_COMPARISON)))); }