* Given unvalidated password input, return error message on failure.
*
* @param $password String Desired password
- * @return mixed: true on success, string of error message on failure
+ * @return mixed: true on success, string or array of error message on failure
*/
function getPasswordValidity( $password ) {
global $wgMinimalPasswordLength, $wgContLang;
if( !$this->isValidPassword( $str ) ) {
global $wgMinimalPasswordLength;
$valid = $this->getPasswordValidity( $str );
- throw new PasswordError( wfMsgExt( $valid, array( 'parsemag' ),
- $wgMinimalPasswordLength ) );
+ if ( is_array( $valid ) ) {
+ $message = array_shift( $valid );
+ $params = $valid;
+ } else {
+ $message = $valid;
+ $params = array( $wgMinimalPasswordLength );
+ }
+ throw new PasswordError( wfMsgExt( $message, array( 'parsemag' ), $params ) );
}
}
$msg = $valid;
}
if ( $msg !== false ) {
- $this->parent->showError( $msg );
+ call_user_func_array( array( $this->parent, 'showError' ), (array)$msg );
$this->setVar( '_AdminPassword', '' );
$this->setVar( '_AdminPassword2', '' );
$retVal = false;
$valid = $u->getPasswordValidity( $this->mPassword );
if ( $valid !== true ) {
if ( !$this->mCreateaccountMail ) {
- $this->mainLoginForm( wfMsgExt( $valid, array( 'parsemag' ), $wgMinimalPasswordLength ) );
+ if ( is_array( $valid ) ) {
+ $message = array_shift( $valid );
+ $params = $valid;
+ } else {
+ $message = $valid;
+ $params = array( $wgMinimalPasswordLength );
+ }
+ $this->mainLoginForm( wfMsgExt( $message, array( 'parsemag' ), $params ) );
return false;
} else {
# do not force a password for account creation by email