Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Wikipedia: Mediawiki-CVS

SVN: [37474] trunk/phase3

 

 

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded


vasilievvv at svn

Jul 10, 2008, 1:16 AM

Post #1 of 1 (276 views)
Permalink
SVN: [37474] trunk/phase3

Revision: 37474
Author: vasilievvv
Date: 2008-07-10 08:16:58 +0000 (Thu, 10 Jul 2008)

Log Message:
-----------
* (bug 14772) Disallow moving images to invalid titles

Modified Paths:
--------------
trunk/phase3/includes/GlobalFunctions.php
trunk/phase3/includes/Title.php
trunk/phase3/includes/specials/SpecialUpload.php
trunk/phase3/languages/messages/MessagesEn.php
trunk/phase3/maintenance/language/messages.inc

Modified: trunk/phase3/includes/GlobalFunctions.php
===================================================================
--- trunk/phase3/includes/GlobalFunctions.php 2008-07-10 08:02:52 UTC (rev 37473)
+++ trunk/phase3/includes/GlobalFunctions.php 2008-07-10 08:16:58 UTC (rev 37474)
@@ -862,7 +862,10 @@
*/
function wfVarDump( $var ) {
global $wgOut;
- $s = str_replace("\n","<br />\n", var_export( $var, true ) . "\n");
+ ob_start();
+ var_dump( $var );
+ $s = str_replace("\n","<br />\n", ob_get_contents() . "\n");
+ ob_end_clean();
if ( headers_sent() || !@is_object( $wgOut ) ) {
print $s;
} else {
@@ -2364,3 +2367,13 @@

return md5( mt_rand( 0, 0x7fffffff ) . $salt );
}
+
+/**
+ * Replace all invalid characters with -
+ * @param mixed $title Filename to process
+ */
+function wfStripIllegalFilenameChars( $name ) {
+ $name = wfBaseName( $name );
+ $name = preg_replace ( "/[^".Title::legalChars()."]|:/", '-', $name );
+ return $name;
+}

Modified: trunk/phase3/includes/Title.php
===================================================================
--- trunk/phase3/includes/Title.php 2008-07-10 08:02:52 UTC (rev 37473)
+++ trunk/phase3/includes/Title.php 2008-07-10 08:16:58 UTC (rev 37474)
@@ -2443,6 +2443,9 @@
if( $nt->getNamespace() != NS_IMAGE ) {
$errors[] = array('imagenocrossnamespace');
}
+ if( $nt->getText() != wfStripIllegalFilenameChars( $nt->getText() ) ) {
+ $errors[] = array('imageinvalidfilename');
+ }
if( !File::checkExtensionCompatibility( $file, $nt->getDbKey() ) ) {
$errors[] = array('imagetypemismatch');
}

Modified: trunk/phase3/includes/specials/SpecialUpload.php
===================================================================
--- trunk/phase3/includes/specials/SpecialUpload.php 2008-07-10 08:02:52 UTC (rev 37473)
+++ trunk/phase3/includes/specials/SpecialUpload.php 2008-07-10 08:16:58 UTC (rev 37474)
@@ -391,13 +391,17 @@
return self::BEFORE_PROCESSING;
}

- # Chop off any directories in the given filename
+ /**
+ * Chop off any directories in the given filename. Then
+ * filter out illegal characters, and try to make a legible name
+ * out of it. We'll strip some silently that Title would die on.
+ */
if( $this->mDesiredDestName ) {
$basename = $this->mDesiredDestName;
} else {
$basename = $this->mSrcName;
}
- $filtered = wfBaseName( $basename );
+ $filtered = wfStripIllegalFilenameChars( $basename );

/**
* We'll want to blacklist against *any* 'extension', and use
@@ -422,11 +426,7 @@
return self::MIN_LENGHT_PARTNAME;
}

- /**
- * Filter out illegal characters, and try to make a legible name
- * out of it. We'll strip some silently that Title would die on.
- */
- $filtered = preg_replace ( "/[^".Title::legalChars()."]|:/", '-', $filtered );
+
$nt = Title::makeTitleSafe( NS_IMAGE, $filtered );
if( is_null( $nt ) ) {
$resultDetails = array( 'filtered' => $filtered );

Modified: trunk/phase3/languages/messages/MessagesEn.php
===================================================================
--- trunk/phase3/languages/messages/MessagesEn.php 2008-07-10 08:02:52 UTC (rev 37473)
+++ trunk/phase3/languages/messages/MessagesEn.php 2008-07-10 08:16:58 UTC (rev 37474)
@@ -2485,6 +2485,7 @@
cannot move pages from and into that namespace.',
'imagenocrossnamespace' => 'Cannot move file to non-file namespace',
'imagetypemismatch' => 'The new file extension does not match its type',
+'imageinvalidfilename' => 'Target image file name is invalid',

# Export
'export' => 'Export pages',

Modified: trunk/phase3/maintenance/language/messages.inc
===================================================================
--- trunk/phase3/maintenance/language/messages.inc 2008-07-10 08:02:52 UTC (rev 37473)
+++ trunk/phase3/maintenance/language/messages.inc 2008-07-10 08:16:58 UTC (rev 37474)
@@ -1692,6 +1692,7 @@
'immobile_namespace',
'imagenocrossnamespace',
'imagetypemismatch',
+ 'imageinvalidfilename',
),
'export' => array(
'export',



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS[at]lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Wikipedia mediawiki-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.