Follow-up to r77956: instead of making $wgFileExtensions override $wgFileBlacklist...
authorBenjamin Lees <emufarmers@users.mediawiki.org>
Sun, 12 Dec 2010 23:19:24 +0000 (23:19 +0000)
committerBenjamin Lees <emufarmers@users.mediawiki.org>
Sun, 12 Dec 2010 23:19:24 +0000 (23:19 +0000)
RELEASE-NOTES
includes/specials/SpecialUpload.php
includes/upload/UploadBase.php

index de3c6d8..1c1cfff 100644 (file)
@@ -34,6 +34,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
   cannot read the page in question.
 * (bug 19006) {{REVISIONUSER}} no longer acts like {{CURRENTUSER}} in some cases
 * (bug 16019) $wgArticlePath = "/$1" no longer breaks API edit/watch actions
+* (bug 18372) File types blacklisted by $wgFileBlacklist will no longer be shown as "Permitted file types" on the upload form
 
 === API changes in 1.18 ===
 
index 37db906..48e700c 100644 (file)
@@ -899,6 +899,9 @@ class UploadForm extends HTMLForm {
                $wgFileExtensions, $wgFileBlacklist;
 
                if( $wgCheckFileExtensions ) {
+                       //don't show blacklisted types as permitted
+                       $wgFileExtensions = array_diff ( $wgFileExtensions, $wgFileBlacklist );
+                       
                        if( $wgStrictFileExtensions ) {
                                # Everything not permitted is banned
                                $extensionsList =
index 424ce11..1e3414f 100644 (file)
@@ -568,10 +568,9 @@ abstract class UploadBase {
                if ( $this->mFinalExtension == '' ) {
                        $this->mTitleError = self::FILETYPE_MISSING;
                        return $this->mTitle = null;
-               } elseif ( ( $this->checkFileExtensionList( $ext, $wgFileBlacklist )
-                               && !$this->checkFileExtensionList( $ext, $wgFileExtensions ) ) ||
-                                       ( $wgCheckFileExtensions && $wgStrictFileExtensions &&
-                                               !$this->checkFileExtension( $this->mFinalExtension, $wgFileExtensions ) ) ) {
+               } elseif ( $this->checkFileExtensionList( $ext, $wgFileBlacklist ) ||
+                               ( $wgCheckFileExtensions && $wgStrictFileExtensions &&
+                                       !$this->checkFileExtension( $this->mFinalExtension, $wgFileExtensions ) ) ) {
                        $this->mTitleError = self::FILETYPE_BADTYPE;
                        return $this->mTitle = null;
                }