X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=thumb.php;h=ff84d89468a0ff4988c42725762baae16af3564d;hb=e8d17e1083889abbd0ab0441aa8269d37b30950c;hp=ff7f9153e94d61d7d9d52f1282fd3ba1b899b78e;hpb=f90c740f915a825acbecf64017b226a3761720d9;p=lhc%2Fweb%2Fwiklou.git diff --git a/thumb.php b/thumb.php index ff7f9153e9..ff84d89468 100644 --- a/thumb.php +++ b/thumb.php @@ -5,10 +5,16 @@ * If the file exists, we make do with abridged MediaWiki initialisation. */ -unset( $IP ); define( 'MEDIAWIKI', true ); +unset( $IP ); +$wgNoOutputBuffer = true; + require_once( './includes/Defines.php' ); require_once( './LocalSettings.php' ); +require_once( 'GlobalFunctions.php' ); + +$wgTrivialMimeDetection = true; //don't use fancy mime detection, just check the file extension for jpg/gif/png. + require_once( 'Image.php' ); require_once( 'StreamFile.php' ); @@ -22,6 +28,8 @@ if ( get_magic_quotes_gpc() ) { $width = $_REQUEST['w']; } +$pre_render= isset($_REQUEST['r']) && $_REQUEST['r']!="0"; + // Some basic input validation $width = intval( $width ); @@ -31,10 +39,10 @@ $fileName = strtr( $fileName, '\\/', '__' ); $imagePath = wfImageDir( $fileName ) . '/' . $fileName; $thumbName = "{$width}px-$fileName"; -if ( preg_match( '/\.svg$/', $fileName ) ) { +if ( $pre_render ) { $thumbName .= '.png'; } -$thumbPath = wfImageThumbDir( $thumbName ) . '/' . $thumbName; +$thumbPath = wfImageThumbDir( $fileName ) . '/' . $thumbName; if ( file_exists( $thumbPath ) && filemtime( $thumbPath ) >= filemtime( $imagePath ) ) { wfStreamFile( $thumbPath ); @@ -44,18 +52,14 @@ if ( file_exists( $thumbPath ) && filemtime( $thumbPath ) >= filemtime( $imagePa // OK, no valid thumbnail, time to get out the heavy machinery require_once( 'Setup.php' ); -// Force renderThumb() to actually do something -$wgThumbnailScriptPath = false; -$wgSharedThumbnailScriptPath = false; - $img = Image::newFromName( $fileName ); if ( $img ) { - $thumb = $img->renderThumb( $width ); + $thumb = $img->renderThumb( $width, false ); } else { $thumb = false; } -if ( $thumb ) { +if ( $thumb && $thumb->path ) { wfStreamFile( $thumb->path ); } else { $badtitle = wfMsg( 'badtitle' );