From b9b85843572bf283f48285001e276ba7e61b63f6 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sun, 22 Feb 2009 13:37:51 +0100 Subject: updated to MediaWiki 1.14.0 --- thumb.php | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'thumb.php') diff --git a/thumb.php b/thumb.php index 677979a0..b973cc65 100644 --- a/thumb.php +++ b/thumb.php @@ -40,10 +40,31 @@ function wfThumbMain() { } unset( $params['r'] ); + // Is this a thumb of an archived file? + $isOld = (isset( $params['archived'] ) && $params['archived']); + unset( $params['archived'] ); + // Some basic input validation $fileName = strtr( $fileName, '\\/', '__' ); - $img = wfLocalFile( $fileName ); + // Actually fetch the image. Method depends on whether it is archived or not. + if( $isOld ) { + // Format is ! + $bits = explode( '!', $fileName, 2 ); + if( !isset($bits[1]) ) { + wfThumbError( 404, wfMsg( 'badtitletext' ) ); + return; + } + $title = Title::makeTitleSafe( NS_FILE, $bits[1] ); + if( is_null($title) ) { + wfThumbError( 404, wfMsg( 'badtitletext' ) ); + return; + } + $img = RepoGroup::singleton()->getLocalRepo()->newFromArchiveName( $title, $fileName ); + } else { + $img = wfLocalFile( $fileName ); + } + if ( !$img ) { wfThumbError( 404, wfMsg( 'badtitletext' ) ); return; -- cgit v1.2.2