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 = new PhabricatorMarkupEngine();
|
||||||
|
$engine->setViewer($user);
|
||||||
$engine->addObject($option, 'description');
|
$engine->addObject($option, 'description');
|
||||||
$engine->process();
|
$engine->process();
|
||||||
$description = phutil_tag(
|
$description = phutil_tag(
|
||||||
|
|
|
@ -43,6 +43,7 @@ final class DifferentialParseRenderTestCase extends PhabricatorTestCase {
|
||||||
$changeset = head($diff->getChangesets());
|
$changeset = head($diff->getChangesets());
|
||||||
|
|
||||||
$engine = new PhabricatorMarkupEngine();
|
$engine = new PhabricatorMarkupEngine();
|
||||||
|
$engine->setViewer(new PhabricatorUser());
|
||||||
|
|
||||||
$cparser = new DifferentialChangesetParser();
|
$cparser = new DifferentialChangesetParser();
|
||||||
$cparser->setDisableCache(true);
|
$cparser->setDisableCache(true);
|
||||||
|
|
|
@ -49,6 +49,7 @@ final class DifferentialBlameRevisionFieldSpecification
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
$engine = PhabricatorMarkupEngine::newDifferentialMarkupEngine();
|
$engine = PhabricatorMarkupEngine::newDifferentialMarkupEngine();
|
||||||
|
$engine->setConfig('viewer', $this->getUser());
|
||||||
return $engine->markupText($this->value);
|
return $engine->markupText($this->value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -116,6 +116,7 @@ final class DifferentialUnitFieldSpecification
|
||||||
$userdata = str_replace("\000", '', $userdata);
|
$userdata = str_replace("\000", '', $userdata);
|
||||||
}
|
}
|
||||||
$engine = PhabricatorMarkupEngine::newDifferentialMarkupEngine();
|
$engine = PhabricatorMarkupEngine::newDifferentialMarkupEngine();
|
||||||
|
$engine->setConfig('viewer', $this->getUser());
|
||||||
$userdata = $engine->markupText($userdata);
|
$userdata = $engine->markupText($userdata);
|
||||||
$rows[] = array(
|
$rows[] = array(
|
||||||
'style' => 'details',
|
'style' => 'details',
|
||||||
|
|
|
@ -12,11 +12,6 @@ final class DifferentialRemarkupRule
|
||||||
|
|
||||||
protected function loadObjects(array $ids) {
|
protected function loadObjects(array $ids) {
|
||||||
$viewer = $this->getEngine()->getConfig('viewer');
|
$viewer = $this->getEngine()->getConfig('viewer');
|
||||||
|
|
||||||
if (!$viewer) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
return id(new DifferentialRevisionQuery())
|
return id(new DifferentialRevisionQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
->withIDs($ids)
|
->withIDs($ids)
|
||||||
|
|
|
@ -107,6 +107,7 @@ final class DiffusionBrowseController extends DiffusionController {
|
||||||
|
|
||||||
private function markupText($text) {
|
private function markupText($text) {
|
||||||
$engine = PhabricatorMarkupEngine::newDiffusionMarkupEngine();
|
$engine = PhabricatorMarkupEngine::newDiffusionMarkupEngine();
|
||||||
|
$engine->setConfig('viewer', $this->getRequest()->getUser());
|
||||||
$text = $engine->markupText($text);
|
$text = $engine->markupText($text);
|
||||||
|
|
||||||
$text = phutil_tag(
|
$text = phutil_tag(
|
||||||
|
|
|
@ -67,6 +67,7 @@ final class DiffusionCommitController extends DiffusionController {
|
||||||
$content[] = $top_anchor;
|
$content[] = $top_anchor;
|
||||||
} else {
|
} else {
|
||||||
$engine = PhabricatorMarkupEngine::newDifferentialMarkupEngine();
|
$engine = PhabricatorMarkupEngine::newDifferentialMarkupEngine();
|
||||||
|
$engine->setConfig('viewer', $user);
|
||||||
|
|
||||||
require_celerity_resource('diffusion-commit-view-css');
|
require_celerity_resource('diffusion-commit-view-css');
|
||||||
require_celerity_resource('phabricator-remarkup-css');
|
require_celerity_resource('phabricator-remarkup-css');
|
||||||
|
|
|
@ -137,6 +137,7 @@ abstract class DiffusionBrowseQuery {
|
||||||
} else {
|
} else {
|
||||||
// Markup extensionless files as remarkup so we get links and such.
|
// Markup extensionless files as remarkup so we get links and such.
|
||||||
$engine = PhabricatorMarkupEngine::newDiffusionMarkupEngine();
|
$engine = PhabricatorMarkupEngine::newDiffusionMarkupEngine();
|
||||||
|
$engine->setConfig('viewer', $this->getViewer());
|
||||||
$readme_content = $engine->markupText($readme_content);
|
$readme_content = $engine->markupText($readme_content);
|
||||||
|
|
||||||
$class = 'phabricator-remarkup';
|
$class = 'phabricator-remarkup';
|
||||||
|
|
|
@ -23,10 +23,6 @@ final class DiffusionRemarkupRule
|
||||||
$viewer = $this->getEngine()->getConfig('viewer');
|
$viewer = $this->getEngine()->getConfig('viewer');
|
||||||
$min_qualified = PhabricatorRepository::MINIMUM_QUALIFIED_HASH;
|
$min_qualified = PhabricatorRepository::MINIMUM_QUALIFIED_HASH;
|
||||||
|
|
||||||
if (!$viewer) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
$commits = id(new DiffusionCommitQuery())
|
$commits = id(new DiffusionCommitQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
->withIdentifiers($ids)
|
->withIdentifiers($ids)
|
||||||
|
|
|
@ -186,6 +186,7 @@ final class DivinerDefaultRenderer extends DivinerRenderer {
|
||||||
array(
|
array(
|
||||||
'preserve-linebreaks' => false,
|
'preserve-linebreaks' => false,
|
||||||
));
|
));
|
||||||
|
$engine->setConfig('viewer', new PhabricatorUser());
|
||||||
$engine->setConfig('diviner.renderer', $this);
|
$engine->setConfig('diviner.renderer', $this);
|
||||||
return $engine;
|
return $engine;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,10 +13,6 @@ final class ManiphestRemarkupRule
|
||||||
protected function loadObjects(array $ids) {
|
protected function loadObjects(array $ids) {
|
||||||
$viewer = $this->getEngine()->getConfig('viewer');
|
$viewer = $this->getEngine()->getConfig('viewer');
|
||||||
|
|
||||||
if (!$viewer) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
return id(new ManiphestTaskQuery())
|
return id(new ManiphestTaskQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
->withTaskIDs($ids)
|
->withTaskIDs($ids)
|
||||||
|
|
|
@ -13,10 +13,6 @@ final class PhabricatorPasteRemarkupRule
|
||||||
protected function loadObjects(array $ids) {
|
protected function loadObjects(array $ids) {
|
||||||
$viewer = $this->getEngine()->getConfig('viewer');
|
$viewer = $this->getEngine()->getConfig('viewer');
|
||||||
|
|
||||||
if (!$viewer) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
return id(new PhabricatorPasteQuery())
|
return id(new PhabricatorPasteQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
->withIDs($ids)
|
->withIDs($ids)
|
||||||
|
|
|
@ -171,11 +171,12 @@ final class PhabricatorPeopleProfileController
|
||||||
$profile->getBlurb(),
|
$profile->getBlurb(),
|
||||||
'//'.pht('Nothing is known about this rare specimen.').'//');
|
'//'.pht('Nothing is known about this rare specimen.').'//');
|
||||||
|
|
||||||
$engine = PhabricatorMarkupEngine::newProfileMarkupEngine();
|
|
||||||
$blurb = $engine->markupText($blurb);
|
|
||||||
|
|
||||||
$viewer = $this->getRequest()->getUser();
|
$viewer = $this->getRequest()->getUser();
|
||||||
|
|
||||||
|
$engine = PhabricatorMarkupEngine::newProfileMarkupEngine();
|
||||||
|
$engine->setConfig('viewer', $viewer);
|
||||||
|
$blurb = $engine->markupText($blurb);
|
||||||
|
|
||||||
$content = hsprintf(
|
$content = hsprintf(
|
||||||
'<div class="phabricator-profile-info-group">
|
'<div class="phabricator-profile-info-group">
|
||||||
<h1 class="phabricator-profile-info-header">Basic Information</h1>
|
<h1 class="phabricator-profile-info-header">Basic Information</h1>
|
||||||
|
|
|
@ -9,11 +9,6 @@ final class PholioRemarkupRule
|
||||||
|
|
||||||
protected function loadObjects(array $ids) {
|
protected function loadObjects(array $ids) {
|
||||||
$viewer = $this->getEngine()->getConfig('viewer');
|
$viewer = $this->getEngine()->getConfig('viewer');
|
||||||
|
|
||||||
if (!$viewer) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
return id(new PholioMockQuery())
|
return id(new PholioMockQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
->withIDs($ids)
|
->withIDs($ids)
|
||||||
|
|
|
@ -9,11 +9,6 @@ final class PonderRemarkupRule
|
||||||
|
|
||||||
protected function loadObjects(array $ids) {
|
protected function loadObjects(array $ids) {
|
||||||
$viewer = $this->getEngine()->getConfig('viewer');
|
$viewer = $this->getEngine()->getConfig('viewer');
|
||||||
|
|
||||||
if (!$viewer) {
|
|
||||||
return array();
|
|
||||||
}
|
|
||||||
|
|
||||||
return id(new PonderQuestionQuery())
|
return id(new PonderQuestionQuery())
|
||||||
->setViewer($viewer)
|
->setViewer($viewer)
|
||||||
->withIDs($ids)
|
->withIDs($ids)
|
||||||
|
|
|
@ -200,6 +200,7 @@ final class PhabricatorSlowvotePollController
|
||||||
$viewer = $this->getRequest()->getUser();
|
$viewer = $this->getRequest()->getUser();
|
||||||
|
|
||||||
$engine = PhabricatorMarkupEngine::newSlowvoteMarkupEngine();
|
$engine = PhabricatorMarkupEngine::newSlowvoteMarkupEngine();
|
||||||
|
$engine->setConfig('viewer', $viewer);
|
||||||
|
|
||||||
$comment_markup = array();
|
$comment_markup = array();
|
||||||
foreach ($comments as $comment) {
|
foreach ($comments as $comment) {
|
||||||
|
|
|
@ -33,9 +33,12 @@ final class PhabricatorApplicationTransactionTextDiffDetailView
|
||||||
|
|
||||||
$whitespace_mode = DifferentialChangesetParser::WHITESPACE_SHOW_ALL;
|
$whitespace_mode = DifferentialChangesetParser::WHITESPACE_SHOW_ALL;
|
||||||
|
|
||||||
|
$markup_engine = new PhabricatorMarkupEngine();
|
||||||
|
$markup_engine->setViewer($this->getUser());
|
||||||
|
|
||||||
$parser = new DifferentialChangesetParser();
|
$parser = new DifferentialChangesetParser();
|
||||||
$parser->setChangeset($changeset);
|
$parser->setChangeset($changeset);
|
||||||
$parser->setMarkupEngine(new PhabricatorMarkupEngine());
|
$parser->setMarkupEngine($markup_engine);
|
||||||
$parser->setWhitespaceMode($whitespace_mode);
|
$parser->setWhitespaceMode($whitespace_mode);
|
||||||
|
|
||||||
return $parser->render(0, PHP_INT_MAX, array());
|
return $parser->render(0, PHP_INT_MAX, array());
|
||||||
|
|
|
@ -461,6 +461,7 @@ final class PhabricatorMarkupEngine {
|
||||||
$mentions = array();
|
$mentions = array();
|
||||||
|
|
||||||
$engine = self::newDifferentialMarkupEngine();
|
$engine = self::newDifferentialMarkupEngine();
|
||||||
|
$engine->setConfig('viewer', PhabricatorUser::getOmnipotentUser());
|
||||||
|
|
||||||
foreach ($content_blocks as $content_block) {
|
foreach ($content_blocks as $content_block) {
|
||||||
$engine->markupText($content_block);
|
$engine->markupText($content_block);
|
||||||
|
@ -478,6 +479,7 @@ final class PhabricatorMarkupEngine {
|
||||||
$files = array();
|
$files = array();
|
||||||
|
|
||||||
$engine = self::newDifferentialMarkupEngine();
|
$engine = self::newDifferentialMarkupEngine();
|
||||||
|
$engine->setConfig('viewer', PhabricatorUser::getOmnipotentUser());
|
||||||
|
|
||||||
foreach ($content_blocks as $content_block) {
|
foreach ($content_blocks as $content_block) {
|
||||||
$engine->markupText($content_block);
|
$engine->markupText($content_block);
|
||||||
|
|
|
@ -24,14 +24,7 @@ abstract class PhabricatorRemarkupRuleObject
|
||||||
$query = new PhabricatorObjectHandleData($phids);
|
$query = new PhabricatorObjectHandleData($phids);
|
||||||
|
|
||||||
$viewer = $this->getEngine()->getConfig('viewer');
|
$viewer = $this->getEngine()->getConfig('viewer');
|
||||||
if ($viewer) {
|
$query->setViewer($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.");
|
|
||||||
}
|
|
||||||
$handles = $query->loadHandles();
|
$handles = $query->loadHandles();
|
||||||
|
|
||||||
$result = array();
|
$result = array();
|
||||||
|
|
Loading…
Add table
Reference in a new issue