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;
 }