X-Git-Url: http://git.cyclocoop.org/%22.%24h.%22?a=blobdiff_plain;f=thumb.php;h=913adc18ecb1140a6a9c79627af2e9e54c70a441;hb=e61cb8218ba284d9d6e829dcf5734d051416b06c;hp=bb9c4d62c939c4cc9823ee50f185dacf3a7a80a3;hpb=ccf89be91a4fe9756ad865937df903dee6963492;p=lhc%2Fweb%2Fwiklou.git diff --git a/thumb.php b/thumb.php index bb9c4d62c9..913adc18ec 100644 --- a/thumb.php +++ b/thumb.php @@ -304,6 +304,12 @@ function wfStreamThumb( array $params ) { return; } + $user = RequestContext::getMain()->getUser(); + if ( $user->pingLimiter( 'renderfile' ) ) { + wfThumbError( 500, wfMessage( 'actionthrottledtext' ) ); + return; + } + // Thumbnail isn't already there, so create the new thumbnail... try { $thumb = $img->transform( $params, File::RENDER_NOW ); @@ -425,7 +431,7 @@ function wfExtractThumbParams( $file, $params ) { if ( $handler && $fileNamePos !== false ) { $paramString = substr( $thumbname, 0, $fileNamePos - 1 ); $extraParams = $handler->parseParamString( $paramString ); - if ( $handler !== false ) { + if ( $extraParams !== false ) { return $params + $extraParams; } } @@ -463,6 +469,7 @@ function wfThumbError( $status, $msg ) { header( 'HTTP/1.1 500 Internal server error' ); } if ( $wgShowHostnames ) { + header( 'X-MW-Thumbnail-Renderer: ' . wfHostname() ); $url = htmlspecialchars( isset( $_SERVER['REQUEST_URI'] ) ? $_SERVER['REQUEST_URI'] : '' ); $hostname = htmlspecialchars( wfHostname() ); $debug = "\n\n";