X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fmedia%2FDjVu.php;h=f0bbcc51df2180ffe145644d5a1635383f81ec70;hb=56aa7029b972b19421addc477a81a5c133aae79c;hp=00a1b516cf78552db6f0fb1401a56f6a219d97f1;hpb=b4d37577b9a6464c2599f73f086186aaed9851db;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/media/DjVu.php b/includes/media/DjVu.php index 00a1b516cf..f0bbcc51df 100644 --- a/includes/media/DjVu.php +++ b/includes/media/DjVu.php @@ -1,7 +1,11 @@ 'width', + 'img_page' => 'page', + ); + } + function validateParam( $name, $value ) { if ( in_array( $name, array( 'width', 'height', 'page' ) ) ) { if ( $value <= 0 ) { @@ -56,34 +67,34 @@ class DjVuHandler extends ImageHandler { function doTransform( $image, $dstPath, $dstUrl, $params, $flags = 0 ) { global $wgDjvuRenderer, $wgDjvuPostProcessor; - // Fetch XML and check it, to give a more informative error message than the one which + // Fetch XML and check it, to give a more informative error message than the one which // normaliseParams will inevitably give. $xml = $image->getMetadata(); if ( !$xml ) { - return new MediaTransformError( 'thumbnail_error', @$params['width'], @$params['height'], + return new MediaTransformError( 'thumbnail_error', @$params['width'], @$params['height'], wfMsg( 'djvu_no_xml' ) ); } - + if ( !$this->normaliseParams( $image, $params ) ) { return new TransformParameterError( $params ); } $width = $params['width']; $height = $params['height']; - $srcPath = $image->getImagePath(); + $srcPath = $image->getPath(); $page = $params['page']; if ( $page > $this->pageCount( $image ) ) { return new MediaTransformError( 'thumbnail_error', $width, $height, wfMsg( 'djvu_page_error' ) ); } - + if ( $flags & self::TRANSFORM_LATER ) { - return new ThumbnailImage( $dstUrl, $width, $height, $dstPath ); + return new ThumbnailImage( $image, $dstUrl, $width, $height, $dstPath, $page ); } if ( !wfMkdirParents( dirname( $dstPath ) ) ) { return new MediaTransformError( 'thumbnail_error', $width, $height, wfMsg( 'thumbnail_dest_directory' ) ); } - # Use a subshell (brackets) to aggregate stderr from both pipeline commands + # Use a subshell (brackets) to aggregate stderr from both pipeline commands # before redirecting it to the overall stdout. This works in both Linux and Windows XP. $cmd = '(' . wfEscapeShellArg( $wgDjvuRenderer ) . " -format=ppm -page={$page} -size={$width}x{$height} " . wfEscapeShellArg( $srcPath ); @@ -103,7 +114,7 @@ class DjVuHandler extends ImageHandler { wfHostname(), $retval, trim($err), $cmd ) ); return new MediaTransformError( 'thumbnail_error', $width, $height, $err ); } else { - return new ThumbnailImage( $dstUrl, $width, $height, $dstPath ); + return new ThumbnailImage( $image, $dstUrl, $width, $height, $dstPath, $page ); } } @@ -201,5 +212,3 @@ class DjVuHandler extends ImageHandler { } } } - -?>