Bye xorg.misc.inc.php
[platal.git] / include / rss.inc.php
index 10fb3ed..3b07d78 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2006 Polytechnique.org                              *
+ *  Copyright (C) 2003-2008 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -25,39 +25,37 @@ function _rss_encode_date($d) {
     } else {
         $t = strtotime($d);
     }
-    return utf8_encode(date('r', $t));
+    return 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;
-    }
-}
-
-function init_rss($template, $alias, $hash)
-{
-    global $page, $globals;
-    new_nonhtml_page($template, AUTH_PUBLIC);
+    $page =& Platal::page();
+    $page->changeTpl($template, NO_SKIN);
     $page->register_modifier('rss_date', '_rss_encode_date');
-    $page->default_modifiers = Array('@to_rss');
 
-    $res = $globals->xdb->query(
+    $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 = {?} )
+     INNER JOIN  auth_user_md5   AS u ON (a.id = u.user_id AND u.perms IN ("admin", "user"))
+     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)) {
-        exit;
+        if ($require_uid) {
+            exit;
+        } else {
+            $uid = null;
+        }
     }
 
-    header('Content-Type: application/rss+xml; charset=utf8');
+    if ($template) {
+        $page->assign('rss_hash', $hash);
+        header('Content-Type: application/rss+xml; charset=utf8');
+    }
     return $uid;
 }
 
-// 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:
 ?>