X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fbanana%2Fml.inc.php;h=83959ff772c87f3922cd622c4b49ef58679a4f22;hb=d0ce063e92abd326eb228ccea47b80e6d6c1740f;hp=713a90f1acd635044b341841f2e3af71c173c0dc;hpb=437a98e00b91970b94d87333ed4c0b09763dec44;p=platal.git diff --git a/include/banana/ml.inc.php b/include/banana/ml.inc.php index 713a90f..83959ff 100644 --- a/include/banana/ml.inc.php +++ b/include/banana/ml.inc.php @@ -1,6 +1,6 @@ handler = 'BananaMLHandler'; + $this->base = $platal->pl_self(1); + } +} + +class BananaMLHandler extends BananaHandler +{ + public function template() + { + return 'lists/archives.tpl'; + } +} + class MLBanana extends Banana { static public $listname; static public $domain; + private $user; - function __construct($forlife, $params = null) + function __construct(User $user, $params = null) { - global $globals; - Banana::$spool_root = $globals->banana->spool_root; + global $globals; + $this->user = &$user; + + Banana::$spool_root = $globals->spoolroot . '/spool/banana/'; Banana::$spool_boxlist = false; Banana::$msgedit_canattach = true; Banana::$debug_mbox = ($globals->debug & DEBUG_BT); Banana::$debug_smarty = ($globals->debug & DEBUG_SMARTY); - Banana::$mbox_helper = $globals->banana->mbox_helper; - if (S::has_perms()) { + Banana::$mbox_helper = $globals->spoolroot . '/banana/mbox-helper/mbox-helper'; + Banana::$feed_updateOnDemand = true; + if (S::admin()) { Banana::$msgshow_mimeparts[] = 'source'; } array_push(Banana::$msgparse_headers, 'x-org-id', 'x-org-mail'); - if (!S::v('core_rss_hash')) { - Banana::$feed_active = false; - } + Banana::$feed_active = S::hasAuthToken(); MLBanana::$listname = $params['listname']; MLBanana::$domain = $params['domain']; $params['group'] = $params['listname'] . '@' . $params['domain']; - parent::__construct($params, 'MLArchive'); + parent::__construct($params, 'MLArchive', 'PlatalBananaMLPage'); } public function run() @@ -55,9 +75,20 @@ class MLBanana extends Banana global $platal, $globals; $nom = S::v('prenom') . ' ' . S::v('nom'); - $mail = S::v('bestalias') . '@' . $globals->mail->domain; + $mail = $this->user->bestEmail(); $sig = $nom . ' (' . S::v('promo') . ')'; - Banana::$msgedit_headers['X-Org-Mail'] = S::v('forlife') . '@' . $globals->mail->domain; + Banana::$msgedit_headers['X-Org-Mail'] = $this->user->forlifeEmail(); + + // Tree color + $req = XDB::query('SELECT tree_unread, tree_read + FROM forum_profiles + WHERE uid= {?}', $this->user->id()); + if (!(list($unread, $read) = $req->fetchOneRow())) { + $unread = 'o'; + $read = 'dg'; + } + Banana::$tree_unread = $unread; + Banana::$tree_read = $read; // Build user profile Banana::$profile['headers']['From'] = "$nom <$mail>"; @@ -73,7 +104,7 @@ class MLBanana extends Banana } } -require_once('banana/mbox.inc.php'); +require_once dirname(__FILE__) . '/../../banana/banana/mbox.inc.php'; class BananaMLArchive extends BananaMBox {