private function processEditRequest() { $parent = $this->getDelegatingController(); $request = $this->getRequest(); $user = $request->getUser(); $engine = $this->getSearchEngine(); $nav = $this->getNavigation(); if (!$nav) { $nav = $this->buildNavigation(); } $named_queries = $engine->loadAllNamedQueries(); $list_id = celerity_generate_unique_node_id(); $list = new PHUIObjectItemListView(); $list->setUser($user); $list->setID($list_id); Javelin::initBehavior('search-reorder-queries', array('listID' => $list_id, 'orderURI' => '/search/order/' . get_class($engine) . '/')); foreach ($named_queries as $named_query) { $class = get_class($engine); $key = $named_query->getQueryKey(); $item = id(new PHUIObjectItemView())->setHeader($named_query->getQueryName())->setHref($engine->getQueryResultsPageURI($key)); if ($named_query->getIsBuiltin() && $named_query->getIsDisabled()) { $icon = 'fa-plus'; } else { $icon = 'fa-times'; } $item->addAction(id(new PHUIListItemView())->setIcon($icon)->setHref('/search/delete/' . $key . '/' . $class . '/')->setWorkflow(true)); if ($named_query->getIsBuiltin()) { if ($named_query->getIsDisabled()) { $item->addIcon('fa-times lightgreytext', pht('Disabled')); $item->setDisabled(true); } else { $item->addIcon('fa-lock lightgreytext', pht('Builtin')); } } else { $item->addAction(id(new PHUIListItemView())->setIcon('fa-pencil')->setHref('/search/edit/' . $key . '/')); } $item->setGrippable(true); $item->addSigil('named-query'); $item->setMetadata(array('queryKey' => $named_query->getQueryKey())); $list->addItem($item); } $list->setNoDataString(pht('No saved queries.')); $crumbs = $parent->buildApplicationCrumbs()->addTextCrumb(pht('Saved Queries'), $engine->getQueryManagementURI()); $nav->selectFilter('query/edit'); $box = id(new PHUIObjectBoxView())->setHeaderText(pht('Saved Queries'))->setObjectList($list); return $this->newPage()->setApplicationMenu($this->buildApplicationMenu())->setTitle(pht('Saved Queries'))->setCrumbs($crumbs)->setNavigation($nav)->appendChild($box); }