1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-22 21:40:55 +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:
vrana 2012-04-05 14:59:58 -07:00
parent efb49a6a09
commit f698e860cf
2 changed files with 5 additions and 28 deletions

View file

@ -33,40 +33,18 @@ final class PhabricatorRemarkupRulePhriction
$slug = trim($matches[1]);
$name = trim(idx($matches, 2, $slug));
$name = explode('/', trim($name, '/'));
$name = end($name);
// 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 = end($name);
$slug = PhrictionDocument::normalizeSlug($slug);
$uri = PhrictionDocument::getSlugURI($slug);
}
$slug = PhrictionDocument::normalizeSlug($slug);
$uri = PhrictionDocument::getSlugURI($slug);
return $this->getEngine()->storeText(
phutil_render_tag(
'a',
array(
'href' => $uri,
'class' => $is_uri ? null : 'phriction-link',
'class' => 'phriction-link',
),
phutil_escape_html($name)));
}

View file

@ -10,7 +10,6 @@ phutil_require_module('phabricator', 'applications/phriction/storage/document');
phutil_require_module('phutil', 'markup');
phutil_require_module('phutil', 'markup/engine/remarkup/markuprule/base');
phutil_require_module('phutil', 'parser/uri');
phutil_require_module('phutil', 'utils');