Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diffusion/controller/DiffusionBrowseController.php
| Show First 20 Lines • Show All 345 Lines • ▼ Show 20 Lines | return $this->newPage() | ||||
| nonempty(basename($drequest->getPath()), '/'), | nonempty(basename($drequest->getPath()), '/'), | ||||
| $repository->getDisplayName(), | $repository->getDisplayName(), | ||||
| )) | )) | ||||
| ->setCrumbs($crumbs) | ->setCrumbs($crumbs) | ||||
| ->appendChild($content); | ->appendChild($content); | ||||
| } | } | ||||
| private function renderSearchResults() { | private function renderSearchResults() { | ||||
| $request = $this->getRequest(); | |||||
| $drequest = $this->getDiffusionRequest(); | $drequest = $this->getDiffusionRequest(); | ||||
| $repository = $drequest->getRepository(); | $repository = $drequest->getRepository(); | ||||
| $results = array(); | $results = array(); | ||||
| $limit = 100; | $pager = id(new PHUIPagerView()) | ||||
| $page = $this->getRequest()->getInt('page', 0); | ->readFromRequest($request); | ||||
| $pager = new PHUIPagerView(); | |||||
| $pager->setPageSize($limit); | |||||
| $pager->setOffset($page); | |||||
| $pager->setURI($this->getRequest()->getRequestURI(), 'page'); | |||||
| $search_mode = null; | $search_mode = null; | ||||
| switch ($repository->getVersionControlSystem()) { | switch ($repository->getVersionControlSystem()) { | ||||
| case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN: | case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN: | ||||
| $results = array(); | $results = array(); | ||||
| break; | break; | ||||
| default: | default: | ||||
| if (strlen($this->getRequest()->getStr('grep'))) { | if (strlen($this->getRequest()->getStr('grep'))) { | ||||
| $search_mode = 'grep'; | $search_mode = 'grep'; | ||||
| $query_string = $this->getRequest()->getStr('grep'); | $query_string = $request->getStr('grep'); | ||||
| $results = $this->callConduitWithDiffusionRequest( | $results = $this->callConduitWithDiffusionRequest( | ||||
| 'diffusion.searchquery', | 'diffusion.searchquery', | ||||
| array( | array( | ||||
| 'grep' => $query_string, | 'grep' => $query_string, | ||||
| 'commit' => $drequest->getStableCommit(), | 'commit' => $drequest->getStableCommit(), | ||||
| 'path' => $drequest->getPath(), | 'path' => $drequest->getPath(), | ||||
| 'limit' => $limit + 1, | 'limit' => $pager->getPageSize() + 1, | ||||
| 'offset' => $page, | 'offset' => $pager->getOffset(), | ||||
| )); | )); | ||||
| } else { // Filename search. | } else { // Filename search. | ||||
| $search_mode = 'find'; | $search_mode = 'find'; | ||||
| $query_string = $this->getRequest()->getStr('find'); | $query_string = $request->getStr('find'); | ||||
| $results = $this->callConduitWithDiffusionRequest( | $results = $this->callConduitWithDiffusionRequest( | ||||
| 'diffusion.querypaths', | 'diffusion.querypaths', | ||||
| array( | array( | ||||
| 'pattern' => $query_string, | 'pattern' => $query_string, | ||||
| 'commit' => $drequest->getStableCommit(), | 'commit' => $drequest->getStableCommit(), | ||||
| 'path' => $drequest->getPath(), | 'path' => $drequest->getPath(), | ||||
| 'limit' => $limit + 1, | 'limit' => $pager->getPageSize() + 1, | ||||
| 'offset' => $page, | 'offset' => $pager->getOffset(), | ||||
| )); | )); | ||||
| } | } | ||||
| break; | break; | ||||
| } | } | ||||
| $results = $pager->sliceResults($results); | $results = $pager->sliceResults($results); | ||||
| if ($search_mode == 'grep') { | if ($search_mode == 'grep') { | ||||
| $table = $this->renderGrepResults($results, $query_string); | $table = $this->renderGrepResults($results, $query_string); | ||||
| $header = pht( | $header = pht( | ||||
| 'File content matching "%s" under "%s"', | 'File content matching "%s" under "%s"', | ||||
| $query_string, | $query_string, | ||||
| nonempty($drequest->getPath(), '/')); | nonempty($drequest->getPath(), '/')); | ||||
| ▲ Show 20 Lines • Show All 1,322 Lines • Show Last 20 Lines | |||||