Example #1
0
 protected function handler_nb_news(Collection $groups, $fields)
 {
     $nf = new NewsFilter(new PFC_And(new PFC_Not(new NFC_Read(S::user())), new NFC_Current(), new NFC_Target(S::user()->targetCastes())));
     $ids = $nf->getIDs();
     if (empty($ids)) {
         return;
     }
     $iter = XDB::iterRow('  SELECT origin AS gid, COUNT(id) AS n
                     FROM news
                     WHERE id IN {?} AND origin IN {?}
                     GROUP BY origin', $nf->getIDs(), $groups->ids());
     $_groups = array();
     while (list($gid, $n) = $iter->next()) {
         $groups->get($gid)->fillFromArray(array('nb_news' => $n));
     }
 }