summaryrefslogtreecommitdiff
path: root/img_auth.php
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2011-12-03 13:29:22 +0100
committerPierre Schmitz <pierre@archlinux.de>2011-12-03 13:29:22 +0100
commitca32f08966f1b51fcb19460f0996bb0c4048e6fe (patch)
treeec04cc15b867bc21eedca904cea9af0254531a11 /img_auth.php
parenta22fbfc60f36f5f7ee10d5ae6fe347340c2ee67c (diff)
Update to MediaWiki 1.18.0
* also update ArchLinux skin to chagnes in MonoBook * Use only css to hide our menu bar when printing
Diffstat (limited to 'img_auth.php')
-rw-r--r--img_auth.php31
1 files changed, 14 insertions, 17 deletions
diff --git a/img_auth.php b/img_auth.php
index 4fa301b6..ed4c6be4 100644
--- a/img_auth.php
+++ b/img_auth.php
@@ -10,7 +10,7 @@
*
* Optional Parameters
*
- * - Set $wgImgAuthDetails = true if you want the reason the access was denied messages to be displayed
+ * - Set $wgImgAuthDetails = true if you want the reason the access was denied messages to be displayed
* instead of just the 403 error (doesn't work on IE anyway), otherwise will only appear in error logs
* - Set $wgImgAuthPublicTest false if you don't want to just check and see if all are public
* must be set to false if using specific restrictions such as LockDown or NSFileRepo
@@ -26,27 +26,24 @@
**/
define( 'MW_NO_OUTPUT_COMPRESSION', 1 );
-require_once( dirname( __FILE__ ) . '/includes/WebStart.php' );
+if ( isset( $_SERVER['MW_COMPILED'] ) ) {
+ require ( 'phase3/includes/WebStart.php' );
+} else {
+ require ( dirname( __FILE__ ) . '/includes/WebStart.php' );
+}
wfProfileIn( 'img_auth.php' );
require_once( dirname( __FILE__ ) . '/includes/StreamFile.php' );
+$wgActionPaths[] = $_SERVER['SCRIPT_NAME'];
// See if this is a public Wiki (no protections)
-if ( $wgImgAuthPublicTest
+if ( $wgImgAuthPublicTest
&& in_array( 'read', User::getGroupPermissions( array( '*' ) ), true ) )
{
wfForbidden('img-auth-accessdenied','img-auth-public');
}
-// Extract path and image information
-if( !isset( $_SERVER['PATH_INFO'] ) ) {
- $path = $wgRequest->getText( 'path' );
- if( !$path ) {
- wfForbidden( 'img-auth-accessdenied', 'img-auth-nopathinfo' );
- }
- $path = "/$path";
-} else {
- $path = $_SERVER['PATH_INFO'];
-}
+$matches = WebRequest::getPathInfo();
+$path = $matches['title'];
// Check for bug 28235: QUERY_STRING overriding the correct extension
$dotPos = strrpos( $path, '.' );
@@ -84,16 +81,16 @@ if( is_dir( $filename ) )
$title = Title::makeTitleSafe( NS_FILE, $name );
// See if could create the title object
-if( !$title instanceof Title )
+if( !$title instanceof Title )
wfForbidden('img-auth-accessdenied','img-auth-badtitle',$name);
// Run hook
if (!wfRunHooks( 'ImgAuthBeforeStream', array( &$title, &$path, &$name, &$result ) ) )
wfForbidden($result[0],$result[1],array_slice($result,2));
-
+
// Check user authorization for this title
// UserCanRead Checks Whitelist too
-if( !$title->userCanRead() )
+if( !$title->userCanRead() )
wfForbidden('img-auth-accessdenied','img-auth-noread',$name);
// Stream the requested file
@@ -104,7 +101,7 @@ wfLogProfilingData();
/**
* Issue a standard HTTP 403 Forbidden header ($msg1-a message index, not a message) and an
* error message ($msg2, also a message index), (both required) then end the script
- * subsequent arguments to $msg2 will be passed as parameters only for replacing in $msg2
+ * subsequent arguments to $msg2 will be passed as parameters only for replacing in $msg2
*/
function wfForbidden($msg1,$msg2) {
global $wgImgAuthDetails;