*/
define( 'MW_NO_OUTPUT_COMPRESSION', 1 );
if ( isset( $_SERVER['MW_COMPILED'] ) ) {
- require( 'phase3/includes/WebStart.php' );
+ require( 'core/includes/WebStart.php' );
} else {
require( dirname( __FILE__ ) . '/includes/WebStart.php' );
}
// 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__ );
// 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__ );
}
// 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;