X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=thumb.php;h=88314bcd32262636a866c4b1099956573a8a4ba7;hb=8626b8823d1ecc54ed3aa830d8b5dcc9fd792166;hp=3d8612d9726988ec17bbb21029b38f2e581905c6;hpb=27eafef2947051a2d5d2ee024e0c23f518b786be;p=lhc%2Fweb%2Fwiklou.git diff --git a/thumb.php b/thumb.php index 3d8612d972..88314bcd32 100644 --- a/thumb.php +++ b/thumb.php @@ -92,7 +92,6 @@ function wfThumbHandle404() { function wfStreamThumb( array $params ) { global $wgVaryOnXFP; - $section = new ProfileSection( __METHOD__ ); $headers = array(); // HTTP headers to send @@ -135,12 +134,12 @@ function wfStreamThumb( array $params ) { // Format is ! $bits = explode( '!', $fileName, 2 ); if ( count( $bits ) != 2 ) { - wfThumbError( 404, wfMessage( 'badtitletext' )->text() ); + wfThumbError( 404, wfMessage( 'badtitletext' )->parse() ); return; } $title = Title::makeTitleSafe( NS_FILE, $bits[1] ); if ( !$title ) { - wfThumbError( 404, wfMessage( 'badtitletext' )->text() ); + wfThumbError( 404, wfMessage( 'badtitletext' )->parse() ); return; } $img = RepoGroup::singleton()->getLocalRepo()->newFromArchiveName( $title, $fileName ); @@ -150,7 +149,7 @@ function wfStreamThumb( array $params ) { // Check the source file title if ( !$img ) { - wfThumbError( 404, wfMessage( 'badtitletext' )->text() ); + wfThumbError( 404, wfMessage( 'badtitletext' )->parse() ); return; } @@ -262,7 +261,7 @@ function wfStreamThumb( array $params ) { return; } - // For 404 handled thumbnails, we only use the the base name of the URI + // 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). @@ -310,10 +309,10 @@ function wfStreamThumb( array $params ) { $user = RequestContext::getMain()->getUser(); if ( !wfThumbIsStandard( $img, $params ) && $user->pingLimiter( 'renderfile-nonstandard' ) ) { - wfThumbError( 500, wfMessage( 'actionthrottledtext' ) ); + wfThumbError( 500, wfMessage( 'actionthrottledtext' )->parse() ); return; } elseif ( $user->pingLimiter( 'renderfile' ) ) { - wfThumbError( 500, wfMessage( 'actionthrottledtext' ) ); + wfThumbError( 500, wfMessage( 'actionthrottledtext' )->parse() ); return; } @@ -425,66 +424,6 @@ function wfGenerateThumbnail( File $file, array $params, $thumbName, $thumbPath return array( $thumb, $errorHtml ); } -/** - * Returns true if this thumbnail is one that MediaWiki generates - * links to on file description pages and possibly parser output. - * - * $params is considered non-standard if they involve a non-standard - * width or any non-default parameters aside from width and page number. - * The number of possible files with standard parameters is far less than - * that of all combinations; rate-limiting for them can thus be more generious. - * - * @param File $file - * @param array $params - * @return bool - */ -function wfThumbIsStandard( File $file, array $params ) { - global $wgThumbLimits, $wgImageLimits; - - $handler = $file->getHandler(); - if ( !$handler || !isset( $params['width'] ) ) { - return false; - } - - $basicParams = array(); - if ( isset( $params['page'] ) ) { - $basicParams['page'] = $params['page']; - } - - // Check if the width matches one of $wgThumbLimits - if ( in_array( $params['width'], $wgThumbLimits ) ) { - $normalParams = $basicParams + array( 'width' => $params['width'] ); - // Append any default values to the map (e.g. "lossy", "lossless", ...) - $handler->normaliseParams( $file, $normalParams ); - } else { - // If not, then check if the width matchs one of $wgImageLimits - $match = false; - foreach ( $wgImageLimits as $pair ) { - $normalParams = $basicParams + array( 'width' => $pair[0], 'height' => $pair[1] ); - // Decide whether the thumbnail should be scaled on width or height. - // Also append any default values to the map (e.g. "lossy", "lossless", ...) - $handler->normaliseParams( $file, $normalParams ); - // Check if this standard thumbnail size maps to the given width - if ( $normalParams['width'] == $params['width'] ) { - $match = true; - break; - } - } - if ( !$match ) { - return false; // not standard for description pages - } - } - - // Check that the given values for non-page, non-width, params are just defaults - foreach ( $params as $key => $value ) { - if ( !isset( $normalParams[$key] ) || $normalParams[$key] != $value ) { - return false; - } - } - - return true; -} - /** * Convert pathinfo type parameter, into normal request parameters * @@ -598,7 +537,7 @@ function wfExtractThumbParams( $file, $params ) { * Output a thumbnail generation error message * * @param int $status - * @param string $msg + * @param string $msg HTML * @return void */ function wfThumbError( $status, $msg ) { @@ -623,7 +562,11 @@ function wfThumbError( $status, $msg ) { $debug = ''; } echo <<Error generating thumbnail + + + +Error generating thumbnail +

Error generating thumbnail