<?php
/***************************************************************************
- * Copyright (C) 2003-2006 Polytechnique.org *
+ * Copyright (C) 2003-2007 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
function to_rss ($s)
{
if(is_string($s)) {
- return utf8_encode($s);
+ return iconv('ISO_8859-15', 'UTF8', $s);
} else {
return $s;
}
}
-function init_rss($template)
+function init_rss($template, $alias, $hash, $require_uid = true)
{
- global $page, $globals;
- new_nonhtml_page($template, AUTH_PUBLIC);
+ global $page;
+ $page->changeTpl($template, NO_SKIN);
$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();
+ $res = 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 (empty($uid)) {
+ if ($require_uid) {
+ exit;
+ } else {
+ $uid = null;
+ }
}
- if (empty($uid)) { exit; }
header('Content-Type: application/rss+xml; charset=utf8');
return $uid;