public function render() { $user = $this->user; require_celerity_resource('phabricator-main-menu-view'); $header_id = celerity_generate_unique_node_id(); $extra = ''; $group = new PhabricatorMainMenuGroupView(); $group->addClass('phabricator-main-menu-group-logo'); $group->setCollapsible(false); $group->appendChild(phutil_render_tag('a', array('class' => 'phabricator-main-menu-logo', 'href' => '/'), '<span>Phabricator</span>')); if (PhabricatorEnv::getEnvConfig('notification.enabled') && $user->isLoggedIn()) { list($menu, $dropdown) = $this->renderNotificationMenu(); $group->appendChild($menu); $extra .= $dropdown; } $group->appendChild(javelin_render_tag('a', array('class' => 'phabricator-main-menu-expand-button', 'sigil' => 'jx-toggle-class', 'meta' => array('map' => array($header_id => 'phabricator-main-menu-reveal'))), '<span>Expand</span>')); $logo = $group->render(); return phutil_render_tag('div', array('class' => 'phabricator-main-menu', 'id' => $header_id), $logo . $this->renderChildren()) . $extra; }