$template_output = $t->fetch(IMP_TEMPLATES . '/compose/compose.html');
}
+if ($showmenu) {
+ IMP::prepareMenu();
+}
Horde::addScriptFile('compose.js', 'imp', true);
require IMP_TEMPLATES . '/common-header.inc';
Horde::addInlineScript($js_code);
}
$title = _("Folder Actions - Confirmation");
+ IMP::prepareMenu();
require IMP_TEMPLATES . '/common-header.inc';
IMP::menu();
Horde::addScriptFile('tables.js', 'horde', true);
$title = _("Folder Sizes");
+ IMP::prepareMenu();
require IMP_TEMPLATES . '/common-header.inc';
IMP::menu();
IMP::status();
if ($_SESSION['imp']['file_upload'] && ($actionID == 'import_mbox')) {
$title = _("Folder Navigator");
+ IMP::prepareMenu();
require IMP_TEMPLATES . '/common-header.inc';
IMP::menu();
IMP::status();
$template->set('rows', $rows);
$title = _("Folder Navigator");
+IMP::prepareMenu();
require IMP_TEMPLATES . '/common-header.inc';
IMP::menu();
IMP::status();
/* hideDeletedMsgs() cache. */
static private $_delhide = null;
+ /* prepareMenu() cache. */
+ static private $_menuTemplate = null;
+
/* Has init previously been called? */
static private $_init = false;
}
/**
- * Outputs IMP's menu to the current output stream.
+ * Build IMP's list of menu items.
*/
- static public function menu()
+ static public function prepareMenu()
{
+ if (isset(self::$_menuTemplate)) {
+ return;
+ }
+
$t = new Horde_Template();
$t->set('forminput', Horde_Util::formInput());
$t->set('use_folders', ($_SESSION['imp']['protocol'] != 'pop') && $GLOBALS['conf']['user']['allow_folders'], true);
}
$t->set('menu_string', self::getMenu('string'));
- echo $t->fetch(IMP_TEMPLATES . '/menu.html');
+ self::$_menuTemplate = $t;
+ }
+
+ /**
+ * Outputs IMP's menu to the current output stream.
+ */
+ static public function menu()
+ {
+ self::prepareMenu();
+ echo self::$_menuTemplate->fetch(IMP_TEMPLATES . '/menu.html');
}
/**
}
}
+IMP::prepareMenu();
require IMP_TEMPLATES . '/common-header.inc';
IMP::menu();
IMP::status();
Horde::addScriptFile('effects.js', 'horde', true);
Horde::addScriptFile('imp.js', 'imp', true);
Horde::addScriptFile('message.js', 'imp', true);
+IMP::prepareMenu();
require IMP_TEMPLATES . '/common-header.inc';
if (!empty($conf['maillog']['use_maillog'])) {
IMP_Maillog::displayLog($envelope['message-id']);
$title = _("Message Search");
Horde::addScriptFile('stripe.js', 'horde', true);
Horde::addScriptFile('search.js', 'imp', true);
+IMP::prepareMenu();
require IMP_TEMPLATES . '/common-header.inc';
IMP::menu();
IMP::status();
/* Output page. */
$title = ($mode == 'thread') ? _("Thread View") : _("Multiple Message View");
+IMP::prepareMenu();
require IMP_TEMPLATES . '/common-header.inc';
IMP::menu();
IMP::status();