fixes Bug 34198 - first item in the history shows no information about its size
[lhc/web/wiklou.git] / thumb.php
index 1890df2..eb0d67d 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -124,7 +124,7 @@ function wfStreamThumb( array $params ) {
 
        // Check permissions if there are read restrictions
        if ( !in_array( 'read', User::getGroupPermissions( array( '*' ) ), true ) ) {
-               if ( !$img->getTitle()->userCan( 'read' ) ) {
+               if ( !$img->getTitle() || !$img->getTitle()->userCan( 'read' ) ) {
                        wfThumbError( 403, 'Access denied. You do not have permission to access ' .
                                'the source file.' );
                        wfProfileOut( __METHOD__ );
@@ -178,7 +178,7 @@ function wfStreamThumb( array $params ) {
                        // Check that the zone relative path matches up so squid caches won't pick
                        // up thumbs that would not be purged on source file deletion (bug 34231).
                        if ( isset( $params['rel404'] ) // thumbnail was handled via 404
-                               && $params['rel404'] !== $img->getThumbRel( $thumbName ) ) 
+                               && urldecode( $params['rel404'] ) !== $img->getThumbRel( $thumbName ) ) 
                        {
                                wfThumbError( 404, 'The source file for the specified thumbnail does not exist.' );
                                wfProfileOut( __METHOD__ );
@@ -271,7 +271,6 @@ function wfExtractThumbParams( $uri ) {
                }
 
                // Check if the parameters can be extracted from the thumbnail name...
-               // @TODO: remove 'page' stuff and make ProofreadPage handle it via hook.
                if ( preg_match( '!^(page(\d*)-)*(\d*)px-[^/]*$!', $thumbname, $matches ) ) {
                        list( /* all */, $pagefull, $pagenum, $size ) = $matches;
                        $params['width'] = $size;