Something went wrong. Try again.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
Something went wrong. Try again.
3.5 kB · 104 lines
PHP
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105<?php
final class DiffusionEmptyResultView extends DiffusionView {
private $browseResultSet; private $view;
public function setDiffusionBrowseResultSet(DiffusionBrowseResultSet $set) { $this->browseResultSet = $set; return $this; }
public function setView($view) { $this->view = $view; return $this; }
public function render() { $drequest = $this->getDiffusionRequest(); $repository = $drequest->getRepository();
$commit = $drequest->getCommit(); if ($commit) { $commit = $repository->formatCommitName($commit); } else { $commit = 'HEAD'; }
$reason = $this->browseResultSet->getReasonForEmptyResultSet(); switch ($reason) { case DiffusionBrowseResultSet::REASON_IS_NONEXISTENT: $title = pht('Path Does Not Exist'); // TODO: Under git, this error message should be more specific. It // may exist on some other branch. $body = pht('This path does not exist anywhere.'); $severity = PHUIInfoView::SEVERITY_ERROR; break; case DiffusionBrowseResultSet::REASON_IS_EMPTY: $title = pht('Empty Directory'); $body = pht('This path was an empty directory at %s.', $commit); $severity = PHUIInfoView::SEVERITY_NOTICE; break; case DiffusionBrowseResultSet::REASON_IS_SUBMODULE: $title = pht('Submodule'); // TODO: We could improve this, but it is normally difficult to // reach this page for a submodule. $body = pht('This path was a submodule at %s.', $commit); $severity = PHUIInfoView::SEVERITY_NOTICE; break; case DiffusionBrowseResultSet::REASON_IS_DELETED: $deleted = $this->browseResultSet->getDeletedAtCommit(); $existed = $this->browseResultSet->getExistedAtCommit();
$existed_text = $repository->formatCommitName($existed); $existed_href = $drequest->generateURI( array( 'action' => 'browse', 'path' => $drequest->getPath(), 'commit' => $existed, 'params' => array( 'view' => $this->view, ), ));
$existed_link = phutil_tag( 'a', array( 'href' => $existed_href, ), $existed_text);
$title = pht('Path Was Deleted'); $body = pht( 'This path does not exist at %s. It was deleted in %s and last '. 'existed at %s.', $commit, self::linkCommit($drequest->getRepository(), $deleted), $existed_link); $severity = PHUIInfoView::SEVERITY_WARNING; break; case DiffusionBrowseResultSet::REASON_IS_UNTRACKED_PARENT: $subdir = $drequest->getRepository()->getDetail('svn-subpath'); $title = pht('Directory Not Tracked'); $body = pht( "This repository is configured to track only one subdirectory ". "of the entire repository ('%s'), but you aren't looking at ". "something in that subdirectory, so no information is available.", $subdir); $severity = PHUIInfoView::SEVERITY_WARNING; break; default: throw new Exception(pht('Unknown failure reason: %s', $reason)); }
$error_view = new PHUIInfoView(); $error_view->setSeverity($severity); $error_view->setTitle($title); $error_view->appendChild(phutil_tag('p', array(), $body));
return $error_view->render(); }
}