# there's already an action specified, or unless 'edit' makes no sense
# (i.e., for a nonexistent special page).
if ( in_array( 'broken', $options ) && empty( $query['action'] )
- && $target->getNamespace() != NS_SPECIAL ) {
+ && !$target->isSpecialPage() ) {
$query['action'] = 'edit';
$query['redlink'] = '1';
}
- $ret = $target->getLinkUrl( $query );
+ $ret = $target->getLinkURL( $query );
wfProfileOut( __METHOD__ );
return $ret;
}
* @return Title
*/
static function normaliseSpecialPage( Title $title ) {
- if ( $title->getNamespace() == NS_SPECIAL ) {
+ if ( $title->isSpecialPage() ) {
list( $name, $subpage ) = SpecialPageFactory::resolveAlias( $title->getDBkey() );
if ( !$name ) {
return $title;
/**
* Make a link to a special page given its name and, optionally,
* a message key from the link text.
- * Usage example: $skin->specialLink( 'recentchanges' )
+ * Usage example: Linker::specialLink( 'Recentchanges' )
*
* @return string
*/
$items[] = self::emailLink( $userId, $userText );
}
+ wfRunHooks( 'UserToolLinksEdit', array( $userId, $userText, &$items ) );
+
if ( $items ) {
return ' <span class="mw-usertoollinks">(' . $wgLang->pipeList( $items ) . ')</span>';
} else {
* @return string
*/
private static function formatAutocommentsCallback( $match ) {
+ global $wgLang;
$title = self::$autocommentTitle;
$local = self::$autocommentLocal;
}
if ( $sectionTitle ) {
$link = self::link( $sectionTitle,
- htmlspecialchars( wfMsgForContent( 'sectionlink' ) ), array(), array(),
+ $wgLang->getArrow(), array(), array(),
'noclasses' );
} else {
$link = '';
# Media link; trail not supported.
$linkRegexp = '/\[\[(.*?)\]\]/';
$title = Title::makeTitleSafe( NS_FILE, $submatch[1] );
- $thelink = self::makeMediaLinkObj( $title, $text );
+ if ( $title ) {
+ $thelink = self::makeMediaLinkObj( $title, $text );
+ }
} else {
# Other kind of link
if ( preg_match( $wgContLang->linkTrail(), $match[4], $submatch ) ) {
$query = array(
'action' => 'rollback',
'from' => $rev->getUserText(),
- 'token' => $wgUser->editToken( array( $title->getPrefixedText(), $rev->getUserText() ) ),
+ 'token' => $wgUser->getEditToken( array( $title->getPrefixedText(), $rev->getUserText() ) ),
);
if ( $wgRequest->getBool( 'bot' ) ) {
$query['bot'] = '1';
return $outText;
}
- /**
- * Returns HTML for the "templates used on this page" list.
- *
- * @param $templates Array of templates from Article::getUsedTemplate
- * or similar
- * @param $preview Boolean: whether this is for a preview
- * @param $section Boolean: whether this is for a section edit
- * @return String: HTML output
- */
- public static function formatDistantTemplates( $templates, $preview = false, $section = false ) {
- wfProfileIn( __METHOD__ );
-
- $outText = '';
- if ( count( $templates ) > 0 ) {
-
- # Construct the HTML
- $outText = '<div class="mw-templatesUsedExplanation">';
- if ( $preview ) {
- $outText .= wfMsgExt( 'distanttemplatesusedpreview', array( 'parse' ), count( $templates ) );
- } elseif ( $section ) {
- $outText .= wfMsgExt( 'distanttemplatesusedsection', array( 'parse' ), count( $templates ) );
- } else {
- $outText .= wfMsgExt( 'distanttemplatesused', array( 'parse' ), count( $templates ) );
- }
- $outText .= "</div><ul>\n";
-
- usort( $templates, array( 'Title', 'compare' ) );
- foreach ( $templates as $titleObj ) {
- $outText .= '<li>' . self::link( $titleObj ) . '</li>';
- }
- $outText .= '</ul>';
- }
- wfProfileOut( __METHOD__ );
- return $outText;
- }
-
/**
* Returns HTML for the "hidden categories on this page" list.
*
* escape), or false for no title attribute
*/
public static function titleAttrib( $name, $options = null ) {
- global $wgEnableTooltipsAndAccesskeys;
- if ( !$wgEnableTooltipsAndAccesskeys )
- return false;
-
wfProfileIn( __METHOD__ );
$message = wfMessage( "tooltip-$name" );
return Linker::revDeleteLink( $query,
$rev->isDeleted( File::DELETED_RESTRICTED ), $canHide );
}
- } else {
- return '';
}
+ return '';
}
/**
* Returns the attributes for the tooltip and access key.
*/
public static function tooltipAndAccesskeyAttribs( $name ) {
- global $wgEnableTooltipsAndAccesskeys;
- if ( !$wgEnableTooltipsAndAccesskeys )
- return array();
# @todo FIXME: If Sanitizer::expandAttributes() treated "false" as "output
# no attribute" instead of "output '' as value for attribute", this
# would be three lines.
* Returns raw bits of HTML, use titleAttrib()
*/
public static function tooltip( $name, $options = null ) {
- global $wgEnableTooltipsAndAccesskeys;
- if ( !$wgEnableTooltipsAndAccesskeys )
- return '';
# @todo FIXME: If Sanitizer::expandAttributes() treated "false" as "output
# no attribute" instead of "output '' as value for attribute", this
# would be two lines.