public function executeLastPoliticoRadicali() { $id = $this->getRequestParameter('id'); $politico = OppPoliticoPeer::retrieveByPk($id); $this->forward404Unless($politico instanceof OppPolitico); $c = oppNewsPeer::getNewsForItemCriteria('OppPolitico', $id); $c->addDescendingOrderByColumn(NewsPeer::DATE); $c->add(NewsPeer::GENERATOR_PRIMARY_KEYS, null, Criteria::ISNOTNULL); $c->setLimit(30); $news = oppNewsPeer::doSelect($c); $feed = $this->_make_feed_from_news('Ultime per ' . $politico, '@parlamentare?id=' . $id . '&slug=' . Util::slugify($politico), $news, 2); $this->_send_output($feed); return sfView::NONE; }
private function _fetchNewsForItem($item_model, $item_id) { $n_news = oppNewsPeer::countNewsForItem($item_model, $item_id); $c = oppNewsPeer::getNewsForItemCriteria($item_model, $item_id); $c->addDescendingOrderByColumn(NewsPeer::DATE); $c->setLimit(sfConfig::get('app_news_dropdown_limit', 10)); $news = oppNewsPeer::doSelect($c); $grouped_news = array(); foreach ($news as $n) { $date = strtotime($n->getDate()); if ((is_string($date) || is_integer($date)) && !array_key_exists($date, $grouped_news)) { $grouped_news[$date] = array(); } else { $grouped_news['nessuna data'] = array(); } $grouped_news[$date][] = $n; } krsort($grouped_news); $this->grouped_news = $grouped_news; $this->has_more = 0; if ($n_news > count($news)) { $this->has_more = $n_news; } }
/** * fetch today's news regarding objects monitored by the user * today's news are last 24h's news * * @param string $user - OppUser object * @return void * @author Guglielmo Celata */ function opp_test_single_newsletter($user, $date = null) { $start_time = microtime(true); $df = new sfDateFormat('it_IT'); echo pakeColor::colorize(sprintf('date: %s, name: %s... ', is_null($date) ? 'Today' : $date, $user), array('fg' => 'red', 'bold' => true)); $news_c = oppNewsPeer::getTodayNewsForUserCriteria($user, $date); $news_c->add(oppNewsPeer::PRIORITY, 2, Criteria::LESS_EQUAL); $news = oppNewsPeer::doSelect($news_c); // raggruppa le news per data $grouped_news = array(); foreach ($news as $n) { $date = strtotime($n->getDate()); if (!is_string($date) && !is_int($date)) { $date = 0; } if (!array_key_exists($date, $grouped_news)) { $grouped_news[$date] = array(); } $grouped_news[$date][] = $n; } krsort($grouped_news); echo pakeColor::colorize(sprintf("(%d)\n", count($news)), array('fg' => 'cyan')); if (count($news) > 0) { echo pakeColor::colorize(sprintf("\t | ID | CREATED_AT | REL_MODEL | REL_ID | GENERATOR_MODEL | P |\n"), array('fg' => 'cyan', 'bold' => true)); } foreach ($grouped_news as $date_ts => $news) { echo pakeColor::colorize(sprintf("%2d/%3s/%4d\n", $df->format($date_ts, 'dd'), $df->format($date_ts, 'MMM'), $df->format($date_ts, 'yyyy')), array('fg' => 'cyan', 'bold' => true)); foreach ($news as $i => $n) { echo pakeColor::colorize(sprintf("\t%3d | %9d | %10s | %10s | %9d | %20s | %1d |\n", $i + 1, $n->getId(), $n->getCreatedAt('y-m-d H:i'), $n->getRelatedMonitorableModel(), $n->getRelatedMonitorableId(), $n->getGeneratorModel(), $n->getPriority())); } } echo "\n"; $execution_time = microtime(true) - $start_time; if (isset($raw_email) && $raw_email != '') { echo " ok ("; } else { echo " no mail ("; } echo pakeColor::colorize(sprintf("%f", $execution_time), array('fg' => 'cyan')); echo ")\n"; }