http://www.mediawiki.org/wiki/Special:Code/MediaWiki/96627
Revision: 96627
Author: brion
Date: 2011-09-08 22:47:57 +0000 (Thu, 08 Sep 2011)
Log Message:
-----------
* (bug 30823) Clarify error messages on Special:EmailCapture
"Invalid code" and "already confirmed" are now called out as distinct error
responses, so submitting twice by accident doesn't show a scary "failed!"
message.
Modified Paths:
--------------
trunk/extensions/EmailCapture/EmailCapture.i18n.php
trunk/extensions/EmailCapture/SpecialEmailCapture.php
Modified: trunk/extensions/EmailCapture/EmailCapture.i18n.php
===================================================================
--- trunk/extensions/EmailCapture/EmailCapture.i18n.php 2011-09-08 22:38:20 UTC
(rev 96626)
+++ trunk/extensions/EmailCapture/EmailCapture.i18n.php 2011-09-08 22:47:57 UTC
(rev 96627)
@@ -15,6 +15,8 @@
'emailcapture' => 'E-mail verification',
'emailcapture-desc' => 'Capture e-mail addresses, and allow users to
verify them through e-mail',
'emailcapture-failure' => "Your e-mail was '''not''' verified.",
+ 'emailcapture-invalid-code' => 'Invalid confirmation code.',
+ 'emailcapture-already-confirmed' => 'Your e-mail address has already
been confirmed.',
'emailcapture-response-subject' => '{{SITENAME}} e-mail address
verification',
'emailcapture-response-body' => 'Hello!
Modified: trunk/extensions/EmailCapture/SpecialEmailCapture.php
===================================================================
--- trunk/extensions/EmailCapture/SpecialEmailCapture.php 2011-09-08
22:38:20 UTC (rev 96626)
+++ trunk/extensions/EmailCapture/SpecialEmailCapture.php 2011-09-08
22:47:57 UTC (rev 96627)
@@ -14,16 +14,28 @@
$code = $wgRequest->getVal( 'verify' );
if ( $code !== null ) {
$dbw = wfGetDB( DB_MASTER );
- $dbw->update(
+ $row = $dbw->selectRow(
'email_capture',
- array( 'ec_verified' => 1 ),
+ array( 'ec_verified' ),
array( 'ec_code' => $code ),
__METHOD__
);
- if ( $dbw->affectedRows() ) {
- $wgOut->addWikiMsg( 'emailcapture-success' );
+ if ( $row && !$row->ec_verified ) {
+ $dbw->update(
+ 'email_capture',
+ array( 'ec_verified' => 1 ),
+ array( 'ec_code' => $code ),
+ __METHOD__
+ );
+ if ( $dbw->affectedRows() ) {
+ $wgOut->addWikiMsg(
'emailcapture-success' );
+ } else {
+ $wgOut->addWikiMsg(
'emailcapture-failure' );
+ }
+ } else if ( $row && $row->ec_verified ) {
+ $wgOut->addWikiMsg(
'emailcapture-already-confirmed' );
} else {
- $wgOut->addWikiMsg( 'emailcapture-failure' );
+ $wgOut->addWikiMsg( 'emailcapture-invalid-code'
);
}
} else {
// Show simple form for submitting verification code
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs