const TOOL_LINKS_NOBLOCK = 1;
const TOOL_LINKS_EMAIL = 2;
- /**
- * Get the appropriate HTML attributes to add to the "a" element of an interwiki link.
- *
- * @since 1.16.3
- * @deprecated since 1.25
- *
- * @param string $title The title text for the link, URL-encoded (???) but
- * not HTML-escaped
- * @param string $unused Unused
- * @param string $class The contents of the class attribute; if an empty
- * string is passed, which is the default value, defaults to 'external'.
- * @return string
- */
- static function getInterwikiLinkAttributes( $title, $unused = null, $class = 'external' ) {
- global $wgContLang;
-
- wfDeprecated( __METHOD__, '1.25' );
-
- # @todo FIXME: We have a whole bunch of handling here that doesn't happen in
- # getExternalLinkAttributes, why?
- $title = urldecode( $title );
- $title = $wgContLang->checkTitleEncoding( $title );
- $title = preg_replace( '/[\\x00-\\x1f]/', ' ', $title );
-
- return self::getLinkAttributesInternal( $title, $class );
- }
-
- /**
- * Get the appropriate HTML attributes to add to the "a" element of an internal link.
- *
- * @since 1.16.3
- * @deprecated since 1.25
- *
- * @param string $title The title text for the link, URL-encoded (???) but
- * not HTML-escaped
- * @param string $unused Unused
- * @param string $class The contents of the class attribute, default none
- * @return string
- */
- static function getInternalLinkAttributes( $title, $unused = null, $class = '' ) {
- wfDeprecated( __METHOD__, '1.25' );
-
- $title = urldecode( $title );
- $title = strtr( $title, '_', ' ' );
- return self::getLinkAttributesInternal( $title, $class );
- }
-
- /**
- * Get the appropriate HTML attributes to add to the "a" element of an internal
- * link, given the Title object for the page we want to link to.
- *
- * @since 1.16.3
- * @deprecated since 1.25
- *
- * @param Title $nt
- * @param string $unused Unused
- * @param string $class The contents of the class attribute, default none
- * @param string|bool $title Optional (unescaped) string to use in the title
- * attribute; if false, default to the name of the page we're linking to
- * @return string
- */
- static function getInternalLinkAttributesObj( $nt, $unused = null, $class = '', $title = false ) {
- wfDeprecated( __METHOD__, '1.25' );
-
- if ( $title === false ) {
- $title = $nt->getPrefixedText();
- }
- return self::getLinkAttributesInternal( $title, $class );
- }
-
- /**
- * Common code for getLinkAttributesX functions
- *
- * @since 1.16.3
- * @deprecated since 1.25
- *
- * @param string $title
- * @param string $class
- *
- * @return string
- */
- private static function getLinkAttributesInternal( $title, $class ) {
- wfDeprecated( __METHOD__, '1.25' );
-
- $title = htmlspecialchars( $title );
- $class = htmlspecialchars( $class );
- $r = '';
- if ( $class != '' ) {
- $r .= " class=\"$class\"";
- }
- if ( $title != '' ) {
- $r .= " title=\"$title\"";
- }
- return $r;
- }
-
/**
* Return the CSS colour of a known link
*
* @return LinkTarget
*/
public static function normaliseSpecialPage( LinkTarget $target ) {
- if ( $target->getNamespace() == NS_SPECIAL ) {
+ if ( $target->getNamespace() == NS_SPECIAL && !$target->isExternal() ) {
list( $name, $subpage ) = SpecialPageFactory::resolveAlias( $target->getDBkey() );
if ( !$name ) {
return $target;
:? # ignore optional leading colon
([^\]|]+) # 1. link target; page names cannot include ] or |
(?:\|
- # 2. a pipe-separated substring; only the last is captured
- # Stop matching at | and ]] without relying on backtracking.
- ((?:]?[^\]|])*+)
- )*
+ # 2. link text
+ # Stop matching at ]] without relying on backtracking.
+ ((?:]?[^\]])*+)
+ )?
\]\]
([^[]*) # 3. link trail (the text up until the next link)
/x',