mirror of
https://we.phorge.it/source/phorge.git
synced 2025-01-09 14:21:02 +01:00
Remove duplicate remarkup rule
Summary: D2110 Test Plan: [[wiki]] [[http://example.com]] [[http://example.com | example.com]] Reviewers: epriestley Reviewed By: epriestley CC: aran Differential Revision: https://secure.phabricator.com/D2111
This commit is contained in:
parent
efb49a6a09
commit
f698e860cf
2 changed files with 5 additions and 28 deletions
|
@ -33,40 +33,18 @@ final class PhabricatorRemarkupRulePhriction
|
||||||
|
|
||||||
$slug = trim($matches[1]);
|
$slug = trim($matches[1]);
|
||||||
$name = trim(idx($matches, 2, $slug));
|
$name = trim(idx($matches, 2, $slug));
|
||||||
|
|
||||||
// If whatever is being linked to begins with "/" or has "://", treat it
|
|
||||||
// as a URI instead of a wiki page.
|
|
||||||
$is_uri = preg_match('@(^/)|(://)@', $slug);
|
|
||||||
|
|
||||||
if ($is_uri) {
|
|
||||||
$protocols = $this->getEngine()->getConfig(
|
|
||||||
'uri.allowed-protocols',
|
|
||||||
array());
|
|
||||||
$protocol = id(new PhutilURI($slug))->getProtocol();
|
|
||||||
if (!idx($protocols, $protocol)) {
|
|
||||||
// Don't treat this as a URI if it's not an allowed protocol.
|
|
||||||
$is_uri = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($is_uri) {
|
|
||||||
$uri = $slug;
|
|
||||||
// Leave the name unchanged, i.e. link the whole URI if there's no
|
|
||||||
// explicit name.
|
|
||||||
} else {
|
|
||||||
$name = explode('/', trim($name, '/'));
|
$name = explode('/', trim($name, '/'));
|
||||||
$name = end($name);
|
$name = end($name);
|
||||||
|
|
||||||
$slug = PhrictionDocument::normalizeSlug($slug);
|
$slug = PhrictionDocument::normalizeSlug($slug);
|
||||||
$uri = PhrictionDocument::getSlugURI($slug);
|
$uri = PhrictionDocument::getSlugURI($slug);
|
||||||
}
|
|
||||||
|
|
||||||
return $this->getEngine()->storeText(
|
return $this->getEngine()->storeText(
|
||||||
phutil_render_tag(
|
phutil_render_tag(
|
||||||
'a',
|
'a',
|
||||||
array(
|
array(
|
||||||
'href' => $uri,
|
'href' => $uri,
|
||||||
'class' => $is_uri ? null : 'phriction-link',
|
'class' => 'phriction-link',
|
||||||
),
|
),
|
||||||
phutil_escape_html($name)));
|
phutil_escape_html($name)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,6 @@ phutil_require_module('phabricator', 'applications/phriction/storage/document');
|
||||||
|
|
||||||
phutil_require_module('phutil', 'markup');
|
phutil_require_module('phutil', 'markup');
|
||||||
phutil_require_module('phutil', 'markup/engine/remarkup/markuprule/base');
|
phutil_require_module('phutil', 'markup/engine/remarkup/markuprule/base');
|
||||||
phutil_require_module('phutil', 'parser/uri');
|
|
||||||
phutil_require_module('phutil', 'utils');
|
phutil_require_module('phutil', 'utils');
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue