mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-01 09:28:22 +01:00
Require a viewer for Remarkup rendering
Summary: Provide a viewer to all remarkup engines. This fixes commit summaries in Diffusion, which were failing to link because they didn't have a user and thus couldn't see/load `D123`, e.g. Test Plan: Grepped for engine creation. Reviewers: vrana Reviewed By: vrana CC: aran, edward Maniphest Tasks: T603 Differential Revision: https://secure.phabricator.com/D5152
This commit is contained in:
parent
1beda30792
commit
8ae718c2aa
19 changed files with 20 additions and 39 deletions
|
@ -130,6 +130,7 @@ final class PhabricatorConfigEditController
|
|||
}
|
||||
|
||||
$engine = new PhabricatorMarkupEngine();
|
||||
$engine->setViewer($user);
|
||||
$engine->addObject($option, 'description');
|
||||
$engine->process();
|
||||
$description = phutil_tag(
|
||||
|
|
|
@ -43,6 +43,7 @@ final class DifferentialParseRenderTestCase extends PhabricatorTestCase {
|
|||
$changeset = head($diff->getChangesets());
|
||||
|
||||
$engine = new PhabricatorMarkupEngine();
|
||||
$engine->setViewer(new PhabricatorUser());
|
||||
|
||||
$cparser = new DifferentialChangesetParser();
|
||||
$cparser->setDisableCache(true);
|
||||
|
|
|
@ -49,6 +49,7 @@ final class DifferentialBlameRevisionFieldSpecification
|
|||
return null;
|
||||
}
|
||||
$engine = PhabricatorMarkupEngine::newDifferentialMarkupEngine();
|
||||
$engine->setConfig('viewer', $this->getUser());
|
||||
return $engine->markupText($this->value);
|
||||
}
|
||||
|
||||
|
|
|
@ -116,6 +116,7 @@ final class DifferentialUnitFieldSpecification
|
|||
$userdata = str_replace("\000", '', $userdata);
|
||||
}
|
||||
$engine = PhabricatorMarkupEngine::newDifferentialMarkupEngine();
|
||||
$engine->setConfig('viewer', $this->getUser());
|
||||
$userdata = $engine->markupText($userdata);
|
||||
$rows[] = array(
|
||||
'style' => 'details',
|
||||
|
|
|
@ -12,11 +12,6 @@ final class DifferentialRemarkupRule
|
|||
|
||||
protected function loadObjects(array $ids) {
|
||||
$viewer = $this->getEngine()->getConfig('viewer');
|
||||
|
||||
if (!$viewer) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return id(new DifferentialRevisionQuery())
|
||||
->setViewer($viewer)
|
||||
->withIDs($ids)
|
||||
|
|
|
@ -107,6 +107,7 @@ final class DiffusionBrowseController extends DiffusionController {
|
|||
|
||||
private function markupText($text) {
|
||||
$engine = PhabricatorMarkupEngine::newDiffusionMarkupEngine();
|
||||
$engine->setConfig('viewer', $this->getRequest()->getUser());
|
||||
$text = $engine->markupText($text);
|
||||
|
||||
$text = phutil_tag(
|
||||
|
|
|
@ -67,6 +67,7 @@ final class DiffusionCommitController extends DiffusionController {
|
|||
$content[] = $top_anchor;
|
||||
} else {
|
||||
$engine = PhabricatorMarkupEngine::newDifferentialMarkupEngine();
|
||||
$engine->setConfig('viewer', $user);
|
||||
|
||||
require_celerity_resource('diffusion-commit-view-css');
|
||||
require_celerity_resource('phabricator-remarkup-css');
|
||||
|
|
|
@ -137,6 +137,7 @@ abstract class DiffusionBrowseQuery {
|
|||
} else {
|
||||
// Markup extensionless files as remarkup so we get links and such.
|
||||
$engine = PhabricatorMarkupEngine::newDiffusionMarkupEngine();
|
||||
$engine->setConfig('viewer', $this->getViewer());
|
||||
$readme_content = $engine->markupText($readme_content);
|
||||
|
||||
$class = 'phabricator-remarkup';
|
||||
|
|
|
@ -23,10 +23,6 @@ final class DiffusionRemarkupRule
|
|||
$viewer = $this->getEngine()->getConfig('viewer');
|
||||
$min_qualified = PhabricatorRepository::MINIMUM_QUALIFIED_HASH;
|
||||
|
||||
if (!$viewer) {
|
||||
return array();
|
||||
}
|
||||
|
||||
$commits = id(new DiffusionCommitQuery())
|
||||
->setViewer($viewer)
|
||||
->withIdentifiers($ids)
|
||||
|
|
|
@ -186,6 +186,7 @@ final class DivinerDefaultRenderer extends DivinerRenderer {
|
|||
array(
|
||||
'preserve-linebreaks' => false,
|
||||
));
|
||||
$engine->setConfig('viewer', new PhabricatorUser());
|
||||
$engine->setConfig('diviner.renderer', $this);
|
||||
return $engine;
|
||||
}
|
||||
|
|
|
@ -13,10 +13,6 @@ final class ManiphestRemarkupRule
|
|||
protected function loadObjects(array $ids) {
|
||||
$viewer = $this->getEngine()->getConfig('viewer');
|
||||
|
||||
if (!$viewer) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return id(new ManiphestTaskQuery())
|
||||
->setViewer($viewer)
|
||||
->withTaskIDs($ids)
|
||||
|
|
|
@ -13,10 +13,6 @@ final class PhabricatorPasteRemarkupRule
|
|||
protected function loadObjects(array $ids) {
|
||||
$viewer = $this->getEngine()->getConfig('viewer');
|
||||
|
||||
if (!$viewer) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return id(new PhabricatorPasteQuery())
|
||||
->setViewer($viewer)
|
||||
->withIDs($ids)
|
||||
|
|
|
@ -171,11 +171,12 @@ final class PhabricatorPeopleProfileController
|
|||
$profile->getBlurb(),
|
||||
'//'.pht('Nothing is known about this rare specimen.').'//');
|
||||
|
||||
$engine = PhabricatorMarkupEngine::newProfileMarkupEngine();
|
||||
$blurb = $engine->markupText($blurb);
|
||||
|
||||
$viewer = $this->getRequest()->getUser();
|
||||
|
||||
$engine = PhabricatorMarkupEngine::newProfileMarkupEngine();
|
||||
$engine->setConfig('viewer', $viewer);
|
||||
$blurb = $engine->markupText($blurb);
|
||||
|
||||
$content = hsprintf(
|
||||
'<div class="phabricator-profile-info-group">
|
||||
<h1 class="phabricator-profile-info-header">Basic Information</h1>
|
||||
|
|
|
@ -9,11 +9,6 @@ final class PholioRemarkupRule
|
|||
|
||||
protected function loadObjects(array $ids) {
|
||||
$viewer = $this->getEngine()->getConfig('viewer');
|
||||
|
||||
if (!$viewer) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return id(new PholioMockQuery())
|
||||
->setViewer($viewer)
|
||||
->withIDs($ids)
|
||||
|
|
|
@ -9,11 +9,6 @@ final class PonderRemarkupRule
|
|||
|
||||
protected function loadObjects(array $ids) {
|
||||
$viewer = $this->getEngine()->getConfig('viewer');
|
||||
|
||||
if (!$viewer) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return id(new PonderQuestionQuery())
|
||||
->setViewer($viewer)
|
||||
->withIDs($ids)
|
||||
|
|
|
@ -200,6 +200,7 @@ final class PhabricatorSlowvotePollController
|
|||
$viewer = $this->getRequest()->getUser();
|
||||
|
||||
$engine = PhabricatorMarkupEngine::newSlowvoteMarkupEngine();
|
||||
$engine->setConfig('viewer', $viewer);
|
||||
|
||||
$comment_markup = array();
|
||||
foreach ($comments as $comment) {
|
||||
|
|
|
@ -33,9 +33,12 @@ final class PhabricatorApplicationTransactionTextDiffDetailView
|
|||
|
||||
$whitespace_mode = DifferentialChangesetParser::WHITESPACE_SHOW_ALL;
|
||||
|
||||
$markup_engine = new PhabricatorMarkupEngine();
|
||||
$markup_engine->setViewer($this->getUser());
|
||||
|
||||
$parser = new DifferentialChangesetParser();
|
||||
$parser->setChangeset($changeset);
|
||||
$parser->setMarkupEngine(new PhabricatorMarkupEngine());
|
||||
$parser->setMarkupEngine($markup_engine);
|
||||
$parser->setWhitespaceMode($whitespace_mode);
|
||||
|
||||
return $parser->render(0, PHP_INT_MAX, array());
|
||||
|
|
|
@ -461,6 +461,7 @@ final class PhabricatorMarkupEngine {
|
|||
$mentions = array();
|
||||
|
||||
$engine = self::newDifferentialMarkupEngine();
|
||||
$engine->setConfig('viewer', PhabricatorUser::getOmnipotentUser());
|
||||
|
||||
foreach ($content_blocks as $content_block) {
|
||||
$engine->markupText($content_block);
|
||||
|
@ -478,6 +479,7 @@ final class PhabricatorMarkupEngine {
|
|||
$files = array();
|
||||
|
||||
$engine = self::newDifferentialMarkupEngine();
|
||||
$engine->setConfig('viewer', PhabricatorUser::getOmnipotentUser());
|
||||
|
||||
foreach ($content_blocks as $content_block) {
|
||||
$engine->markupText($content_block);
|
||||
|
|
|
@ -24,14 +24,7 @@ abstract class PhabricatorRemarkupRuleObject
|
|||
$query = new PhabricatorObjectHandleData($phids);
|
||||
|
||||
$viewer = $this->getEngine()->getConfig('viewer');
|
||||
if ($viewer) {
|
||||
$query->setViewer($viewer);
|
||||
} else {
|
||||
// TODO: This needs to be fixed; all markup engines need to set viewers --
|
||||
// but there are a lot of them (T603).
|
||||
$query->setViewer(PhabricatorUser::getOmnipotentUser());
|
||||
phlog("Warning: Loading handles without a viewing user.");
|
||||
}
|
||||
$query->setViewer($viewer);
|
||||
$handles = $query->loadHandles();
|
||||
|
||||
$result = array();
|
||||
|
|
Loading…
Add table
Reference in a new issue