X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FLinker.php;h=3a039f60d57d7048fc6ae83e4031680496f020fa;hb=acc2bcaf375c9a9f8d178a5daea2381cdfcad4cd;hp=10c6804b188adb4e70894d56d5d738726f12c2f2;hpb=972eadb6565e072f01c0b3f73b843d32e1b0a91f;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Linker.php b/includes/Linker.php index 10c6804b18..3a039f60d5 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -1385,9 +1385,11 @@ class Linker { * @param string $comment Text to format links in * @param Title|null $title An optional title object used to links to sections * @param bool $local Whether section links should refer to local page + * @param string|null $wikiId Id of the wiki to link to (if not the local wiki), as used by WikiMap + * * @return string */ - public static function formatLinksInComment( $comment, $title = null, $local = false ) { + public static function formatLinksInComment( $comment, $title = null, $local = false, $wikiId = null ) { return preg_replace_callback( '/ \[\[ @@ -1401,7 +1403,7 @@ class Linker { \]\] ([^[]*) # 3. link trail (the text up until the next link) /x', - function ( $match ) use ( $title, $local ) { + function ( $match ) use ( $title, $local, $wikiId ) { global $wgContLang; $medians = '(?:' . preg_quote( MWNamespace::getCanonicalName( NS_MEDIA ), '/' ) . '|'; @@ -1457,11 +1459,22 @@ class Linker { $newTarget = clone ( $title ); $newTarget->setFragment( '#' . $target->getFragment() ); $target = $newTarget; + + } + + if ( $wikiId !== null ) { + $thelink = Linker::makeExternalLink( + WikiMap::getForeignURL( $wikiId, $target->getPrefixedURL() ), + $linkText . $inside, + true + ) . $trail; + } else { + $thelink = Linker::link( + $target, + $linkText . $inside + ) . $trail; } - $thelink = Linker::link( - $target, - $linkText . $inside - ) . $trail; + } } if ( $thelink ) { @@ -1592,7 +1605,7 @@ class Linker { * @return string HTML fragment */ public static function revComment( Revision $rev, $local = false, $isPublic = false ) { - if ( $rev->getRawComment() == "" ) { + if ( $rev->getComment( Revision::RAW ) == "" ) { return ""; } if ( $rev->isDeleted( Revision::DELETED_COMMENT ) && $isPublic ) { @@ -1857,7 +1870,7 @@ class Linker { $editCount = 0; $moreRevs = false; foreach ( $res as $row ) { - if ( $rev->getRawUserText() != $row->rev_user_text ) { + if ( $rev->getUserText( Revision::RAW ) != $row->rev_user_text ) { if ( $verify && ( $row->rev_deleted & Revision::DELETED_TEXT || $row->rev_deleted & Revision::DELETED_USER @@ -2030,14 +2043,14 @@ class Linker { if ( $titleObj->quickUserCan( 'edit' ) ) { $editLink = self::link( $titleObj, - wfMessage( 'editlink' )->text(), + wfMessage( 'editlink' )->escaped(), array(), array( 'action' => 'edit' ) ); } else { $editLink = self::link( $titleObj, - wfMessage( 'viewsourcelink' )->text(), + wfMessage( 'viewsourcelink' )->escaped(), array(), array( 'action' => 'edit' ) );