Also merge the different LTR/RTL styles, it is flipped anyway.
$out = $this->getOutput();
$out->disallowUserJs();
+ $out->addModules( 'mediawiki.special.changeemail' );
$this->mPassword = $request->getVal( 'wpPassword' );
$this->mNewEmail = $request->getVal( 'wpNewEmail' );
'mediawiki.special.block' => array(
'scripts' => 'resources/mediawiki.special/mediawiki.special.block.js',
),
+ 'mediawiki.special.changeemail' => array(
+ 'scripts' => 'resources/mediawiki.special/mediawiki.special.changeemail.js',
+ 'styles' => 'resources/mediawiki.special/mediawiki.special.changeemail.css',
+ 'messages' => array( 'email-address-validity-valid', 'email-address-validity-invalid' ),
+ ),
'mediawiki.special.changeslist' => array(
'styles' => 'resources/mediawiki.special/mediawiki.special.changeslist.css',
'dependencies' => array( 'jquery.makeCollapsible' ),
),
'mediawiki.special.preferences' => array(
'scripts' => 'resources/mediawiki.special/mediawiki.special.preferences.js',
- 'styles' => 'resources/mediawiki.special/mediawiki.special.preferences.css',
- 'messages' => array( 'email-address-validity-valid', 'email-address-validity-invalid' ),
),
'mediawiki.special.recentchanges' => array(
'scripts' => 'resources/mediawiki.special/mediawiki.special.recentchanges.js',
--- /dev/null
+#mw-emailaddress-validity {
+ padding: 2px 1em;
+}
+#mw-emailaddress-validity {
+ border-bottom-right-radius: 0.8em;
+ border-top-right-radius: 0.8em;
+}
+#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
+ */
+var updateMailValidityLabel = function( mail ) {
+ var isValid = mw.util.validateEmail( mail ),
+ $label = $( '#mw-emailaddress-validity' );
+
+ // 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' );
+ }
+};
+
+// 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 direct feedback if it was invalid onblur
+$( '#wpNewEmail' ).one( 'blur', function() {
+ if ( $( '#mw-emailaddress-validity' ).length === 0 ) {
+ $(this).after( '<label for="wpNewEmail" id="mw-emailaddress-validity"></label>' );
+ }
+ updateMailValidityLabel( $(this).val() );
+ $(this).keyup( function() {
+ updateMailValidityLabel( $(this).val() );
+ } );
+} );
+} )( jQuery, mediaWiki );
\ No newline at end of file
+++ /dev/null
-#mw-emailaddress-validity {
- padding: 2px 1em;
-}
-body.ltr #mw-emailaddress-validity {
- border-bottom-right-radius: 0.8em;
- border-top-right-radius: 0.8em;
-}
-body.rtl #mw-emailaddress-validity {
- border-bottom-left-radius: 0.8em;
- border-top-left-radius: 0.8em;
-}
-#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;
-}
}
} );
-/**
- * Given an email validity status (true, false, null) update the label CSS class
- */
-var updateMailValidityLabel = function( mail ) {
- var isValid = mw.util.validateEmail( mail ),
- $label = $( '#mw-emailaddress-validity' );
-
- // 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' );
- }
-};
-
-// 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 direct feedback if it was invalid onblur
-$( '#mw-input-wpemailaddress' ).one( 'blur', function() {
- if ( $( '#mw-emailaddress-validity' ).length === 0 ) {
- $(this).after( '<label for="mw-input-wpemailaddress" id="mw-emailaddress-validity"></label>' );
- }
- updateMailValidityLabel( $(this).val() );
- $(this).keyup( function() {
- updateMailValidityLabel( $(this).val() );
- } );
-} );
-
-
/**
* Timezone functions.