<?php
/***************************************************************************
- * Copyright (C) 2003-2004 Polytechnique.org *
+ * Copyright (C) 2003-2009 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-function _rss_encode_date($d) {
- if (preg_match('/^\d{14}$/', $d)) {
- $t = mktime(substr($d,8,2), substr($d,10,2), substr($d,12,2), substr($d,4,2), substr($d,6,2), substr($d,0,4));
- } else {
- $t = strtotime($d);
- }
- return utf8_encode(date('r', $t));
-}
-
-function to_rss ($s)
+function init_rss($template, $alias, $hash, $require_uid = true)
{
- if(is_string($s)) {
- return utf8_encode($s);
- } else {
- return $s;
+ $page =& Platal::page();
+ $page->changeTpl($template, NO_SKIN);
+ $user = Platal::session()->tokenAuth($alias, $hash);
+ if (is_null($user)) {
+ if ($require_uid) {
+ exit;
+ } else {
+ $user = null;
+ }
}
-}
-function init_rss($template)
-{
- global $page, $globals;
- new_nonhtml_page($template, AUTH_PUBLIC);
- $page->register_modifier('rss_date', '_rss_encode_date');
- $page->default_modifiers = Array('@to_rss');
-
- if (preg_match(',^/([^/]+)/([^/]+)\.xml$,', $_SERVER['PATH_INFO'], $m)) {
- $alias = $m[1];
- $hash = $m[2];
- $res = $globals->xdb->query(
- 'SELECT a.id
- FROM aliases AS a
- INNER JOIN auth_user_quick AS q ON ( a.id = q.user_id AND q.core_rss_hash = {?} )
- WHERE a.alias = {?} AND a.type != "homonyme"', $hash, $alias);
- $uid = $res->fetchOneCell();
+ if ($template) {
+ $page->assign('rss_hash', $hash);
+ header('Content-Type: application/rss+xml; charset=utf8');
}
- if (empty($uid)) { exit; }
-
- header('Content-Type: application/rss+xml; charset=utf8');
- return $uid;
+ return is_null($user) ? null : $user->id();
}
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>