From 44840d15929d8ecfc1d7c31d6f7e86d873ac15a2 Mon Sep 17 00:00:00 2001 From: S Page Date: Tue, 4 Jun 2013 22:20:00 -0700 Subject: [PATCH] Only new vertical format login and signup forms * The "VForm" templates replace existing templates. * Remove useNew switch logic and $wgUseVForm{UserLogin,CreateAccount}. * The CSS and JS files for forms lose the .vform qualifier, except for the CSS for styling vform elements. * Merge tiny mediawiki.special.userLogin.signup.js into createAccount.js. * Remove replaced and obsolete messages (see https://www.mediawiki.org/wiki/Account_creation_user_experience/Strings for details), and remove mention of "new" forms and useNew from MessagesQqq.php. Bug: 46333 Change-Id: I50f25583c3aa9a4a263fb40f50256f92c18ddb4d --- RELEASE-NOTES-1.22 | 11 +- includes/AutoLoader.php | 2 - includes/DefaultSettings.php | 17 - includes/specials/SpecialUserlogin.php | 98 ++-- includes/templates/Usercreate.php | 419 +++++++++--------- includes/templates/UsercreateVForm.php | 286 ------------ includes/templates/Userlogin.php | 273 ++++++------ includes/templates/UserloginVForm.php | 196 -------- languages/messages/MessagesEn.php | 10 - languages/messages/MessagesQqq.php | 93 ++-- maintenance/language/messages.inc | 10 - resources/Resources.php | 16 +- ...ss => mediawiki.special.createAccount.css} | 0 ....js => mediawiki.special.createAccount.js} | 18 +- ...rm.css => mediawiki.special.userLogin.css} | 0 .../mediawiki.special.userLogin.signup.js | 10 - 16 files changed, 423 insertions(+), 1036 deletions(-) delete mode 100644 includes/templates/UsercreateVForm.php delete mode 100644 includes/templates/UserloginVForm.php rename resources/mediawiki.special/{mediawiki.special.createAccount.vform.css => mediawiki.special.createAccount.css} (100%) rename resources/mediawiki.special/{mediawiki.special.createAccount.vform.js => mediawiki.special.createAccount.js} (81%) rename resources/mediawiki.special/{mediawiki.special.userLogin.vform.css => mediawiki.special.userLogin.css} (100%) delete mode 100644 resources/mediawiki.special/mediawiki.special.userLogin.signup.js diff --git a/RELEASE-NOTES-1.22 b/RELEASE-NOTES-1.22 index 4f33548aa1..f14d79c5aa 100644 --- a/RELEASE-NOTES-1.22 +++ b/RELEASE-NOTES-1.22 @@ -11,9 +11,6 @@ production. === Configuration changes in 1.22 === * $wgRedirectScript was removed. It was unused. * Removed $wgLocalMessageCacheSerialized, it is now always true. -* When $wgUseVFormUserLogin is true, the redesign of Special:UserLogin is - activated; when $wgUseVFormCreateAccount is true, the redesign of - Special:UserLogin/signup is activated. * $wgVectorUseIconWatch is now enabled by default. * $wgCascadingRestrictionLevels was added. * ftps, ssh, sftp, xmpp, sip, sips, tel, sms, bitcoin, magnet, urn, and geo @@ -47,9 +44,11 @@ production. * New 'mediawiki.ui' CSS module providing mw-ui-* styles for buttons and a compact vertical form layout. * New versions of login (Special:UserLogin) and create account - (Special:UserLogin/signup) forms. They are opt-in for now, controlled by - the $wgUseVFormUserLogin and $wgUseVFormCreateAccount settings or a 'useNew' - URL parameter trigger. + (Special:UserLogin/signup) forms using the "vform" compact vertical form layout. + These forms use new messages that assume a "Help logging in" link, see + https://www.mediawiki.org/wiki/Manual:Page_customizations; + https://www.mediawiki.org/wiki/Account_creation_user_experience/Strings lists the + message key changes. * (bug 23343) Implemented ability to apply IP blocks to the contents of X-Forwarded-For headers by adding a new configuration variable $wgApplyIpBlocksToXff (disabled by default). * The new hook 'APIGetPossibleErrors' to modify the list of possible errors was diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index 2decd58b06..f2b1d0b255 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -1010,9 +1010,7 @@ $wgAutoloadLocalClasses = array( # includes/templates 'UserloginTemplate' => 'includes/templates/Userlogin.php', - 'UserloginTemplateVForm' => 'includes/templates/UserloginVForm.php', 'UsercreateTemplate' => 'includes/templates/Usercreate.php', - 'UsercreateTemplateVForm' => 'includes/templates/UsercreateVForm.php', # includes/upload 'UploadBase' => 'includes/upload/UploadBase.php', diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index b560baf225..d31a4c6279 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -2820,23 +2820,6 @@ $wgVectorUseSimpleSearch = true; */ $wgVectorUseIconWatch = true; -/** - * Use compact vertical form ("VForm") design for Special:Userlogin. This can - * be overridden by a useNew bool in the query string. For instance, if it is - * globally false, you can try it with useNew=1. - * - * @since 1.22 - */ -$wgUseVFormUserLogin = false; - -/** - * Use compact vertical form ("VForm") design for account creation - * (Special:Userlogin?type=signup). - * - * @since 1.22 - */ -$wgUseVFormCreateAccount = false; - /** * Display user edit counts in various prominent places. */ diff --git a/includes/specials/SpecialUserlogin.php b/includes/specials/SpecialUserlogin.php index b147b83af3..71efefa795 100644 --- a/includes/specials/SpecialUserlogin.php +++ b/includes/specials/SpecialUserlogin.php @@ -51,9 +51,6 @@ class LoginForm extends SpecialPage { var $mAbortLoginErrorMsg = 'login-abort-generic'; private $mLoaded = false; private $mSecureLoginUrl; - // TODO Remove old forms and mShowVForm gating after all WMF wikis have - // adapted messages and help links to new versions. - private $mShowVForm; /** * @ var WebRequest @@ -144,17 +141,10 @@ class LoginForm extends SpecialPage { } function getDescription() { - if ( !$this->getUser()->isAllowed( 'createaccount' ) ) { - return $this->msg( 'userloginnocreate' )->text(); - } - if ( $this->mShowVForm ) { - if ( $this->mType === 'signup' ) { - return $this->msg( 'createaccount' )->text(); - } else { - return $this->msg( 'login' )->text(); - } + if ( $this->mType === 'signup' ) { + return $this->msg( 'createaccount' )->text(); } else { - return $this->msg( 'userlogin' )->text(); + return $this->msg( 'login' )->text(); } } @@ -173,8 +163,6 @@ class LoginForm extends SpecialPage { if ( $subPage == 'signup' ) { $this->mType = 'signup'; } - $this->mShowVForm = $this->shouldShowVForm(); - $this->setHeaders(); // If logging in and not on HTTPS, either redirect to it or offer a link. @@ -1039,22 +1027,6 @@ class LoginForm extends SpecialPage { } } - /** - * Whether to show new vertically laid out login form. - * ?useNew=1 forces new style, ?useNew=0 forces old style, - * otherwise consult $wgUseVFormUserLogin. - * @return Boolean - */ - private function shouldShowVForm() { - global $wgUseVFormCreateAccount, $wgUseVFormUserLogin; - - if ( $this->mType == 'signup' ) { - return $this->mRequest->getBool( 'useNew', $wgUseVFormCreateAccount ); - } else { - return $this->mRequest->getBool( 'useNew', $wgUseVFormUserLogin ); - } - } - /** * @private */ @@ -1093,39 +1065,34 @@ class LoginForm extends SpecialPage { } if ( $this->mType == 'signup' ) { - $out->addModules( 'mediawiki.special.userlogin.signup' ); - if ( $this->mShowVForm ) { - $template = new UsercreateTemplateVForm(); - $out->addModuleStyles( array( - 'mediawiki.ui', - 'mediawiki.special.createaccount.vform' - ) ); - // XXX hack pending RL or JS parse() support for complex content messages - // https://bugzilla.wikimedia.org/show_bug.cgi?id=25349 - $out->addJsConfigVars( 'wgCreateacctImgcaptchaHelp', - $this->msg( 'createacct-imgcaptcha-help' )->parse() ); - $out->addModules( 'mediawiki.special.createaccount.vform.js' ); - // Must match number of benefits defined in messages - $template->set( 'benefitCount', 3 ); - } else { - $template = new UsercreateTemplate(); - } + $template = new UsercreateTemplate(); + + $out->addModuleStyles( array( + 'mediawiki.ui', + 'mediawiki.special.createaccount' + ) ); + // XXX hack pending RL or JS parse() support for complex content messages + // https://bugzilla.wikimedia.org/show_bug.cgi?id=25349 + $out->addJsConfigVars( 'wgCreateacctImgcaptchaHelp', + $this->msg( 'createacct-imgcaptcha-help' )->parse() ); + $out->addModules( array( + 'mediawiki.special.createaccount.js' + ) ); + // Must match number of benefits defined in messages + $template->set( 'benefitCount', 3 ); + $q = 'action=submitlogin&type=signup'; $linkq = 'type=login'; - $linkmsg = 'gotaccount'; } else { - if ( $this->mShowVForm ) { - $template = new UserloginTemplateVForm(); - $out->addModuleStyles( array( - 'mediawiki.ui', - 'mediawiki.special.userlogin.vform' - ) ); - } else { - $template = new UserloginTemplate(); - } + $template = new UserloginTemplate(); + + $out->addModuleStyles( array( + 'mediawiki.ui', + 'mediawiki.special.userlogin' + ) ); + $q = 'action=submitlogin&type=login'; $linkq = 'type=signup'; - $linkmsg = 'nologin'; } if ( $this->mReturnTo !== '' ) { @@ -1144,17 +1111,8 @@ class LoginForm extends SpecialPage { if ( $wgLoginLanguageSelector && $this->mLanguage ) { $linkq .= '&uselang=' . $this->mLanguage; } - if ( !$this->mShowVForm ) { - $link = Html::element( 'a', array( 'href' => $titleObj->getLocalURL( $linkq ) ), - $this->msg( $linkmsg . 'link' )->text() ); # Calling either 'gotaccountlink' or 'nologinlink' - - $template->set( 'link', $this->msg( $linkmsg )->rawParams( $link )->parse() ); - - } else { - // Supply URL, login template creates the button. - // (The template 'link' key, passed above, is obsolete in the VForm design.) - $template->set( 'createOrLoginHref', $titleObj->getLocalURL( $linkq ) ); - } + // Supply URL, login template creates the button. + $template->set( 'createOrLoginHref', $titleObj->getLocalURL( $linkq ) ); } else { $template->set( 'link', '' ); } diff --git a/includes/templates/Usercreate.php b/includes/templates/Usercreate.php index 28b5d7927e..c066da95f8 100644 --- a/includes/templates/Usercreate.php +++ b/includes/templates/Usercreate.php @@ -1,6 +1,6 @@ data['extraInput'][] = array( 'name' => $name, @@ -44,254 +42,233 @@ class UsercreateTemplate extends QuickTemplate { } function execute() { - if ( $this->data['message'] ) { -?> -
-data['messagetype'] == 'error' ) { - ?>msg( 'loginerror' ); ?>
html( 'message' ); -?> -
-
- - -
msgWiki( 'signupstart' ); ?>
-
- -
-

msg( 'createaccount' ); ?>

- - html( 'header' ); /* pre-table point for form plugins... */ ?> - + haveData( 'languages' ) ) { - ?> + + +
+

msg( 'createacct-join' ); ?>

+ +
+ html( 'header' ); /* extensions such as ConfirmEdit add form HTML here */ ?> +
+ data['message'] ) { ?> - - - - - - - - - - - - - -data['usedomain'] ) { + + data['usedomain'] ) { $doms = ""; foreach ( $this->data['domainnames'] as $dom ) { $doms .= ""; } -?> - - - - - - - - - - -data['useemail'] ) { -?> - - -data['userealname'] ) { -?> - - - - -data['usereason'] ) { -?> - - - - - - -data['canremember'] ) { -?> - - - - - + data['email'], 'email', array( + 'class' => 'mw-input loginText', + 'id' => 'wpEmail', + 'tabindex' => '6', + 'size' => '20', + 'placeholder' => $this->getMsg( 'createacct-email-ph' )->text() + ) + ( $this->data['emailrequired'] ? array() : array( 'required' => '' ) ) ); + ?> + + + data['userealname'] ) { ?> +
+ + +
+ msgWiki( 'prefs-help-realname' ); ?> +
+
+ data['usereason'] ) { ?> +
+ + data['reason'], 'text', array( + 'class' => 'mw-input loginText', + 'id' => 'wpReason', + 'tabindex' => '8', + 'size' => '20', + 'placeholder' => $this->getMsg( 'createacct-reason-ph' )->text() + ) ); ?> +
+ data['extraInput'] ) && is_array( $this->data['extraInput'] ) ) { foreach ( $this->data['extraInput'] as $inputItem ) { ?> - - - - - + - - - - -
- data['name'], 'text', array( - 'class' => 'loginText', +
+ data['messagetype'] == 'error' ) { ?> + msg( 'createacct-error' ); ?>
+ + html( 'message' ); ?> +
+ +
+ + data['name'], 'text', array( + 'class' => 'mw-input loginText', 'id' => 'wpName2', 'tabindex' => '1', 'size' => '20', 'required', + 'placeholder' => $this->getMsg( 'userlogin-yourname-ph' )->text(), 'autofocus' ) ); ?> -
-data['createemail'] ) { - echo Xml::checkLabel( - wfMessage( 'createaccountmail' )->text(), - 'wpCreateaccountMail', - 'wpCreateaccountMail', - $this->data['createemailset'], - array( 'tabindex' => '2' ) - ); - } -?> -
- 'loginPassword', + +
+ data['createemail'] ) { ?> + + +
+
+ + 'mw-input loginPassword', 'id' => 'wpPassword2', 'tabindex' => '3', - 'size' => '20' + 'size' => '20', + 'required', + 'placeholder' => $this->getMsg( 'createacct-yourpassword-ph' )->text() ) + User::passwordChangeInputAttribs() ); ?> -
msg( 'yourdomainname' ); ?> + ?> +
+ +
-
- 'loginPassword', - 'id' => 'wpRetype', - 'tabindex' => '5', - 'size' => '20' - ) + User::passwordChangeInputAttribs() ); ?> -
- data['email'], 'email', array( - 'class' => 'loginText', - 'id' => 'wpEmail', - 'tabindex' => '6', - 'size' => '20' - ) ); ?> -
- data['emailrequired'] ) { - $this->msgWiki( 'prefs-help-email-required' ); - } else { - $this->msgWiki( 'prefs-help-email' ); - } - if ( $this->data['emailothers'] ) { - $this->msgWiki( 'prefs-help-email-others' ); - } ?> -
-
- -
- msgWiki( 'prefs-help-realname' ); ?> -
-
- -
+ + + +
+ + 'mw-input loginPassword', + 'id' => 'wpRetype', + 'tabindex' => '5', + 'size' => '20', + 'required', + 'placeholder' => $this->getMsg( 'createacct-yourpasswordagain-ph' )->text() + ) + User::passwordChangeInputAttribs() ); + ?> +
+
+ data['useemail'] ) { ?> +
- + + > + msg( $inputItem['msg'] ); ?> + + " id="" + // Not a checkbox. + // TODO (bug 31909) support other input types, e.g. select boxes. + if ( !empty( $inputItem['msg'] ) ) { + // Output the message label + ?> + /> - + + -
- msgWiki( $inputItem['helptext'] ); ?> -
+ msgWiki( $inputItem['helptext'] ); ?> + + -
- -
-haveData( 'uselang' ) ) { - ?>haveData( 'token' ) ) { - ?> + // JS attempts to move the image CAPTCHA below this part of the form, + // so skip one index. + $tabIndex++; + ?> +
+ +
+haveData( 'uselang' ) ) { ?> +haveData( 'token' ) ) { ?>
-
html( 'signupend' ); ?>
+
+

msg( 'createacct-benefit-heading' ); ?>

+
+ data['benefitCount']; $benefitIdx++ ) { + // Pass each benefit's head text (by default a number) as a parameter to the body's message for PLURAL handling. + $headUnescaped = $this->getMsg( "createacct-benefit-head$benefitIdx" )->text(); + ?> +
"> +

msg( "createacct-benefit-head$benefitIdx" ); ?>

+

getMsg( "createacct-benefit-body$benefitIdx" )->params( $headUnescaped )->escaped(); ?>

+
+ +
+
+
data['extraInput'][] = array( - 'name' => $name, - 'value' => $value, - 'type' => $type, - 'msg' => $msg, - 'helptext' => $helptext, - ); - } - - function execute() { - global $wgCookieExpiration; - $expirationDays = ceil( $wgCookieExpiration / ( 3600 * 24 ) ); -?> -
- haveData( 'languages' ) ) { - ?> - - -
-

msg( 'createacct-join' ); ?>

-
-
- html( 'header' ); /* extensions such as ConfirmEdit add form HTML here */ ?> -
- data['message'] ) { -?> -
- data['messagetype'] == 'error' ) { ?> - msg( 'createacct-error' ); ?>
- - html( 'message' ); ?> -
- -
- - data['name'], 'text', array( - 'class' => 'mw-input loginText', - 'id' => 'wpName2', - 'tabindex' => '1', - 'size' => '20', - 'required', - 'placeholder' => $this->getMsg( 'userlogin-yourname-ph' )->text(), - 'autofocus' - ) ); ?> -
-
- data['createemail'] ) { ?> - - -
-
- - 'mw-input loginPassword', - 'id' => 'wpPassword2', - 'tabindex' => '3', - 'size' => '20', - 'required', - 'placeholder' => $this->getMsg( 'createacct-yourpassword-ph' )->text() - ) + User::passwordChangeInputAttribs() ); ?> -
- data['usedomain'] ) { - $doms = ""; - foreach ( $this->data['domainnames'] as $dom ) { - $doms .= ""; - } - ?> -
- -
- -
-
- -
- - 'mw-input loginPassword', - 'id' => 'wpRetype', - 'tabindex' => '5', - 'size' => '20', - 'required', - 'placeholder' => $this->getMsg( 'createacct-yourpasswordagain-ph' )->text() - ) + User::passwordChangeInputAttribs() ); - ?> -
-
- data['useemail'] ) { ?> - - data['email'], 'email', array( - 'class' => 'mw-input loginText', - 'id' => 'wpEmail', - 'tabindex' => '6', - 'size' => '20', - 'placeholder' => $this->getMsg( 'createacct-email-ph' )->text() - ) + ( $this->data['emailrequired'] ? array() : array( 'required' => '' ) ) ); - ?> - - -
- data['userealname'] ) { ?> -
- - -
- msgWiki( 'prefs-help-realname' ); ?> -
-
- data['usereason'] ) { ?> -
- - data['reason'], 'text', array( - 'class' => 'mw-input loginText', - 'id' => 'wpReason', - 'tabindex' => '8', - 'size' => '20', - 'placeholder' => $this->getMsg( 'createacct-reason-ph' )->text() - ) ); ?> -
- data['extraInput'] ) && is_array( $this->data['extraInput'] ) ) { - foreach ( $this->data['extraInput'] as $inputItem ) { ?> -
- - - - - - - -
- msgWiki( $inputItem['helptext'] ); ?> -
- -
- -
- -
- -haveData( 'uselang' ) ) { ?> -haveData( 'token' ) ) { ?> -
-
-
-

msg( 'createacct-benefit-heading' ); ?>

-
- data['benefitCount']; $benefitIdx++ ) { - // Pass each benefit's head text (by default a number) as a parameter to the body's message for PLURAL handling. - $headUnescaped = $this->getMsg( "createacct-benefit-head$benefitIdx" )->text(); - ?> -
"> -

msg( "createacct-benefit-head$benefitIdx" ); ?>

-

getMsg( "createacct-benefit-body$benefitIdx" )->params( $headUnescaped )->escaped(); ?>

-
- -
-
-
-data['message'] ) { + global $wgCookieExpiration; + $expirationDays = ceil( $wgCookieExpiration / ( 3600 * 24 ) ); ?> -
+
+ haveData( 'languages' ) ) { + ?> + + +
+
+
+ html( 'header' ); /* extensions such as ConfirmEdit add form HTML here */ ?> +
+ data['message'] ) { + ?> +
data['messagetype'] == 'error' ) { - ?>msg( 'loginerror' ); ?>
- html( 'message' ); ?> -
-
-
msgWiki( 'loginstart' ); ?>
-
- -

msg( 'login' ); ?>

- - html( 'header' ); /* pre-table point for form plugins... */ ?> -
msgWiki( 'loginprompt' ); ?>
-haveData( 'languages' ) ) { - ?>msg( 'loginerror' ) ?>
+ - - - - - - - - - -data['usedomain'] ) && $this->data['usedomain'] ) { + 'size' => '20', + 'placeholder' => $this->getMsg( 'userlogin-yourpassword-ph' )->text() + ) + $extraAttrs ); + ?> + + data['usedomain'] ) && $this->data['usedomain'] ) { $doms = ""; foreach ( $this->data['domainnames'] as $dom ) { $doms .= ""; } -?> - - - - - + haveData( 'extrafields' ) ) { - echo $this->data['extrafields']; - } + if ( $this->haveData( 'extrafields' ) ) { + echo $this->data['extrafields']; + } ?> - if ( $this->data['canremember'] ) { -?> - - - - - - if ( $this->data['cansecurelogin'] ) { -?> - - - - - - - - - -
+ $this->html( 'message' ); + ?> + + +
+ + data['name'] ) { + $extraAttrs['autofocus'] = ''; + } echo Html::input( 'wpName', $this->data['name'], 'text', array( 'class' => 'loginText', 'id' => 'wpName1', 'tabindex' => '1', 'size' => '20', - 'required' - # Can't do + array( 'autofocus' ) because + for arrays in PHP - # only works right for associative arrays! Thanks, PHP. - ) + ( $this->data['name'] ? array() : array( 'autofocus' => '' ) ) ); ?> + // 'required' is blacklisted for now in Html.php due to browser issues. + // Keeping here in case that changes + 'required', + 'placeholder' => $this->getMsg( 'userlogin-yourname-ph' )->text() + ) + $extraAttrs ); + ?> +
+
+
- data['useemail'] && $this->data['canreset'] && $this->data['resetlink'] === true ) { + echo Linker::link( + SpecialPage::getTitleFor( 'PasswordReset' ), + $this->getMsg( 'userlogin-resetpassword-link' )->parse(), + array( 'class' => 'mw-ui-flush-right' ) + ); + } + ?> + + data['name'] ) { + $extraAttrs['autofocus'] = ''; + } echo Html::input( 'wpPassword', null, 'password', array( 'class' => 'loginPassword', 'id' => 'wpPassword1', 'tabindex' => '2', - 'size' => '20' - ) + ( $this->data['name'] ? array( 'autofocus' ) : array() ) ); ?> - -
msg( 'yourdomainname' ) ?> - -
- numParams( $expirationDays )->text(), - 'wpRemember', - 'wpRemember', - $this->data['remember'], - array( 'tabindex' => '8' ) - ) - ?> -
- text(), - 'wpStickHTTPS', - 'wpStickHTTPS', - $this->data['stickHTTPS'], - array( 'tabindex' => '9' ) - ); -?> -
+ data['canremember'] ) { ?> + + + + + data['cansecurelogin'] ) { ?> +
+ +
+ +
text(), 'submit', array( + echo Html::input( 'wpLoginAttempt', $this->getMsg( 'login' )->text(), 'submit', array( 'id' => 'wpLoginAttempt', - 'tabindex' => '9' + 'tabindex' => '6', + 'class' => 'mw-ui-button mw-ui-big mw-ui-block mw-ui-primary' ) ); - if ( $this->data['useemail'] && $this->data['canreset'] ) { - if ( $this->data['resetlink'] === true ) { - echo ' '; - echo Linker::link( - SpecialPage::getTitleFor( 'PasswordReset' ), - wfMessage( 'userlogin-resetlink' ) - ); - } elseif ( $this->data['resetlink'] === null ) { - echo ' '; - echo Html::input( - 'wpMailmypassword', - wfMessage( 'mailmypassword' )->text(), - 'submit', array( - 'id' => 'wpMailmypassword', - 'tabindex' => '10' - ) - ); - } - } -?> -
-haveData( 'uselang' ) ) { - ?>haveData( 'token' ) ) { - ?> + ?> +
+
+ getMsg( 'userlogin-helplink' )->parse(); ?> +
+ haveData( 'createOrLoginHref' ) ) { ?> +
+ +
+ +haveData( 'uselang' ) ) { ?> +haveData( 'token' ) ) { ?>
-
html( 'loginend' ); ?>
+
-
- haveData( 'languages' ) ) { - ?> - - -
-
-
- html( 'header' ); /* extensions such as ConfirmEdit add form HTML here */ ?> -
- data['message'] ) { - ?> -
- data['messagetype'] == 'error' ) { - ?> - msg( 'loginerror' ) ?>
- html( 'message' ); - ?> -
- -
- - data['name'] ) { - $extraAttrs['autofocus'] = ''; - } - echo Html::input( 'wpName', $this->data['name'], 'text', array( - 'class' => 'loginText', - 'id' => 'wpName1', - 'tabindex' => '1', - 'size' => '20', - // 'required' is blacklisted for now in Html.php due to browser issues. - // Keeping here in case that changes - 'required', - 'placeholder' => $this->getMsg( 'userlogin-yourname-ph' )->text() - ) + $extraAttrs ); - ?> -
-
- - data['name'] ) { - $extraAttrs['autofocus'] = ''; - } - echo Html::input( 'wpPassword', null, 'password', array( - 'class' => 'loginPassword', - 'id' => 'wpPassword1', - 'tabindex' => '2', - 'size' => '20', - 'placeholder' => $this->getMsg( 'userlogin-yourpassword-ph' )->text() - ) + $extraAttrs ); - ?> -
- data['usedomain'] ) && $this->data['usedomain'] ) { - $doms = ""; - foreach ( $this->data['domainnames'] as $dom ) { - $doms .= ""; - } - ?> -
- - -
- haveData( 'extrafields' ) ) { - echo $this->data['extrafields']; - } ?> - -
- - data['canremember'] ) { ?> - - -
- - data['cansecurelogin'] ) { ?> -
- -
- -
- getMsg( 'login' )->text(), 'submit', array( - 'id' => 'wpLoginAttempt', - 'tabindex' => '6', - 'class' => 'mw-ui-button mw-ui-big mw-ui-block mw-ui-primary' - ) ); - ?> -
-
- getMsg( 'userlogin-helplink' )->parse(); ?> -
- haveData( 'createOrLoginHref' ) ) { ?> -
- -
- - -haveData( 'uselang' ) ) { ?> -haveData( 'token' ) ) { ?> -
-
-
- 'Welcome, $1!', 'welcomecreation-msg' => 'Your account has been created. Do not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].', -'yourname' => 'Username:', 'userlogin-yourname' => 'Username', 'userlogin-yourname-ph' => 'Enter your username', 'createacct-helpusername' => '', # do not translate or duplicate this message to other languages @@ -1104,7 +1103,6 @@ Do not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].', 'userlogin-yourpassword' => 'Password', 'userlogin-yourpassword-ph' => 'Enter your password', 'createacct-yourpassword-ph' => 'Enter a password', -'yourpasswordagain' => 'Retype password:', 'createacct-yourpasswordagain' => 'Confirm password', 'createacct-yourpasswordagain-ph' => 'Enter password again', 'remembermypassword' => 'Remember my login on this browser (for a maximum of $1 {{PLURAL:$1|day|days}})', @@ -1117,20 +1115,13 @@ Do not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].', 'login' => 'Log in', 'nav-login-createaccount' => 'Log in / create account', 'loginprompt' => 'You must have cookies enabled to log in to {{SITENAME}}.', -'userlogin' => 'Log in / create account', -'userloginnocreate' => 'Log in', 'logout' => 'Log out', 'userlogout' => 'Log out', 'userlogout-summary' => '', # do not translate or duplicate this message to other languages 'notloggedin' => 'Not logged in', 'userlogin-noaccount' => "Don't have an account?", 'userlogin-joinproject' => 'Join {{SITENAME}}', -'nologin' => "Don't have an account? $1.", -'nologinlink' => 'Create an account', 'createaccount' => 'Create account', -'gotaccount' => 'Already have an account? $1.', -'gotaccountlink' => 'Log in', -'userlogin-resetlink' => 'Forgotten your login details?', 'userlogin-resetpassword-link' => 'Reset your password', 'helplogin-url' => 'Help:Logging in', 'userlogin-helplink' => '[[{{MediaWiki:helplogin-url}}|Help with logging in]]', @@ -1140,7 +1131,6 @@ Do not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].', 'createacct-email-ph' => 'Enter your email address', 'createaccountmail' => 'Use a temporary random password and send it to the email address specified below', 'createacct-realname' => 'Real name (optional)', -'createaccountreason' => 'Reason:', 'createacct-reason' => 'Reason', 'createacct-reason-ph' => 'Why you are creating another account', 'createacct-captcha' => 'Security check', diff --git a/languages/messages/MessagesQqq.php b/languages/messages/MessagesQqq.php index 03039bbfa4..d98790a7ee 100644 --- a/languages/messages/MessagesQqq.php +++ b/languages/messages/MessagesQqq.php @@ -1057,48 +1057,45 @@ Parameters: * $1 - an URL to [[Special:Userlogin]] containing returnto and returntoquery parameters', 'welcomeuser' => 'Text for a welcome heading that users see after registering a user account. $1 is the username of the new user. See [[bugzilla:42215]]', 'welcomecreation-msg' => 'A welcome message users see after registering a user account, following a welcomeuser heading. $1 is the username of the new user. Replaces welcomecreation in 1.21wmf5,see [[bugzilla:42215]]', -'yourname' => "{{doc-important|{{[[Gender|GENDER]]}} is '''NOT''' supported.}} -In user preferences. -{{Identical|Username}}", -'userlogin-yourname' => 'In new vertical user login & create account forms, label for username field. +'userlogin-yourname' => "In user login & create account forms, label for username field. +{{doc-important|{{[[Gender|GENDER]]}} is '''NOT''' supported.}} -See examples: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1] and [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1] -{{Identical|Username}}', -'userlogin-yourname-ph' => 'Placeholder text in new userlogin/create account form field. +See examples: [{{canonicalurl:Special:UserLogin}} Special:UserLogin] and [{{canonicalurl:Special:UserLogin}} Special:UserLogin] +{{Identical|Username}}", +'userlogin-yourname-ph' => 'Placeholder text in login & create account form field. -See example: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1] and [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]', +See example: [{{canonicalurl:Special:UserLogin}} Special:UserLogin] and [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]', 'yourpassword' => 'In user preferences {{Identical|Password}}', -'userlogin-yourpassword' => 'In new vertical user login & create account forms, label for password field. +'userlogin-yourpassword' => 'In login & create account forms, label for password field. -See examples: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1] and [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1] +See examples: [{{canonicalurl:Special:UserLogin}} Special:UserLogin] and [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup] {{Identical|Password}}', -'userlogin-yourpassword-ph' => 'Placeholder text in new userlogin form for password field. +'userlogin-yourpassword-ph' => 'Placeholder text in login form for password field. -See examples: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1] and [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1] +See examples: [{{canonicalurl:Special:UserLogin}} Special:UserLogin] and [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup] {{Identical|Enter password}}', -'createacct-yourpassword-ph' => 'Placeholder text in new create account form for password field. +'createacct-yourpassword-ph' => 'Placeholder text in create account form for password field. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1] +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup] {{Identical|Enter password}}', -'yourpasswordagain' => 'In user preferences', -'createacct-yourpasswordagain' => 'In new create account form, label for field to re-enter password +'createacct-yourpasswordagain' => 'In create account form, label for field to re-enter password -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1] +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup] {{Identical|Confirm password}}', -'createacct-yourpasswordagain-ph' => 'Placeholder text in new create account form for re-enter password field. +'createacct-yourpasswordagain-ph' => 'Placeholder text in create account form for re-enter password field. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]', +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]', 'remembermypassword' => 'A check box in [[Special:UserLogin]] {{Identical|Remember my login on this computer}}', 'userlogin-remembermypassword' => 'The text for a check box in the new-style [[Special:UserLogin]]. -See example: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1]', +See example: [{{canonicalurl:Special:UserLogin}} Special:UserLogin]', 'userlogin-signwithsecure' => 'Text of link to HTTPS login form. -See example: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1]', +See example: [{{canonicalurl:Special:UserLogin}} Special:UserLogin]', 'securelogin-stick-https' => 'Used as label for checkbox.', 'yourdomainname' => 'Used as label for listbox.', 'password-change-forbidden' => 'Error message shown when an external authentication source does not allow the password to be changed.', @@ -1113,11 +1110,6 @@ See also: 'nav-login-createaccount' => "Shown to anonymous users in the upper right corner of the page. When you can't create an account, the message {{msg-mw|login}} is shown. {{Identical|Log in / create account}}", 'loginprompt' => 'A small notice in the log in form.', -'userlogin' => 'Name of special page [[Special:UserLogin]] where a user can log in or click to create a user account. -{{Identical|Log in / create account}}', -'userloginnocreate' => 'A variant of {{msg-mw|Userlogin}} when the user is not allowed to create a new account. - -{{Identical|Log in}}', 'logout' => 'Used as link text in your personal toolbox (upper right side). See also: @@ -1131,33 +1123,23 @@ See also: 'notloggedin' => 'This message is displayed in the standard skin when not logged in. The message is placed above the login link in the top right corner of pages. {{Identical|Not logged in}}', -'userlogin-noaccount' => 'In the new-style [[Special:Userlogin]] form, this is the text prior to button inviting user to join project. +'userlogin-noaccount' => 'In the [[Special:Userlogin]] form, this is the text prior to button inviting user to join project. -See example: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1] +See example: [{{canonicalurl:Special:UserLogin}} Special:UserLogin] {{Identical|Do not have an account}}', 'userlogin-joinproject' => 'Text of button inviting user to create an account. -See example: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1]', -'nologin' => 'A message shown in the log in form. Parameters: -* $1 - a link to the account creation form, and the text of it is {{msg-mw|Nologinlink}} -{{Identical|Do not have an account}}', -'nologinlink' => 'Text of the link to the account creation form. Before that link, the message {{msg-mw|Nologin}} appears. -{{Identical|Create an account}}', +See example: [{{canonicalurl:Special:UserLogin}} Special:UserLogin]', 'createaccount' => 'Used on the top of the page for logged out users, where it appears next to {{msg-mw|login}}, so consider making them similar. It is also used on the submit button in the form/special page where you register a new account. {{doc-special|CreateAccount}} {{Identical|Create account}}', -'gotaccount' => 'A message shown in the account creation form. -* $1 - a link to the log in form, and the text of it is {{msg-mw|Gotaccountlink}}', -'gotaccountlink' => 'Text of the link to the log in form. Before that link, the message {{msg-mw|Gotaccount}} appears. -{{Identical|Log in}}', -'userlogin-resetlink' => 'Used on the login page.', -'userlogin-resetpassword-link' => 'Used as link text on new vertical-layout create account form. +'userlogin-resetpassword-link' => 'Used as link text on login form. The link points to the local [[Special:PasswordReset]]. -See example: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1] +See example: [{{canonicalurl:Special:UserLogin}} Special:UserLogin] userlogin-resetpassword-link may have to be shorter than the old {{msg-mw|userlogin-resetlink}}', 'helplogin-url' => '{{doc-important|Do not translate the namespace name Help.}} @@ -1167,13 +1149,13 @@ Used as a link target in the message {{msg-mw|Userlogin-helplink}}.', 'userlogin-helplink' => '{{doc-important|Do not change {{MediaWiki:helplogin-url}}.}} Wikitext linking to login help. -See example: [{{canonicalurl:Special:UserLogin|useNew=1}} Special:UserLogin?useNew=1] +See example: [{{canonicalurl:Special:UserLogin}} Special:UserLogin] See also: * {{msg-mw|Helplogin-url}}', 'createacct-join' => 'Subheading of vertical-layout create account form encouraging user to join the wiki. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]', +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]', 'createacct-emailrequired' => 'Label in vertical-layout create account form for email field when it is required. See also: @@ -1181,50 +1163,49 @@ See also: {{Identical|E-mail address}}', 'createacct-emailoptional' => 'Label in vertical-layout create account form for email field when it is optional. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1] +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup] See also: * {{msg-mw|Createacct-emailrequired}}', 'createacct-email-ph' => 'Placeholder in vertical-layout create account form for email field. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]', +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]', 'createaccountmail' => 'Used as label for the checkbox for creating a new account and sending the new password to the specified e-mail address directly, as used on [[Special:UserLogin/signup]] if creating accounts by e-mail is allowed. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]', +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]', 'createacct-realname' => 'In vertical-layout create account form, label for field to enter optional real name.', -'createaccountreason' => '{{Identical|Reason}}', -'createacct-reason' => 'In vertical-layout create account form, label for field to enter reason to create an account when already logged-in. +'createacct-reason' => 'In create account form, label for field to enter reason to create an account when already logged-in. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1] +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup] {{Identical|Reason}}', 'createacct-reason-ph' => 'Placeholder in vertical-layout create account form for reason field. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]', +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]', 'createacct-captcha' => 'Label in vertical-layout create account form for CAPTCHA input field when repositioned by JavaScript.', 'createacct-imgcaptcha-ph' => 'Placehodler text in vertical-layout create account form for image CAPTCHA input field when repositioned by JavaScript.', 'createacct-submit' => 'Submit button on vertical-layout create account form. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]', +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]', 'createacct-benefit-heading' => 'In vertical-layout create account form, the heading for the section describing the benefits of creating an account. -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]', +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]', 'createacct-benefit-body1' => 'In vertical-layout create account form, the text for the first benefit. Preceded by the message {{msg-mw|Createacct-benefit-head1}} (number of edits). -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1] +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup] {{Identical|Edit}}', 'createacct-benefit-body2' => 'In vertical-layout create account form, the text for the second benefit. Preceded by the message {{msg-mw|Createacct-benefit-head2}} (number of pages). -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1] +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup] {{Identical|Page}}', 'createacct-benefit-body3' => 'In vertical-layout create account form, the text for the third benefit. Preceded by the message {{msg-mw|Createacct-benefit-head3}} (number of contributors). -See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]', +See example: [{{canonicalurl:Special:UserLogin|type=signup}} Special:UserLogin?type=signup]', 'badretype' => 'Used as error message when the new password and its retype do not match.', 'userexists' => 'Used as error message in creating a user account.', 'loginerror' => 'Used as title of error message. @@ -1263,7 +1244,7 @@ Parameters: $1 is the minimum number of characters in the password.', 'password-name-match' => 'Used as error message when password validity check failed.', 'password-login-forbidden' => 'Error message shown when the user has tried to log in using one of the special username/password combinations used for MediaWiki testing. (See [[mwr:75589]], [[mwr:75605]].)', -'mailmypassword' => 'Shown at [[Special:UserLogin]]', +'mailmypassword' => 'Heading in [[Special:PasswordReset]]', 'passwordremindertitle' => 'Title of e-mail which contains temporary password', 'passwordremindertext' => 'This text is used in an e-mail sent when a user requests a new temporary password (he has forgotten his password) or when an sysop creates a new user account choosing to have password and username sent to the new user by e-mail. * $1 is an IP address. Example: 123.123.123.123 diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index ee52a3fde4..bb3fd285ae 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -443,7 +443,6 @@ $wgMessageStructure = array( 'logouttext', 'welcomeuser', 'welcomecreation-msg', - 'yourname', 'userlogin-yourname', 'userlogin-yourname-ph', 'createacct-helpusername', @@ -451,7 +450,6 @@ $wgMessageStructure = array( 'userlogin-yourpassword', 'userlogin-yourpassword-ph', 'createacct-yourpassword-ph', - 'yourpasswordagain', 'createacct-yourpasswordagain', 'createacct-yourpasswordagain-ph', 'remembermypassword', @@ -464,20 +462,13 @@ $wgMessageStructure = array( 'login', 'nav-login-createaccount', 'loginprompt', - 'userlogin', - 'userloginnocreate', 'logout', 'userlogout', 'userlogout-summary', 'notloggedin', 'userlogin-noaccount', 'userlogin-joinproject', - 'nologin', - 'nologinlink', 'createaccount', - 'gotaccount', - 'gotaccountlink', - 'userlogin-resetlink', 'userlogin-resetpassword-link', 'helplogin-url', 'userlogin-helplink', @@ -487,7 +478,6 @@ $wgMessageStructure = array( 'createacct-email-ph', 'createaccountmail', 'createacct-realname', - 'createaccountreason', 'createacct-reason', 'createacct-reason-ph', 'createacct-captcha', diff --git a/resources/Resources.php b/resources/Resources.php index 90c6c95fba..bb74095bb4 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -953,25 +953,21 @@ return array( ), 'dependencies' => array( 'mediawiki.libs.jpegmeta', 'mediawiki.util' ), ), - 'mediawiki.special.userlogin.signup' => array( - 'scripts' => 'resources/mediawiki.special/mediawiki.special.userLogin.signup.js', - ), - 'mediawiki.special.userlogin.vform' => array( + 'mediawiki.special.userlogin' => array( 'styles' => array( 'resources/mediawiki.special/mediawiki.special.vforms.css', - 'resources/mediawiki.special/mediawiki.special.userLogin.vform.css', + 'resources/mediawiki.special/mediawiki.special.userLogin.css', ), 'position' => 'top', ), - 'mediawiki.special.createaccount.vform' => array( + 'mediawiki.special.createaccount' => array( 'styles' => array( 'resources/mediawiki.special/mediawiki.special.vforms.css', - 'resources/mediawiki.special/mediawiki.special.createAccount.vform.css', + 'resources/mediawiki.special/mediawiki.special.createAccount.css', ), - 'position' => 'top', ), - 'mediawiki.special.createaccount.vform.js' => array( - 'scripts' => 'resources/mediawiki.special/mediawiki.special.createAccount.vform.js', + 'mediawiki.special.createaccount.js' => array( + 'scripts' => 'resources/mediawiki.special/mediawiki.special.createAccount.js', 'messages' => array( 'createacct-captcha', 'createacct-imgcaptcha-ph' diff --git a/resources/mediawiki.special/mediawiki.special.createAccount.vform.css b/resources/mediawiki.special/mediawiki.special.createAccount.css similarity index 100% rename from resources/mediawiki.special/mediawiki.special.createAccount.vform.css rename to resources/mediawiki.special/mediawiki.special.createAccount.css diff --git a/resources/mediawiki.special/mediawiki.special.createAccount.vform.js b/resources/mediawiki.special/mediawiki.special.createAccount.js similarity index 81% rename from resources/mediawiki.special/mediawiki.special.createAccount.vform.js rename to resources/mediawiki.special/mediawiki.special.createAccount.js index 0cbf31bc77..aa61a1eca2 100644 --- a/resources/mediawiki.special/mediawiki.special.createAccount.vform.js +++ b/resources/mediawiki.special/mediawiki.special.createAccount.js @@ -3,7 +3,19 @@ */ ( function ( mw, $ ) { - $( document ).ready( function( $ ) { + // When sending password by email, hide the password input fields. + // This function doesn't need to be loaded early by ResourceLoader, but is tiny. + function hidePasswordOnEmail( $ ) { + $( '#wpCreateaccountMail' ) + .on( 'change', function() { + $( '.mw-row-password' ).toggle( !$( this ).attr( 'checked' ) ); + } ) + .trigger( 'change' ); + } + + // Move the FancyCaptcha image into a more attractive container. + // This function does need to be run early by ResourceLoader. + function adjustFancyCaptcha( $, mw ) { var $content = $( '#mw-content-text' ), $submit = $content.find( '#wpCreateaccount' ), tabIndex, @@ -71,7 +83,11 @@ .val( $captchaStuff.find( '#wpCaptchaWord' ).val() ) .after( $captchaStuff.find( '#wpCaptchaId' ) ); } + } + $( document ).ready( function( $ ) { + adjustFancyCaptcha( $, mw); + hidePasswordOnEmail( $ ); } ); }( mediaWiki, jQuery ) ); diff --git a/resources/mediawiki.special/mediawiki.special.userLogin.vform.css b/resources/mediawiki.special/mediawiki.special.userLogin.css similarity index 100% rename from resources/mediawiki.special/mediawiki.special.userLogin.vform.css rename to resources/mediawiki.special/mediawiki.special.userLogin.css diff --git a/resources/mediawiki.special/mediawiki.special.userLogin.signup.js b/resources/mediawiki.special/mediawiki.special.userLogin.signup.js deleted file mode 100644 index bba426051e..0000000000 --- a/resources/mediawiki.special/mediawiki.special.userLogin.signup.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * JavaScript for Special:UserLogin/signup - */ -jQuery( document ).ready( function ( $ ) { - $( '#wpCreateaccountMail' ) - .on( 'change', function() { - $( '.mw-row-password' ).toggle( !$( this ).attr( 'checked' ) ); - } ) - .trigger( 'change' ); -} ); -- 2.20.1