function execute( $par ) {
$out = $this->getOutput();
$out->disallowUserJs();
- $out->addModules( 'mediawiki.special.changeemail' );
parent::execute( $par );
}
"prefs-help-prefershttps": "This preference will take effect on your next login.",
"prefswarning-warning": "You've made changes to your preferences that have not been saved yet.\nIf you leave this page without clicking \"$1\" your preferences will not be updated.",
"prefs-tabs-navigation-hint": "Tip: You can use the left and right arrow keys to navigate between the tabs in the tabs list.",
- "email-address-validity-valid": "Email address appears valid",
- "email-address-validity-invalid": "Enter a valid email address",
"userrights": "User rights management",
"userrights-summary": "",
"userrights-lookup-user": "Manage user groups",
"prefs-help-prefershttps": "Used as help text for the checkbox in [[Special:Preferences]].\n\nThe checkbox has the label {{msg-mw|Tog-prefershttps}}.\n\nSee example: [[mw:Special:Preferences]].",
"prefswarning-warning": "Warning shown (except in Firefox) when attempting to leave [[Special:Preferences]] with unsaved changes.\n\nParameters:\n* $1 - Text of {{msg-mw|saveprefs}}, as <nowiki>{{int:saveprefs}}</nowiki> cannot be used directly.",
"prefs-tabs-navigation-hint": "Hint message that explains the arrow key navigation for the tabs on [[Special:Preferences]] to screenreader users.",
- "email-address-validity-valid": "Used as hint for {{msg-mw|changeemail-newemail}} field in [[Special:ChangeEmail]], when the provided E-mail address is valid.",
- "email-address-validity-invalid": "Used as warning for {{msg-mw|changeemail-newemail}} field in [[Special:ChangeEmail]], when the provided E-mail address is invalid.",
"userrights": "Page title of [[Special:UserRights]].",
"userrights-summary": "{{doc-specialpagesummary|userrights}}",
"userrights-lookup-user": "Label text when managing user rights ([[Special:UserRights]])",
'styles' => 'resources/src/mediawiki.special/mediawiki.special.block.css',
'dependencies' => 'mediawiki.util',
),
- 'mediawiki.special.changeemail' => array(
- 'scripts' => 'resources/src/mediawiki.special/mediawiki.special.changeemail.js',
- 'styles' => 'resources/src/mediawiki.special/mediawiki.special.changeemail.css',
- 'dependencies' => 'mediawiki.util',
- 'messages' => array(
- 'email-address-validity-valid',
- 'email-address-validity-invalid',
- ),
- ),
'mediawiki.special.changeslist' => array(
'position' => 'top',
'styles' => 'resources/src/mediawiki.special/mediawiki.special.changeslist.css',
+++ /dev/null
-#mw-emailaddress-validity {
- padding: 2px 1em;
-}
-#mw-emailaddress-validity {
- border-bottom-right-radius: 0.8em;
- border-top-right-radius: 0.8em;
-}
-
-/* Colors also used in mediawiki.special.preferences.css */
-#mw-emailaddress-validity.valid {
- border: 1px solid #80FF80;
- background-color: #C0FFC0;
- color: black;
-}
-#mw-emailaddress-validity.invalid {
- border: 1px solid #FF8080;
- background-color: #FFC0C0;
- color: black;
-}
+++ /dev/null
-/*!
- * JavaScript for Special:ChangeEmail
- */
-( function ( mw, $ ) {
- /**
- * Given an email validity status (true, false, null) update the label CSS class
- *
- * @ignore
- */
- function updateMailValidityLabel( mail ) {
- var isValid = mw.util.validateEmail( mail ),
- $label = $( '#mw-emailaddress-validity' );
-
- // Set up the validity notice if it doesn't already exist
- if ( $label.length === 0 ) {
- $label = $( '<label for="wpNewEmail" id="mw-emailaddress-validity"></label>' )
- .insertAfter( '#wpNewEmail' );
- }
-
- // We allow empty address
- if ( isValid === null ) {
- $label.text( '' ).removeClass( 'valid invalid' );
-
- // Valid
- } else if ( isValid ) {
- $label.text( mw.msg( 'email-address-validity-valid' ) ).addClass( 'valid' ).removeClass( 'invalid' );
-
- // Not valid
- } else {
- $label.text( mw.msg( 'email-address-validity-invalid' ) ).addClass( 'invalid' ).removeClass( 'valid' );
- }
- }
-
- $( function () {
- $( '#wpNewEmail' )
- // Lame tip to let user know if its email is valid. See bug 22449.
- // Only bind once for 'blur' so that the user can fill it in without errors;
- // after that, look at every keypress for immediate feedback.
- .one( 'blur', function () {
- var $this = $( this );
- updateMailValidityLabel( $this.val() );
- $this.keyup( function () {
- updateMailValidityLabel( $this.val() );
- } );
- } )
- // Supress built-in validation notice and just call updateMailValidityLabel(),
- // to avoid double notice. See bug 40909.
- .on( 'invalid', function ( e ) {
- e.preventDefault();
- updateMailValidityLabel( $( this ).val() );
- } );
- } );
-}( mediaWiki, jQuery ) );