baseurl . '/' . $platal->ns . 'lists/archives/' . MLBanana::$listname; return $base . hook_platalMessageLink($params); } class MLBanana extends Banana { static public $listname; static public $domain; function __construct($params = null) { Banana::$spool_boxlist = false; Banana::$msgedit_canattach = true; if (S::has_perms()) { Banana::$msgshow_mimeparts[] = 'source'; } array_push(Banana::$msgparse_headers, 'x-org-id', 'x-org-mail'); MLBanana::$listname = $params['listname']; MLBanana::$domain = $params['domain']; $params['group'] = $params['listname'] . '@' . $params['domain']; parent::__construct($params, 'MLArchive'); } public function run() { global $platal, $globals; $nom = S::v('prenom') . ' ' . S::v('nom'); $mail = S::v('bestalias') . '@' . $globals->mail->domain; $sig = $nom . ' (' . S::v('promo') . ')'; Banana::$msgedit_headers['X-Org-Mail'] = S::v('forlife') . '@' . $globals->mail->domain; // Build user profile Banana::$profile['headers']['From'] = utf8_encode("$nom <$mail>"); Banana::$profile['headers']['Organization'] = 'Utilisateur de Polytechnique.org'; Banana::$profile['signature'] = utf8_encode($sig); // Page design Banana::$page->killPage('forums'); Banana::$page->killPage('subscribe'); // Run Banana return parent::run(); } } require_once('banana/mbox.inc.php'); class BananaMLArchive extends BananaMBox { public function name() { return 'MLArchives'; } public function getBoxList($mode = Banana::BOXES_ALL, $since = 0, $withstats = false) { global $globals; $spool = $globals->lists->spool . '/'; $list = glob($spool . '*.mbox', GLOB_ONLYDIR); if ($list === false) { return array(); } $groups = array(); foreach ($list as $path) { $path = substr($path, strlen($spool)); $path = substr($path, 0, -5); list($domain, $listname) = explode($globals->lists->vhost_sep, $path, 2); $group = $listname . '@' . $domain; $groups[$group] = array('desc' => null, 'msgnum' => null, 'unread' => null); } return $groups; } public function filename() { if (MLBanana::$listname) { $listname = MLBanana::$listname; $domain = MLBanana::$domain; } else { list($listname, $domain) = explode('@', Banana::$group); } return $domain . '_' . $listname; } protected function getFileName() { global $globals; $base = $globals->lists->spool; if (MLBanana::$listname) { $listname = MLBanana::$listname; $domain = MLBanana::$domain; } else { list($listname, $domain) = explode('@', Banana::$group); } $file = $domain . $globals->lists->vhost_sep . $listname . '.mbox'; return "$base/$file/$file"; } } ?>