public static final function getAllPanelGroupsWithPanels() { $groups = self::getAllPanelGroups(); $panels = PhabricatorSettingsPanel::getAllPanels(); $panels = mgroup($panels, 'getPanelGroupKey'); foreach ($groups as $key => $group) { $group->panels = idx($panels, $key, array()); } return $groups; }
protected function newPages($object) { $viewer = $this->getViewer(); $user = $object->getUser(); $panels = PhabricatorSettingsPanel::getAllPanels(); foreach ($panels as $key => $panel) { if (!$panel instanceof PhabricatorEditEngineSettingsPanel) { unset($panels[$key]); continue; } $panel->setViewer($viewer); if ($user) { $panel->setUser($user); } } $pages = array(); $uris = array(); foreach ($panels as $key => $panel) { $uris[$key] = $panel->getPanelURI(); $page = $panel->newEditEnginePage(); if (!$page) { continue; } $pages[] = $page; } $more_pages = array(id(new PhabricatorEditPage())->setKey('extra')->setLabel(pht('Extra Settings'))->setIsDefault(true)); foreach ($more_pages as $page) { $pages[] = $page; } return $pages; }