X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fevents%2Ffeed.inc.php;h=46de90401c5db6cbf3f4d91c1513502502b0bb57;hb=fb813fb52d5ab65ca9a5b92b5cb9089523380d79;hp=6e800636d27e4fad8b35145821cc88b2f36eaf25;hpb=64087a3430249f84d999be01219697c925c5c7f7;p=platal.git diff --git a/modules/events/feed.inc.php b/modules/events/feed.inc.php index 6e80063..46de904 100644 --- a/modules/events/feed.inc.php +++ b/modules/events/feed.inc.php @@ -1,6 +1,6 @@ next()) { + $uf = UserFilter::getLegacy($body['promo_min'], $body['promo_max']); + if ($uf->checkUser($user)) { + return $body; + } + } + return null; + } + protected function fetch(PlUser &$user) { global $globals; - return XDB::iterator( - 'SELECT e.id, e.titre AS title, e.texte, e.creation_date AS publication, e.post_id, p.attachmime IS NOT NULL AS photo, - CONCAT(u2.prenom, " ", IF(u2.nom_usage = "", u2.nom, u2.nom_usage), " (X", u2.promo, ")") AS author, - FIND_IN_SET(\'wiki\', e.flags) AS wiki, - CONCAT({?}, "/events#newsid", e.id) AS link - FROM auth_user_md5 AS u - INNER JOIN evenements AS e ON ( (e.promo_min = 0 || e.promo_min <= u.promo) - AND (e.promo_max = 0 || e.promo_max >= u.promo) ) - LEFT JOIN evenements_photo AS p ON (p.eid = e.id) - INNER JOIN auth_user_md5 AS u2 ON (u2.user_id = e.user_id) - WHERE u.user_id = {?} AND FIND_IN_SET("valide", e.flags) - AND peremption >= NOW()', $globals->baseurl, $user->id()); + $events = XDB::iterator('SELECT e.id, e.titre AS title, e.texte, e.creation_date AS publication, e.post_id, + p.attachmime IS NOT NULL AS photo, FIND_IN_SET(\'wiki\', e.flags) AS wiki, + e.user_id, e.promo_min, e.promo_max + FROM evenements AS e + LEFT JOIN evenements_photo AS p ON (p.eid = e.id) + WHERE FIND_IN_SET("valide", e.flags) AND peremption >= NOW()'); + $data = array(); + while ($e = self::nextEvent($events, $user)) { + $author = User::getWithUID($e['user_id']); + $promo = $author->promo(); + $e['author'] = $author->fullName() . ($promo ? ' (' . $promo . ')' : ''); + $e['link'] = $globals->baseurl . '/events#newsid' . $e['id']; + $data[] = $e; + } + return PlIteratorUtils::fromArray($data, 1, true); } }