Release plat/al core v1.1.13
[platal.git] / classes / plfeed.php
index 78af758..c946117 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2008 Polytechnique.org                              *
+ *  Copyright (C) 2003-2011 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -69,7 +69,7 @@ abstract class PlFeed implements PlIterator
 
     /** Fetch the feed for the given user.
      */
-    abstract protected function fetch($user);
+    abstract protected function fetch(PlUser $user);
 
     public function next()
     {
@@ -95,19 +95,14 @@ abstract class PlFeed implements PlIterator
         return $this->iterator->last();
     }
 
-    public function run(PlPage& $page, $login, $token, $require_auth = true, $type = 'rss2')
+    public function run(PlPage $page, PlUser $user, $require_auth = true, $type = 'rss2')
     {
-        $user = Platal::session()->tokenAuth($login, $token);
-        if (empty($user)) {
-            if ($require_auth) {
-                return PL_FORBIDDEN;
-            } else {
-                $user = null;
-            }
+        if (empty($user) && $require_auth) {
+            return PL_FORBIDDEN;
         }
 
         $page->assign('rss_hash', $token);
-        header('Content-Type: application/rss+xml; charset=utf8');
+        pl_content_headers("application/rss+xml");
         $this->iterator = $this->fetch($user);
         $page->coreTpl('feed.' . $type . '.tpl', NO_SKIN);
         $page->assign_by_ref('feed', $this);
@@ -115,5 +110,5 @@ abstract class PlFeed implements PlIterator
     }
 }
 
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
 ?>