Fixes addresses validation when the user chooses a geocoded address.
[platal.git] / modules / xnetgrp / feed.inc.php
1 <?php
2 /***************************************************************************
3 * Copyright (C) 2003-2009 Polytechnique.org *
4 * http://opensource.polytechnique.org/ *
5 * *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the Free Software *
18 * Foundation, Inc., *
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
20 ***************************************************************************/
21
22 class XnetGrpEventFeed extends PlFeed
23 {
24 public function __construct()
25 {
26 global $globals;
27 $name = $globals->asso('nom');
28 $url = $globals->baseurl . '/' . $globals->asso('diminutif');
29 parent::__construct('Polytechnique.net :: ' . $name . ' :: News',
30 $url,
31 'L\'actualité du groupe ' . $name,
32 $url . '/logo',
33 'xnetgrp/announce-rss.tpl');
34 }
35
36 protected function fetch(PlUser &$user)
37 {
38 global $globals;
39 if (!is_null($user)) {
40 return XDB::iterator("SELECT a.id, a.titre AS title, a.texte, a.contacts,
41 a.create_date AS publication,
42 CONCAT(u2.prenom, ' ', IF(u2.nom_usage != '', u2.nom_usage, u2.nom), ' (X', u2.promo, ')') AS author,
43 FIND_IN_SET('photo', a.flags) AS photo,
44 CONCAT({?}, '/#art', a.id) AS link
45 FROM auth_user_md5 AS u
46 INNER JOIN groupex.announces AS a ON ( (a.promo_min = 0 OR a.promo_min <= u.promo)
47 AND (a.promo_max = 0 OR a.promo_max <= u.promo))
48 INNER JOIN auth_user_md5 AS u2 ON (u2.user_id = a.user_id)
49 WHERE u.user_id = {?} AND peremption >= NOW() AND a.asso_id = {?}",
50 $this->link, $user->id(), $globals->asso('id'));
51 } else {
52 return XDB::iterator("SELECT a.id, a.titre AS title, a.texte, a.create_date AS publication,
53 CONCAT(u.prenom, ' ', IF(u.nom_usage != '', u.nom_usage, u.nom), ' (X', u.promo, ')') AS author,
54 CONCAT({?}, '/#art', a.id) AS link,
55 NULL AS photo, NULL AS contacts
56 FROM groupex.announces AS a
57 INNER JOIN auth_user_md5 AS u USING(user_id)
58 WHERE FIND_IN_SET('public', a.flags) AND peremption >= NOW() AND a.asso_id = {?}",
59 $this->link, $globals->asso('id'));
60 }
61 }
62 }
63
64 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
65
66 ?>