* (bug 18019) Users are now warned when moving a file to a name in use on a
shared repository and only users with the 'reupload-shared' permission can
complete the move.
+* Any strings returned by the isValidPassword hook are now shown as error messages
+ instead of MediaWiki thinking that the hook said the password was valid.
+* The error message shown in Special:ChangePassword now parses wiki markup
== API changes in 1.16 ==
* Is the input a valid password for this user?
*
* @param $password String Desired password
- * @return bool True or false
+ * @return mixed: bool True or false or a message key explaining why the password is invalid
*/
function isValidPassword( $password ) {
global $wgMinimalPasswordLength, $wgContLang;
function getPasswordValidity( $password ) {
global $wgMinimalPasswordLength, $wgContLang;
- if ( !$this->isValidPassword( $password ) ) {
+ if ( ( $result = $this->isValidPassword( $password ) ) === false ) {
if( strlen( $password ) < $wgMinimalPasswordLength ) {
return 'passwordtooshort';
} elseif ( $wgContLang->lc( $password ) == $wgContLang->lc( $this->mName ) ) {
return 'password-name-match';
}
- } else {
+ } elseif( $result === true ) {
return true;
+ } else {
+ return $result; //the isValidPassword hook set a string $result and returned false
}
}
throw new PasswordError( wfMsg( 'password-change-forbidden' ) );
}
- if( !$this->isValidPassword( $str ) ) {
+ if( $this->isValidPassword( $str ) !== true ) {
global $wgMinimalPasswordLength;
$valid = $this->getPasswordValidity( $str );
throw new PasswordError( wfMsgExt( $valid, array( 'parsemag' ),