/**
* Output the menu.
*
* @param string $page The current page ('compose', 'folders', 'mailbox',
* 'message', 'search').
* @param array $items Additional menu items to add to the menu. First
* element is label, second is URL to link to.
*
* @return string The menu.
*/
public function getMenu($page, $items = array())
{
if (!in_array($page, array('mailbox', 'message')) || !$this->indices->mailbox->inbox) {
$items[] = array(_("Inbox"), IMP_Minimal_Mailbox::url(array('mailbox' => 'INBOX')));
}
if (!in_array($page, array('compose', 'search')) && IMP_Compose::canCompose()) {
$items[] = array(_("New Message"), IMP_Minimal_Compose::url());
}
if (!in_array($page, array('folders', 'search')) && $GLOBALS['injector']->getInstance('IMP_Factory_Imap')->create()->access(IMP_Imap::ACCESS_FOLDERS)) {
$items[] = array(_("Folders"), IMP_Minimal_Folders::url());
}
$items[] = array(_("Log out"), $GLOBALS['registry']->getServiceLink('logout', 'imp')->setRaw(false));
$menu = new Horde_Menu();
foreach ($menu->getSiteLinks() as $menuitem) {
if ($menuitem != 'separator') {
$items[] = array($menuitem['text'], $menuitem['url']);
}
}
return $items;
}