X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=thumb.php;h=7c3e757241538809853467ca4a0efa3593ed827c;hb=068d357a3497e0bccec174ce2b6053e04d0d428c;hp=10c2419db1485ea209456614c59fc5b887ea9bb4;hpb=96906168cac0e9a7748511b48c369cf22c8406d5;p=lhc%2Fweb%2Fwiklou.git diff --git a/thumb.php b/thumb.php index 10c2419db1..7c3e757241 100644 --- a/thumb.php +++ b/thumb.php @@ -22,6 +22,7 @@ */ use MediaWiki\Logger\LoggerFactory; +use MediaWiki\MediaWikiServices; define( 'MW_NO_OUTPUT_COMPRESSION', 1 ); require __DIR__ . '/includes/WebStart.php'; @@ -272,7 +273,7 @@ function wfStreamThumb( array $params ) { // For 404 handled thumbnails, we only use the base name of the URI // for the thumb params and the parent directory for the source file name. // Check that the zone relative path matches up so squid caches won't pick - // up thumbs that would not be purged on source file deletion (bug 34231). + // up thumbs that would not be purged on source file deletion (T36231). if ( $rel404 !== null ) { // thumbnail was handled via 404 if ( rawurldecode( $rel404 ) === $img->getThumbRel( $thumbName ) ) { // Request for the canonical thumbnail name @@ -317,10 +318,12 @@ function wfStreamThumb( array $params ) { $streamtime = microtime( true ) - $starttime; if ( $status->isOK() ) { - RequestContext::getMain()->getStats()->timing( 'media.thumbnail.stream', $streamtime ); + MediaWikiServices::getInstance()->getStatsdDataFactory()->timing( + 'media.thumbnail.stream', $streamtime + ); } else { wfThumbError( 500, 'Could not stream the file', null, [ 'file' => $thumbName, - 'path' => $thumbPath, 'error' => $status->getWikiText() ] ); + 'path' => $thumbPath, 'error' => $status->getWikiText( false, false, 'en' ) ] ); } return; } @@ -341,6 +344,7 @@ function wfStreamThumb( array $params ) { // Check for thumbnail generation errors... $msg = wfMessage( 'thumbnail_error' ); $errorCode = 500; + if ( !$thumb ) { $errorMsg = $errorMsg ?: $msg->rawParams( 'File::transform() returned false' )->escaped(); if ( $errorMsg instanceof MessageSpecifier && @@ -350,6 +354,7 @@ function wfStreamThumb( array $params ) { } } elseif ( $thumb->isError() ) { $errorMsg = $thumb->getHtmlMsg(); + $errorCode = $thumb->getHttpStatusCode(); } elseif ( !$thumb->hasFile() ) { $errorMsg = $msg->rawParams( 'No path supplied in thumbnail object' )->escaped(); } elseif ( $thumb->fileIsSource() ) { @@ -366,7 +371,8 @@ function wfStreamThumb( array $params ) { $status = $thumb->streamFileWithStatus( $headers ); if ( !$status->isOK() ) { wfThumbError( 500, 'Could not stream the file', null, [ - 'file' => $thumbName, 'path' => $thumbPath, 'error' => $status->getWikiText() ] ); + 'file' => $thumbName, 'path' => $thumbPath, + 'error' => $status->getWikiText( false, false, 'en' ) ] ); } } } @@ -524,15 +530,6 @@ function wfExtractThumbParams( $file, $params ) { $thumbname = $params['thumbName']; unset( $params['thumbName'] ); - // Do the hook first for older extensions that rely on it. - if ( !Hooks::run( 'ExtractThumbParameters', [ $thumbname, &$params ] ) ) { - // Check hooks if parameters can be extracted - // Hooks return false if they manage to *resolve* the parameters - // This hook should be considered deprecated - wfDeprecated( 'ExtractThumbParameters', '1.22' ); - return $params; // valid thumbnail URL (via extension or config) - } - // FIXME: Files in the temp zone don't set a MIME type, which means // they don't have a handler. Which means we can't parse the param // string. However, not a big issue as what good is a param string