require_once 'banana/banana.inc.php';
require_once 'banana/hooks.inc.php';
-function hook_makeLink($params)
-{
- global $globals, $platal;
- $base = $globals->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)
+ function __construct($forlife, $params = null)
{
+ global $globals;
+ Banana::$spool_root = $globals->banana->spool_root;
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::$msgshow_mimeparts[] = 'source';
+ }
array_push(Banana::$msgparse_headers, 'x-org-id', 'x-org-mail');
-
+ if (!S::v('core_rss_hash')) {
+ Banana::$feed_active = false;
+ }
+
MLBanana::$listname = $params['listname'];
MLBanana::$domain = $params['domain'];
$params['group'] = $params['listname'] . '@' . $params['domain'];
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);
-
+ Banana::$profile['headers']['From'] = "$nom <$mail>";
+ Banana::$profile['headers']['Organization'] = make_Organization();
+ Banana::$profile['signature'] = $sig;
+
// Page design
Banana::$page->killPage('forums');
- Banana::$page->killPage('subscribe');
+ Banana::$page->killPage('subscribe');
// Run Banana
return parent::run();
return 'MLArchives';
}
+ public function getBoxList($mode = Banana::BOXES_ALL, $since = 0, $withstats = false)
+ {
+ global $globals;
+ $spool = $globals->lists->spool . '/';
+ $list = glob($spool . '*.mbox/*.mbox');
+ if ($list === false) {
+ return array();
+ }
+ $groups = array();
+ foreach ($list as $path) {
+ $path = substr($path, strpos($path, 'mbox/') + 5);
+ $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()
{
- return MLBanana::$domain . '_' . MLBanana::$listname;
+ 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;
- $file = MLBanana::$domain . $globals->lists->vhost_sep . MLBanana::$listname . '.mbox';
+ 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";
}
}
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>