For MediaWiki (recent comments | status changes | tags | authors | states | release notes | statistics)
Index: trunk/extensions/TitleBlacklist/TitleBlacklist.hooks.php =================================================================== --- trunk/extensions/TitleBlacklist/TitleBlacklist.hooks.php (revision 33655) +++ trunk/extensions/TitleBlacklist/TitleBlacklist.hooks.php (revision 33656) @@ -54,7 +54,11 @@ public static function verifyUpload( $fname, $fpath, &$err ) { global $wgTitleBlacklist; efInitTitleBlacklist(); - $blacklisted = $wgTitleBlacklist->isBlacklisted( Title::newFromText( $fname, NS_IMAGE ), 'upload' ); + + $title = Title::newFromText( $fname, NS_IMAGE ); + $action = $title->exists() ? 'reupload' : 'upload'; + + $blacklisted = $wgTitleBlacklist->isBlacklisted( $title, $action ); if( $blacklisted instanceof TitleBlacklistEntry ) { wfLoadExtensionMessages( 'TitleBlacklist' ); $message = $blacklisted->getCustomMessage(); Index: trunk/extensions/TitleBlacklist/TitleBlacklist.list.php =================================================================== --- trunk/extensions/TitleBlacklist/TitleBlacklist.list.php (revision 33655) +++ trunk/extensions/TitleBlacklist/TitleBlacklist.list.php (revision 33656) @@ -209,6 +209,9 @@ if( !isset( $this->mParams['noedit'] ) && $action == 'edit' ) { return true; } + if ( isset( $this->mParams['reupload'] ) && $action == 'reupload' ) { + return true; + } return false; } return true; @@ -240,6 +243,9 @@ if( $opt2 == 'casesensitive' ) { $options['casesensitive'] = true; } + if( $opt2 == 'reupload' ) { + $options['reupload'] = true; + } if( preg_match( '/errmsg\s*=\s*(.+)/i', $opt, $matches ) ) { $options['errmsg'] = $matches[1]; }