From: Florent Bruneau Date: Tue, 19 Aug 2008 19:33:37 +0000 (+0200) Subject: Port Xnet feed to PlFeed. X-Git-Tag: xorg/0.10.0~122 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=4f18bb11890c790959e7da611084af1101099138;p=platal.git Port Xnet feed to PlFeed. Signed-off-by: Florent Bruneau --- diff --git a/modules/xnetgrp.php b/modules/xnetgrp.php index 56da844..a7a47e2 100644 --- a/modules/xnetgrp.php +++ b/modules/xnetgrp.php @@ -1183,29 +1183,11 @@ class XnetGrpModule extends PLModule function handler_rss(&$page, $user = null, $hash = null) { global $globals; - require_once('rss.inc.php'); - $uid = init_rss('xnetgrp/announce-rss.tpl', $user, $hash, false); - - if ($uid) { - $rss = XDB::iterator("SELECT a.id, a.titre, a.texte, a.contacts, a.create_date, - IF(u2.nom_usage != '', u2.nom_usage, u2.nom) AS nom, u2.prenom, u2.promo, - FIND_IN_SET('photo', a.flags) AS photo - FROM auth_user_md5 AS u - INNER JOIN groupex.announces AS a ON ( (a.promo_min = 0 OR a.promo_min <= u.promo) - AND (a.promo_max = 0 OR a.promo_max <= u.promo)) - INNER JOIN auth_user_md5 AS u2 ON (u2.user_id = a.user_id) - WHERE u.user_id = {?} AND peremption >= NOW() AND a.asso_id = {?}", - $uid, $globals->asso('id')); - } else { - $rss = XDB::iterator("SELECT a.id, a.titre, a.texte, a.create_date, - IF(u.nom_usage != '', u.nom_usage, u.nom) AS nom, u.prenom, u.promo - FROM groupex.announces AS a - INNER JOIN auth_user_md5 AS u USING(user_id) - WHERE FIND_IN_SET('public', a.flags) AND peremption >= NOW() AND a.asso_id = {?}", - $globals->asso('id')); - } $page->assign('asso', $globals->asso()); - $page->assign('rss', $rss); + + require_once dirname(__FILE__) . '/xnetgrp/feed.inc.php'; + $feed = new XnetGrpEventFeed(); + return $feed->run($page, $user, $hash, false); } private function upload_image(PlPage &$page, PlUpload &$upload) diff --git a/modules/xnetgrp/feed.inc.php b/modules/xnetgrp/feed.inc.php new file mode 100644 index 0000000..caee580 --- /dev/null +++ b/modules/xnetgrp/feed.inc.php @@ -0,0 +1,66 @@ +asso('nom'); + $url = $globals->baseurl . '/' . $globals->asso('diminutif'); + parent::__construct('Polytechnique.net :: ' . $name . ' :: News', + $url, + 'L\'actualité du groupe ' . $name, + $url . '/logo', + 'xnetgrp/announce-rss.tpl'); + } + + protected function fetch($user) + { + global $globals; + if (!is_null($user)) { + return XDB::iterator("SELECT a.id, a.titre AS title, a.texte, a.contacts, + a.create_date AS publication, + CONCAT(u2.prenom, ' ', IF(u2.nom_usage != '', u2.nom_usage, u2.nom), ' (X', u2.promo, ')') AS author, + FIND_IN_SET('photo', a.flags) AS photo, + CONCAT({?}, '/#art', a.id) AS link + FROM auth_user_md5 AS u + INNER JOIN groupex.announces AS a ON ( (a.promo_min = 0 OR a.promo_min <= u.promo) + AND (a.promo_max = 0 OR a.promo_max <= u.promo)) + INNER JOIN auth_user_md5 AS u2 ON (u2.user_id = a.user_id) + WHERE u.user_id = {?} AND peremption >= NOW() AND a.asso_id = {?}", + $this->link, $user, $globals->asso('id')); + } else { + return XDB::iterator("SELECT a.id, a.titre AS title, a.texte, a.create_date AS publication, + CONCAT(u.prenom, ' ', IF(u.nom_usage != '', u.nom_usage, u.nom), ' (X', u.promo, ')') AS author, + CONCAT({?}, '/#art', a.id) AS link, + NULL AS photo, NULL AS contacts + FROM groupex.announces AS a + INNER JOIN auth_user_md5 AS u USING(user_id) + WHERE FIND_IN_SET('public', a.flags) AND peremption >= NOW() AND a.asso_id = {?}", + $this->link, $globals->asso('id')); + } + } +} + +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: + +?> diff --git a/templates/xnetgrp/announce-rss.tpl b/templates/xnetgrp/announce-rss.tpl index caec126..e1172d7 100644 --- a/templates/xnetgrp/announce-rss.tpl +++ b/templates/xnetgrp/announce-rss.tpl @@ -19,35 +19,10 @@ {* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *} {* *} {**************************************************************************} - - - - - Polytechnique.net :: {$asso.nom} :: News - fr - {#globals.baseurl#}/{$asso.diminutif}/ - L'actualite polytechnicienne... - - {#globals.core.sitename#} - {#globals.baseurl#}/images/logo.png - {#globals.baseurl#}/{$asso.diminutif}/ - - {iterate item=line from=$rss} - - {$line.titre|strip_tags} - {$line.id} - {#globals.baseurl#}/{$asso.diminutif}/#art{$line.id} - - {$line.titre|strip_tags} - - {/if} -
{$line.texte|miniwiki}{if $line.contacts}

Contacts :
{$line.contacts|miniwiki}{/if}
]]>
- {$line.prenom} {$line.nom} (X{$line.promo}) - {$line.create_date|rss_date} -
- {/iterate} -
-
+{if $article->photo} +
+ {$article->titre|strip_tags} +
+{/if} +
{$article->texte|miniwiki}{if $article->contacts}

Contacts :
{$article->contacts|miniwiki}{/if}
{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}