X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fevents%2Ffeed.inc.php;h=524ff32d73c43d0c5456870587a2fc2d9546fdca;hb=f280f651c1ea4059896655b132ddaec1e39cbd1b;hp=ac3ee0f7d9bbdfba14ff2280879dea516e750871;hpb=dbbfabe9138005367547465c13e50b98f121bc36;p=platal.git diff --git a/modules/events/feed.inc.php b/modules/events/feed.inc.php index ac3ee0f..524ff32 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); + $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.uid, e.promo_min, e.promo_max + FROM announces AS e + LEFT JOIN announce_photos 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); } }