Merge commit 'origin/platal-0.10.0'
[platal.git] / include / banana / hooks.inc.php
index ef22186..d8cd9f1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2007 Polytechnique.org                              *
+ *  Copyright (C) 2003-2009 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -76,7 +76,7 @@ function hook_platalRSS($group)
     } else {
         $group = '';
     }
-    return '/rss/' . $group . S::v('forlife') . '/' . S::v('core_rss_hash') . '/rss.xml';
+    return '/rss/' . $group . S::v('hruid') . '/' . S::v('core_rss_hash') . '/rss.xml';
 }
 
 function hook_platalMessageLink($params)
@@ -200,8 +200,7 @@ function hook_getXFace($headers)
 
 function hook_makeJs($src)
 {
-    global $page;
-    $page->addJsLink("$src.js");
+    Platal::page()->addJsLink("$src.js");
     return ' ';
 }
 
@@ -230,6 +229,9 @@ function get_banana_params(array &$get, $group = null, $action = null, $artid =
         $action = 'read';
         $group  = S::v('banana_group');
         $artid  = S::i('banana_artid');
+    } else if ($action == 'message') {
+        $action = 'read';
+        $artid  = S::i('banana_artid');
     } else if ($group == 'subscribe' || $group == 'subscription') {
         $group  = null;
         $action = null;
@@ -272,25 +274,27 @@ function get_banana_params(array &$get, $group = null, $action = null, $artid =
 
 class PlatalBananaPage extends BananaPage
 {
+    protected $handler;
+    protected $base;
+
     public function __construct()
     {
+        global $platal;
         Banana::$withtabs = false;
+        $this->handler = 'BananaHandler';
+        $this->base    = $platal->pl_self(0);
         parent::__construct();
     }
 
     protected function prepare()
     {
         $tpl = parent::prepare();
-        global $wiz, $page;
-        $wiz = new PlWizard('Banana', 'core/plwizard.tpl', true, false);
+        global $wiz;
+        $wiz = new PlWizard('Banana', PlPage::getCoreTpl('plwizard.tpl'), true, false);
         foreach ($this->pages as $name=>&$mpage) {
-            if ($text == 'profile') {
-                $wiz->addPage('BananaProfile', $mpage['text'], $name);
-            } else {
-                $wiz->addPage('BananaHandler', $mpage['text'], $name);
-            }
+            $wiz->addPage($this->handler, $mpage['text'], $name);
         }
-        $wiz->apply($page, 'banana', $this->page);
+        $wiz->apply(Platal::page(), $this->base, $this->page);
         return $tpl;
     }
 }
@@ -306,7 +310,7 @@ class BananaHandler
         return 'banana/index.tpl';
     }
 
-    public function prepare(PlatalPage &$page, $id)
+    public function prepare(PlPage &$page, $id)
     {
     }
 
@@ -318,7 +322,7 @@ class BananaHandler
 
 function run_banana(&$page, $class, array $args)
 {
-    $banana = new $class(S::v('forlife'), $args);
+    $banana = new $class(S::user(), $args);
     $page->assign('banana', $banana->run());
     $page->addCssInline($banana->css());
     $page->addCssLink('banana.css');