public function executeShowAggiornamenti() { $this->triple_value = $this->getRequestParameter('triple_value'); $this->getResponse()->setTitle('Tutto quello che succede in Parlamento su ' . strtolower($this->triple_value) . ' - ' . sfConfig::get('app_main_title')); $this->response->addMeta('description', 'Le ultime notizie e atti parlamentari su ' . strtolower($this->triple_value), true); $this->argomento = TagPeer::retrieveFirstByTripleValue($this->triple_value); $this->forward404Unless(isset($this->argomento)); $this->user = OppUserPeer::retrieveByPK($this->user_id); $this->session = $this->getUser(); // fetch di tutte le notizie legate ad atti taggati con il tag corrente $c = oppNewsPeer::getNewsForTagCriteria($this->argomento->getId()); $c->addDescendingOrderByColumn(NewsPeer::DATE); $filters = array(); if ($this->getRequest()->getMethod() == sfRequest::POST) { // legge i filtri dalla request e li scrive nella sessione utente if ($this->hasRequestParameter('filter_main_all')) { $this->session->setAttribute('main_all', $this->getRequestParameter('filter_main_all'), 'news_filter'); } if ($this->getRequestParameter('filter_main_all') == 'main') { $this->redirect('@argomento?triple_value=' . $this->triple_value); } } $filters['main_all'] = $this->session->getAttribute('main_all', 'main', 'news_filter'); if ($filters['main_all'] == 'main') { $c->add(NewsPeer::PRIORITY, 1); } // passa la variabile filters $this->filters = $filters; if ($this->hasRequestParameter('itemsperpage')) { $this->getUser()->setAttribute('itemsperpage', $this->getRequestParameter('itemsperpage')); } $itemsperpage = $this->getUser()->getAttribute('itemsperpage', sfConfig::get('app_pagination_limit')); $this->pager = new deppNewsPager('News', $itemsperpage); $this->pager->setCriteria($c); $this->pager->setPage($this->getRequestParameter('page', 1)); $this->pager->init(); }
public function executeTagNews() { // due righe modificate per la chiamata con id $this->tag_id = $this->getRequestParameter('id'); $this->tag = TagPeer::retrieveByPK($this->tag_id); $namespace = $this->getRequestParameter('namespace'); // setlocale(LC_TIME, 'it_IT'); sfLoader::loadHelpers(array('Tag', 'Url', 'DeppNews')); $feed = new sfRss2ExtendedFeed(); $feed->initialize(array('title' => 'Ultime notizie sull\'argomento ' . $this->tag->getTripleValue(), 'link' => url_for('@homepage', true), 'feedUrl' => $this->getRequest()->getURI(), 'siteUrl' => 'http://' . sfConfig::get('sf_site_url'), 'image' => 'http://' . sfConfig::get('sf_site_url') . '/images/logo-openparlamento.png', 'language' => 'it', 'authorEmail' => '*****@*****.**', 'authorName' => 'Openparlamento', 'description' => "Openparlamento.it - il progetto Openpolis per la trasparenza del Parlamento", 'sy_updatePeriod' => 'daily', 'sy_updateFrequency' => '1', 'sy_updateBase' => '2000-01-01T12:00+00:00')); $news = oppNewsPeer::getNewsForTagCriteria($this->tag_id); $news->addDescendingOrderByColumn(NewsPeer::DATE); $itemsperpage = $this->getRequestParameter('page', sfConfig::get('app_pagination_limit')); $page = $this->getRequestParameter('page', 1); $pager = new deppNewsPager('News', $itemsperpage); $pager->setCriteria($news); $pager->setPage($this->getRequestParameter('page', 1)); $pager->init(); $this->pager = $pager; $url = url_for('@news_tag?id=' . $this->tag_id, true) . '?' . urlencode('page=' . $page . '&itemsperpage=' . $itemsperpage); foreach ($pager->getGroupedResults() as $date_ts => $news) { foreach ($news as $cnt => $n) { // fetch del modello e dell'oggetto che ha generato la notizia $generator_model = $n->getGeneratorModel(); if ($n->getGeneratorPrimaryKeys()) { $pks = array_values(unserialize($n->getGeneratorPrimaryKeys())); $generator = call_user_func_array(array($generator_model . 'Peer', 'retrieveByPK'), $pks); } else { $pks = array(); $generator = null; } $item = new sfRss2ExtendedItem(); $description = news_text($n, $generator_model, $pks, $generator, array('context' => CONTEXT_TAG)); $item->initialize(array('title' => strip_tags($description), 'link' => $url, 'permalink' => $url, 'pubDate' => $n->getDate('U'), 'uniqueId' => $n->getId(), 'description' => $description, 'authorEmail' => '*****@*****.**', 'authorName' => 'Openparlamento')); $feed->addItem($item); } } $this->_send_output($feed); return sfView::NONE; }
public function executeTag() { // due righe modificate per la chiamata con id $this->tag_id = $this->getRequestParameter('id'); $this->tag = TagPeer::retrieveByPK($this->tag_id); $this->getResponse()->setTitle('tutte le notizie sull\'argomento ' . $this->tag->getTripleValue() . ' - ' . sfConfig::get('app_main_title')); $this->response->addMeta('description', 'Tutte le notizie aggiornate quotidianamente sugli atti parlamentari che parlano di ' . $this->tag->getTripleValue(), true); $c = oppNewsPeer::getNewsForTagCriteria($this->tag_id); $c->addDescendingOrderByColumn(NewsPeer::DATE); if ($this->hasRequestParameter('itemsperpage')) { $this->getUser()->setAttribute('itemsperpage', $this->getRequestParameter('itemsperpage')); } $itemsperpage = $this->getUser()->getAttribute('itemsperpage', sfConfig::get('app_pagination_limit')); $pager = new deppNewsPager('News', $itemsperpage); $pager->setCriteria($c); $pager->setPage($this->getRequestParameter('page', 1)); $pager->init(); $this->pager = $pager; }