/** * * @param type $page */ public function index($page = 1) { $view = $this->getActionView(); $layoutView = $this->getLayoutView(); $config = Registry::get('configuration'); $articlesPerPage = $config->news_per_page; if ($page == 1) { $canonical = 'http://' . $this->getServerHost() . '/aktuality'; } else { $canonical = 'http://' . $this->getServerHost() . '/aktuality/p/' . $page; } $content = $this->getCache()->get('news-' . $page); if ($content !== null) { $news = $content; } else { $news = App_Model_News::all(array('active = ?' => true, 'expirationDate >= ?' => date('Y-m-d H:i:s')), array('id', 'urlKey', 'author', 'title', 'shortBody', 'created', 'rank'), array('rank' => 'asc', 'created' => 'DESC'), (int) $articlesPerPage, (int) $page); $this->getCache()->set('news-' . $page, $news); } $newsCount = App_Model_News::count(array('active = ?' => true, 'expirationDate >= ?' => date('Y-m-d H:i:s'))); $newsPageCount = ceil($newsCount / $articlesPerPage); $view->set('newsbatch', $news)->set('newspagecount', $newsPageCount); if ($newsPageCount > 1) { $prevPage = $page - 1; $nextPage = $page + 1; if ($nextPage > $newsPageCount) { $nextPage = 0; } $layoutView->set('pagedprev', $prevPage)->set('pagedprevlink', '/aktuality/p/' . $prevPage)->set('pagednext', $nextPage)->set('pagednextlink', '/aktuality/p/' . $nextPage); } $layoutView->set('metatitle', 'ZKO - Aktuality')->set('canonical', $canonical); }
/** * @before _secured, _admin */ public function index() { $view = $this->getActionView(); $latestnews = App_Model_News::all(array('active = ?' => true), array('author', 'title', 'shortBody', 'created'), array('created' => 'DESC'), 8); $latestgallery = App_Model_Gallery::all(array('active = ?' => true), array('title', 'created', 'isPublic'), array('created' => 'DESC'), 10); $latestmembers = App_Model_User::all(array('active = ?' => true, 'role = ?' => 'role_member'), array('firstname', 'lastname', 'imgThumb', 'created'), array('created' => 'DESC'), 10); $latestdogs = App_Model_Dog::fetchAllLimit(); $view->set('latestnews', $latestnews)->set('latestgallery', $latestgallery)->set('latestmembers', $latestmembers)->set('latestdogs', $latestdogs); }
/** * * @param type $page */ public function index() { $view = $this->getActionView(); $layoutView = $this->getLayoutView(); $config = Registry::get('configuration'); $content = $this->getCache()->get('news-1'); $npp = $config->news_per_page; if (NULL !== $content) { $news = $content; } else { $news = App_Model_News::all(array('active = ?' => true, 'expirationDate >= ?' => date('Y-m-d H:i:s')), array('id', 'urlKey', 'author', 'title', 'shortBody', 'created', 'rank'), array('rank' => 'desc', 'created' => 'DESC'), (int) $npp, 1); $this->getCache()->set('news-1', $news); } $newsCount = App_Model_News::count(array('active = ?' => true, 'expirationDate >= ?' => date('Y-m-d H:i:s'))); $newsPageCount = ceil($newsCount / $npp); $view->set('newsbatch', $news)->set('newspagecount', $newsPageCount); $canonical = 'http://' . $this->getServerHost() . '/'; $layoutView->set('canonical', $canonical); }
/** * @before _secured, _admin */ public function massAction() { $this->willRenderActionView = false; $this->willRenderLayoutView = false; $errors = array(); $ids = RequestMethods::post('ids'); $action = RequestMethods::post('action'); if (empty($ids)) { echo 'Nějaký řádek musí být označen'; return; } switch ($action) { case 'delete': $news = App_Model_News::all(array('id IN ?' => $ids)); if (NULL !== $news) { foreach ($news as $_news) { if (!$_news->delete()) { $errors[] = self::ERROR_MESSAGE_3 . ' ' . $_news->getTitle(); } } } if (empty($errors)) { Event::fire('admin.log', array('delete success', 'News ids: ' . join(',', $ids))); echo self::SUCCESS_MESSAGE_6; } else { Event::fire('admin.log', array('delete fail', 'Error count:' . count($errors))); $message = join(PHP_EOL, $errors); echo $message; } break; case 'activate': $news = App_Model_News::all(array('id IN ?' => $ids, 'active = ?' => false)); if (NULL !== $news) { foreach ($news as $_news) { $_news->active = true; if ($_news->validate()) { $_news->save(); } else { $errors[] = "News id {$_news->getId()} - {$_news->getTitle()} errors: " . join(', ', $_news->getErrors()); } } } if (empty($errors)) { Event::fire('admin.log', array('activate success', 'News ids: ' . join(',', $ids))); echo self::SUCCESS_MESSAGE_4; } else { Event::fire('admin.log', array('activate fail', 'Error count:' . count($errors))); $message = join(PHP_EOL, $errors); echo $message; } break; case 'deactivate': $news = App_Model_News::all(array('id IN ?' => $ids, 'active = ?' => true)); if (NULL !== $news) { foreach ($news as $_news) { $_news->active = false; if ($_news->validate()) { $_news->save(); } else { $errors[] = "News id {$_news->getId()} - {$_news->getTitle()} errors: " . join(', ', $_news->getErrors()); } } } if (empty($errors)) { Event::fire('admin.log', array('deactivate success', 'News ids: ' . join(',', $ids))); echo self::SUCCESS_MESSAGE_5; } else { Event::fire('admin.log', array('deactivate fail', 'Error count:' . count($errors))); $message = join(PHP_EOL, $errors); echo $message; } break; default: echo self::ERROR_MESSAGE_2; break; } }