*
* @var array
*/
- static private $_menuTemplate = null;
+ static private $_menu = null;
+
+ /**
+ * Sidebar buffer.
+ *
+ * @var array
+ */
+ static private $_sidebar;
/**
* Returns the current view mode for IMP.
*/
static public function prepareMenu()
{
- if (isset(self::$_menuTemplate)) {
+ if (isset(self::$_menu)) {
return;
}
}
$t->set('menu_string', self::getMenu()->render());
- self::$_menuTemplate = $t;
+ self::$_menu = $t;
+
+ /* Need to buffer sidebar output here, because it may add things like
+ * cookies which need to be sent before output begins. */
+ Horde::startBuffer();
+ require HORDE_BASE . '/services/portal/sidebar.php';
+ self::$_sidebar = Horde::endBuffer();
}
/**
static public function menu()
{
self::prepareMenu();
- echo self::$_menuTemplate->fetch(IMP_TEMPLATES . '/imp/menu/menu.html');
- require HORDE_BASE . '/services/portal/sidebar.php';
+
+ echo self::$_menu->fetch(IMP_TEMPLATES . '/imp/menu/menu.html') .
+ self::$_sidebar;
}
/**