X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_aide%28?a=blobdiff_plain;f=includes%2FLinker.php;h=01f695a31f759f9e8003b53aab827d724b170d50;hb=b71610c069c69b2a991cb43b059642aca1882f4a;hp=ff4c7861108c282f7596721593ed7349e97c44e1;hpb=fc0c1623c86d85d3b2b86c4b9d86bd119144e367;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Linker.php b/includes/Linker.php index ff4c786110..01f695a31f 100644 --- a/includes/Linker.php +++ b/includes/Linker.php @@ -89,12 +89,6 @@ class Linker { return "$html"; } - if ( is_string( $query ) ) { - // some functions withing core using this still hand over query strings - wfDeprecated( __METHOD__ . ' with parameter $query as string (should be array)', '1.20' ); - $query = wfCgiToArray( $query ); - } - $services = MediaWikiServices::getInstance(); $options = (array)$options; if ( $options ) { @@ -555,7 +549,8 @@ class Linker { # Use manually specified thumbnail $manual_title = Title::makeTitleSafe( NS_FILE, $frameParams['manualthumb'] ); if ( $manual_title ) { - $manual_img = wfFindFile( $manual_title ); + $manual_img = MediaWikiServices::getInstance()->getRepoGroup() + ->findFile( $manual_title ); if ( $manual_img ) { $thumb = $manual_img->getUnscaledThumb( $handlerParams ); $manualthumb = true; @@ -693,7 +688,8 @@ class Linker { $label = $title->getPrefixedText(); } $encLabel = htmlspecialchars( $label ); - $currentExists = $time ? ( wfFindFile( $title ) != false ) : false; + $currentExists = $time + && MediaWikiServices::getInstance()->getRepoGroup()->findFile( $title ) !== false; if ( ( $wgUploadMissingFileUrl || $wgUploadNavigationUrl || $wgEnableUploads ) && !$currentExists @@ -756,11 +752,13 @@ class Linker { * @since 1.16.3 * @param LinkTarget $title * @param string $html Pre-sanitized HTML - * @param string $time MW timestamp of file creation time + * @param string|false $time MW timestamp of file creation time * @return string HTML */ public static function makeMediaLinkObj( $title, $html = '', $time = false ) { - $img = wfFindFile( $title, [ 'time' => $time ] ); + $img = MediaWikiServices::getInstance()->getRepoGroup()->findFile( + $title, [ 'time' => $time ] + ); return self::makeMediaLinkFile( $title, $img, $html ); } @@ -894,8 +892,8 @@ class Linker { * @since 1.16.3. $altUserName was added in 1.19. */ public static function userLink( $userId, $userName, $altUserName = false ) { - if ( $userName === '' ) { - wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' . + if ( $userName === '' || $userName === false || $userName === null ) { + wfDebug( __METHOD__ . ' received an empty username. Are there database errors ' . 'that need to be fixed?' ); return wfMessage( 'empty-username' )->parse(); } @@ -943,7 +941,7 @@ class Linker { $useParentheses = true ) { if ( $userText === '' ) { - wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' . + wfDebug( __METHOD__ . ' received an empty username. Are there database errors ' . 'that need to be fixed?' ); return ' ' . wfMessage( 'empty-username' )->parse(); } @@ -1031,7 +1029,7 @@ class Linker { */ public static function userTalkLink( $userId, $userText ) { if ( $userText === '' ) { - wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' . + wfDebug( __METHOD__ . ' received an empty username. Are there database errors ' . 'that need to be fixed?' ); return wfMessage( 'empty-username' )->parse(); } @@ -1053,7 +1051,7 @@ class Linker { */ public static function blockLink( $userId, $userText ) { if ( $userText === '' ) { - wfLogWarning( __METHOD__ . ' received an empty username. Are there database errors ' . + wfDebug( __METHOD__ . ' received an empty username. Are there database errors ' . 'that need to be fixed?' ); return wfMessage( 'empty-username' )->parse(); } @@ -1232,15 +1230,22 @@ class Linker { $sectionText = str_replace( '[[', '[[', $auto ); $section = substr( Parser::guessSectionNameFromStrippedText( $section ), 1 ); - if ( $local ) { - $sectionTitle = new TitleValue( NS_MAIN, '', $section ); - } else { - $sectionTitle = $title->createFragmentTarget( $section ); - } - if ( $sectionTitle ) { + // Support: HHVM (T222857) + // The guessSectionNameFromStrippedText method returns a non-empty string + // that starts with "#". Before PHP 7 (and still on HHVM) substr() would + // return false if the start offset is the end of the string. + // On PHP 7+, it gracefully returns empty string instead. + if ( $section !== '' && $section !== false ) { + if ( $local ) { + $sectionTitle = new TitleValue( NS_MAIN, '', $section ); + } else { + $sectionTitle = $title->createFragmentTarget( $section ); + } $auto = Linker::makeCommentLink( - $sectionTitle, $wgLang->getArrow() . $wgLang->getDirMark() . $sectionText, - $wikiId, 'noclasses' + $sectionTitle, + $wgLang->getArrow() . $wgLang->getDirMark() . $sectionText, + $wikiId, + 'noclasses' ); } }