Merge "Remove DELETE_SOURCE flag from FileRepo store()/storeBatch()"
[lhc/web/wiklou.git] / includes / media / DjVu.php
index 5cc05f2..9add138 100644 (file)
@@ -47,7 +47,7 @@ class DjVuHandler extends ImageHandler {
         * @param File $file
         * @return bool
         */
-       function mustRender( $file ) {
+       public function mustRender( $file ) {
                return true;
        }
 
@@ -64,18 +64,18 @@ class DjVuHandler extends ImageHandler {
         * @param File $file
         * @return bool
         */
-       function isMultiPage( $file ) {
+       public function isMultiPage( $file ) {
                return true;
        }
 
        /**
         * @return array
         */
-       function getParamMap() {
-               return array(
+       public function getParamMap() {
+               return [
                        'img_width' => 'width',
                        'img_page' => 'page',
-               );
+               ];
        }
 
        /**
@@ -83,13 +83,13 @@ class DjVuHandler extends ImageHandler {
         * @param mixed $value
         * @return bool
         */
-       function validateParam( $name, $value ) {
+       public function validateParam( $name, $value ) {
                if ( $name === 'page' && trim( $value ) !== (string)intval( $value ) ) {
                        // Extra junk on the end of page, probably actually a caption
                        // e.g. [[File:Foo.djvu|thumb|Page 3 of the document shows foo]]
                        return false;
                }
-               if ( in_array( $name, array( 'width', 'height', 'page' ) ) ) {
+               if ( in_array( $name, [ 'width', 'height', 'page' ] ) ) {
                        if ( $value <= 0 ) {
                                return false;
                        } else {
@@ -104,7 +104,7 @@ class DjVuHandler extends ImageHandler {
         * @param array $params
         * @return bool|string
         */
-       function makeParamString( $params ) {
+       public function makeParamString( $params ) {
                $page = isset( $params['page'] ) ? $params['page'] : 1;
                if ( !isset( $params['width'] ) ) {
                        return false;
@@ -117,10 +117,10 @@ class DjVuHandler extends ImageHandler {
         * @param string $str
         * @return array|bool
         */
-       function parseParamString( $str ) {
+       public function parseParamString( $str ) {
                $m = false;
                if ( preg_match( '/^page(\d+)-(\d+)px$/', $str, $m ) ) {
-                       return array( 'width' => $m[2], 'page' => $m[1] );
+                       return [ 'width' => $m[2], 'page' => $m[1] ];
                } else {
                        return false;
                }
@@ -131,10 +131,10 @@ class DjVuHandler extends ImageHandler {
         * @return array
         */
        function getScriptParams( $params ) {
-               return array(
+               return [
                        'width' => $params['width'],
                        'page' => $params['page'],
-               );
+               ];
        }
 
        /**
@@ -156,11 +156,11 @@ class DjVuHandler extends ImageHandler {
                $page = $params['page'];
 
                if ( $flags & self::TRANSFORM_LATER ) {
-                       $params = array(
+                       $params = [
                                'width' => $width,
                                'height' => $height,
                                'page' => $page
-                       );
+                       ];
 
                        return new ThumbnailImage( $image, $dstUrl, $dstPath, $params );
                }
@@ -179,11 +179,11 @@ class DjVuHandler extends ImageHandler {
                // Provide a way to pool count limit the number of downloaders.
                if ( $image->getSize() >= 1e7 ) { // 10MB
                        $work = new PoolCounterWorkViaCallback( 'GetLocalFileCopy', sha1( $image->getName() ),
-                               array(
+                               [
                                        'doWork' => function () use ( $image ) {
                                                return $image->getLocalRefPath();
                                        }
-                               )
+                               ]
                        );
                        $srcPath = $work->execute();
                } else {
@@ -222,11 +222,11 @@ class DjVuHandler extends ImageHandler {
                        $this->logErrorForExternalProcess( $retval, $err, $cmd );
                        return new MediaTransformError( 'thumbnail_error', $width, $height, $err );
                } else {
-                       $params = array(
+                       $params = [
                                'width' => $width,
                                'height' => $height,
                                'page' => $page
-                       );
+                       ];
 
                        return new ThumbnailImage( $image, $dstUrl, $dstPath, $params );
                }
@@ -352,7 +352,7 @@ class DjVuHandler extends ImageHandler {
                        $mime = $magic->guessTypesForExtension( $wgDjvuOutputExtension );
                }
 
-               return array( $wgDjvuOutputExtension, $mime );
+               return [ $wgDjvuOutputExtension, $mime ];
        }
 
        function getMetadata( $image, $path ) {
@@ -361,9 +361,9 @@ class DjVuHandler extends ImageHandler {
                $xml = $this->getDjVuImage( $image, $path )->retrieveMetaData();
                if ( $xml === false ) {
                        // Special value so that we don't repetitively try and decode a broken file.
-                       return serialize( array( 'error' => 'Error extracting metadata' ) );
+                       return serialize( [ 'error' => 'Error extracting metadata' ] );
                } else {
-                       return serialize( array( 'xml' => $xml ) );
+                       return serialize( [ 'xml' => $xml ] );
                }
        }
 
@@ -372,7 +372,7 @@ class DjVuHandler extends ImageHandler {
        }
 
        function isMetadataValid( $image, $metadata ) {
-               return !empty( $metadata ) && $metadata != serialize( array() );
+               return !empty( $metadata ) && $metadata != serialize( [] );
        }
 
        function pageCount( File $image ) {
@@ -393,33 +393,33 @@ class DjVuHandler extends ImageHandler {
        }
 
        protected function getDimensionInfo( File $file ) {
-               $that = $this;
-
-               return ObjectCache::getMainWANInstance()->getWithSetCallback(
-                       wfMemcKey( 'file-djvu', 'dimensions', $file->getSha1() ),
-                       WANObjectCache::TTL_INDEFINITE,
-                       function () use ( $that, $file ) {
-                               $tree = $that->getMetaTree( $file );
+               $cache = ObjectCache::getMainWANInstance();
+               return $cache->getWithSetCallback(
+                       $cache->makeKey( 'file-djvu', 'dimensions', $file->getSha1() ),
+                       $cache::TTL_INDEFINITE,
+                       function () use ( $file ) {
+                               $tree = $this->getMetaTree( $file );
                                if ( !$tree ) {
                                        return false;
                                }
 
-                               $dimsByPage = array();
+                               $dimsByPage = [];
                                $count = count( $tree->xpath( '//OBJECT' ) );
-                               for ( $i = 0; $i < $count; ++$i ) {
+                               for ( $i = 0; $i < $count; $i++ ) {
                                        $o = $tree->BODY[0]->OBJECT[$i];
                                        if ( $o ) {
-                                               $dimsByPage[$i] = array(
+                                               $dimsByPage[$i] = [
                                                        'width' => (int)$o['width'],
-                                                       'height' => (int)$o['height']
-                                               );
+                                                       'height' => (int)$o['height'],
+                                               ];
                                        } else {
                                                $dimsByPage[$i] = false;
                                        }
                                }
 
-                               return array( 'pageCount' => $count, 'dimensionsByPage' => $dimsByPage );
-                       }
+                               return [ 'pageCount' => $count, 'dimensionsByPage' => $dimsByPage ];
+                       },
+                       [ 'pcTTL' => $cache::TTL_INDEFINITE ]
                );
        }