Fix title handling in User::getCanonicalName
authorumherirrender <umherirrender_de.wp@web.de>
Sat, 10 May 2014 08:41:30 +0000 (10:41 +0200)
committerUmherirrender <umherirrender_de.wp@web.de>
Fri, 25 Jul 2014 07:27:15 +0000 (07:27 +0000)
With r41328 the title validation was changed to allow rename of invalid
user names, by always creating a title object.

That removes the title validation for validation of 'usable' and
'creatable', but in that case it is also a good idea to apply title
rules to normalize spaces and reject user names which can not have a
valid title. At the moment that is done in User::isValidUserName.

Change-Id: I27c488e4008a924117ff6bac2216f148cd5e7abd

includes/User.php

index fa20ebd..af5bc3d 100644 (file)
@@ -918,8 +918,9 @@ class User implements IDBAccessObject {
                        return false;
                }
 
-               // Clean up name according to title rules
-               $t = ( $validate === 'valid' ) ?
+               // Clean up name according to title rules,
+               // but only when validation is requested (bug 12654)
+               $t = ( $validate !== false ) ?
                        Title::newFromText( $name ) : Title::makeTitle( NS_USER, $name );
                // Check for invalid titles
                if ( is_null( $t ) ) {