protected static function _getArticleObjectFromData(\stdClass $article_data) { $author = new Model_Users($article_data->author_username); $author->prop('id', $article_data->author_id); $category = new Model_Categories($article_data->category_name); $category->prop('id', $article_data->category_id); return new Model_Articles(['id' => $article_data->id, 'title' => $article_data->title, 'introduction' => $article_data->introduction, 'content' => $article_data->content, 'date_publication' => $article_data->date_publication, 'date_last_update' => $article_data->date_last_update, 'is_published' => $article_data->is_published, 'author' => $author, 'category' => $category]); }
private function displayDetails(Model_Categories $category, $page) { if (empty($category)) { $this->response->error('La catégorie demandée est introuvable.', 404); return; } \Eliya\Tpl::set('page_title', $category->prop('name')); $articles = Model_Articles::getLast($page, self::ARTICLES_BY_PAGE, $category); if ($articles->isEmpty()) { $this->response->set(\Eliya\Tpl::get('categories/no_articles', ['category' => $category])); return; } $tpl_articles = Eliya\Tpl::get('common/articles/list', ['articles' => $articles]); $nbrPages = ceil(Model_Articles::countByCategory($category) / self::ARTICLES_BY_PAGE); if ($page == 1) { \Eliya\Tpl::set('canonical_url', $category->getUrl()); } $this->response->set(\Eliya\Tpl::get('categories/details', ['category' => $category, 'tpl_articles' => $tpl_articles, 'nbr_pages' => $nbrPages, 'current_page' => $page])); }