/** * 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; }