From: Robin Pepermans Date: Sat, 17 Dec 2011 18:31:25 +0000 (+0000) Subject: Follow-up r92924: move the CSS/JS for e-mail validation to Special:ChangeEmail. X-Git-Tag: 1.31.0-rc.0~25920 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=59e9daf6e7a4d1e016b5e9d97d6a3fc7d7072d6d;p=lhc%2Fweb%2Fwiklou.git Follow-up r92924: move the CSS/JS for e-mail validation to Special:ChangeEmail. Also merge the different LTR/RTL styles, it is flipped anyway. --- diff --git a/includes/specials/SpecialChangeEmail.php b/includes/specials/SpecialChangeEmail.php index 9f03ecfe92..0f85f516b8 100644 --- a/includes/specials/SpecialChangeEmail.php +++ b/includes/specials/SpecialChangeEmail.php @@ -67,6 +67,7 @@ class SpecialChangeEmail extends UnlistedSpecialPage { $out = $this->getOutput(); $out->disallowUserJs(); + $out->addModules( 'mediawiki.special.changeemail' ); $this->mPassword = $request->getVal( 'wpPassword' ); $this->mNewEmail = $request->getVal( 'wpNewEmail' ); diff --git a/resources/Resources.php b/resources/Resources.php index 33243f2ca6..74a8e0fdf6 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -720,6 +720,11 @@ return array( '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' ), @@ -730,8 +735,6 @@ return array( ), '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', diff --git a/resources/mediawiki.special/mediawiki.special.changeemail.css b/resources/mediawiki.special/mediawiki.special.changeemail.css new file mode 100644 index 0000000000..3d53e8dbde --- /dev/null +++ b/resources/mediawiki.special/mediawiki.special.changeemail.css @@ -0,0 +1,17 @@ +#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; +} diff --git a/resources/mediawiki.special/mediawiki.special.changeemail.js b/resources/mediawiki.special/mediawiki.special.changeemail.js new file mode 100644 index 0000000000..578a15e201 --- /dev/null +++ b/resources/mediawiki.special/mediawiki.special.changeemail.js @@ -0,0 +1,38 @@ +/* + * 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( '' ); + } + updateMailValidityLabel( $(this).val() ); + $(this).keyup( function() { + updateMailValidityLabel( $(this).val() ); + } ); +} ); +} )( jQuery, mediaWiki ); \ No newline at end of file diff --git a/resources/mediawiki.special/mediawiki.special.preferences.css b/resources/mediawiki.special/mediawiki.special.preferences.css deleted file mode 100644 index 8f628a95b9..0000000000 --- a/resources/mediawiki.special/mediawiki.special.preferences.css +++ /dev/null @@ -1,21 +0,0 @@ -#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; -} diff --git a/resources/mediawiki.special/mediawiki.special.preferences.js b/resources/mediawiki.special/mediawiki.special.preferences.js index 63e3885bcb..b720082625 100644 --- a/resources/mediawiki.special/mediawiki.special.preferences.js +++ b/resources/mediawiki.special/mediawiki.special.preferences.js @@ -58,41 +58,6 @@ $( function() { } } ); -/** - * 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( '' ); - } - updateMailValidityLabel( $(this).val() ); - $(this).keyup( function() { - updateMailValidityLabel( $(this).val() ); - } ); -} ); - - /** * Timezone functions.