X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fbanana%2Fmoderate.inc.php;h=753eb40a507d034d7f7c4f9e25b60bd7f79dc159;hb=e0ee31204dbb8e43870716190e4549257416fcb8;hp=08168ac5aca7e6bbc177ca089a1f1f37ed1109e3;hpb=fa7d6c7bcc7d547b3a17db356d1a38eb0a24f638;p=platal.git diff --git a/include/banana/moderate.inc.php b/include/banana/moderate.inc.php index 08168ac..753eb40 100644 --- a/include/banana/moderate.inc.php +++ b/include/banana/moderate.inc.php @@ -1,6 +1,6 @@ baseurl . $platal->ns . '/lists/moderate/' . ModerationBanana::$listname . '?'; + $base = $globals->baseurl . '/' . $platal->ns . 'lists/moderate/' . ModerationBanana::$listname . '?'; $get = ''; foreach ($params as $key=>$value) { if ($key == 'artid') { @@ -39,7 +40,7 @@ function hook_makeLink($params) if ($key == 'group') { continue; } - if ($key == 'action') { + if ($key == 'action' && $value != 'showext') { continue; } if (!empty($get)) { @@ -56,23 +57,28 @@ class ModerationBanana extends Banana static public $domain; static public $client; - function __construct($params = null, &$client) + function __construct(User &$user, $params = null) { + ini_set('memory_limit', '128M'); + global $globals; - ModerationBanana::$client = $client; + ModerationBanana::$client = $params['client']; ModerationBanana::$listname = $params['listname']; ModerationBanana::$domain = isset($params['domain']) ? $params['domain'] : $globals->mail->domain; $params['group'] = ModerationBanana::$listname . '@' . ModerationBanana::$domain; + Banana::$spool_root = $globals->banana->spool_root; Banana::$spool_boxlist = false; Banana::$msgshow_withthread = false; Banana::$withtabs = false; + Banana::$msgshow_externalimages = false; + Banana::$msgshow_mimeparts[] = 'source'; + Banana::$feed_active = false; + Banana::$debug_smarty = ($globals->debug & DEBUG_SMARTY); array_push(Banana::$msgparse_headers, 'x-org-id', 'x-org-mail'); parent::__construct($params, 'MLInterface', 'ModerationPage'); } } -require_once('banana/page.inc.php'); - class ModerationPage extends BananaPage { protected function prepare() @@ -85,17 +91,11 @@ class ModerationPage extends BananaPage public function trig($msg) { - global $page; - if ($page) { - $page->trig(utf8_decode($msg)); - } + Platal::page()->trigError($msg); return true; } } -require_once('banana/protocoleinterface.inc.php'); -require_once('banana/message.inc.php'); - class BananaMLInterface implements BananaProtocoleInterface { private $infos; //(list, addr, host, desc, info, diff, ins, priv, sub, own, nbsub) @@ -103,23 +103,23 @@ class BananaMLInterface implements BananaProtocoleInterface public function __construct() { - $this->infos = ModerationBanana::$client->get_members(ModerationBanana::$listname); + $this->infos = ModerationBanana::$client->get_members(ModerationBanana::$listname); $this->infos = $this->infos[0]; - + $mods = ModerationBanana::$client->get_pending_ops(ModerationBanana::$listname); $this->helds = $mods[1]; } - + public function isValid() { return !is_null(ModerationBanana::$client); } - + public function lastErrNo() { return 0; } - + public function lastError() { return null; @@ -143,7 +143,7 @@ class BananaMLInterface implements BananaProtocoleInterface $message = null; $msg = ModerationBanana::$client->get_pending_mail(ModerationBanana::$listname, $id, 1); if ($msg) { - $message = new BananaMessage($msg); + $message = new BananaMessage(html_entity_decode($msg)); } return $message; } @@ -233,7 +233,12 @@ class BananaMLInterface implements BananaProtocoleInterface { return ModerationBanana::$domain . '_' . ModerationBanana::$listname; } + + public function backtrace() + { + return null; + } } -// vim:set et sw=4 sts=4 ts=4: +// vim:set et sw=4 sts=4 ts=4 enc=utf-8: ?>