http://www.mediawiki.org/wiki/Special:Code/MediaWiki/90969
Revision: 90969
Author: janpaul123
Date: 2011-06-28 15:32:13 +0000 (Tue, 28 Jun 2011)
Log Message:
-----------
Added error messages when API calls fail.
Modified Paths:
--------------
trunk/extensions/WikiLove/WikiLove.api.php
trunk/extensions/WikiLove/WikiLove.i18n.php
trunk/extensions/WikiLove/WikiLove.php
trunk/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.core.js
Modified: trunk/extensions/WikiLove/WikiLove.api.php
===================================================================
--- trunk/extensions/WikiLove/WikiLove.api.php 2011-06-28 15:24:38 UTC (rev
90968)
+++ trunk/extensions/WikiLove/WikiLove.api.php 2011-06-28 15:32:13 UTC (rev
90969)
@@ -31,14 +31,12 @@
'notminor' => true,
), false, array( 'wsEditToken' => $wgRequest->getSessionData(
'wsEditToken' ) ) ), true );
+ $api->execute();
+
if ( isset( $params['email'] ) ) {
$this->emailUser( $talk, $params['subject'],
$params['email'], $params['token'] );
}
- $api->execute();
-
- $result = $api->getResult();
-
$this->getResult()->addValue( 'redirect', 'pageName',
$talk->getPrefixedDBkey() );
$this->getResult()->addValue( 'redirect', 'fragment',
Title::escapeFragmentForURL( $params['subject'] ) );
// note that we cannot use Title::makeTitle here as it doesn't
sanitize the fragment
Modified: trunk/extensions/WikiLove/WikiLove.i18n.php
===================================================================
--- trunk/extensions/WikiLove/WikiLove.i18n.php 2011-06-28 15:24:38 UTC (rev
90968)
+++ trunk/extensions/WikiLove/WikiLove.i18n.php 2011-06-28 15:32:13 UTC (rev
90969)
@@ -41,10 +41,12 @@
'wikilove-err-msg' => 'Please enter a message.',
'wikilove-err-image' => 'Please select an image.',
'wikilove-err-image-bad' => 'Image does not exist.',
- 'wikilove-err-image-api' => 'Image check failed.',
+ 'wikilove-err-image-api' => 'Something went wrong when retrieving the
image. Please try again.',
'wikilove-err-sig' => 'Please do not include a signature in the
message.',
- 'wikilove-err-gallery' => 'Something went wrong when loading the
images!',
+ 'wikilove-err-gallery' => 'Something went wrong when loading the
images.',
'wikilove-err-gallery-again' => 'Try again',
+ 'wikilove-err-preview-api' => 'Something went wrong during previewing.
Please try again.',
+ 'wikilove-err-send-api' => 'Something went wrong when sending the
message. Please try again.',
'wikilove-summary' => '/* $1 */ new WikiLove message',
'wikilove-what-is-this' => "What is this?",
'wikilove-anon-warning' => 'Note: This user is not registered, he or
she many not notice this message.',
Modified: trunk/extensions/WikiLove/WikiLove.php
===================================================================
--- trunk/extensions/WikiLove/WikiLove.php 2011-06-28 15:24:38 UTC (rev
90968)
+++ trunk/extensions/WikiLove/WikiLove.php 2011-06-28 15:32:13 UTC (rev
90969)
@@ -129,6 +129,8 @@
'wikilove-commons-text',
'wikilove-commons-link',
'wikilove-commons-url',
+ 'wikilove-err-preview-api',
+ 'wikilove-err-send-api',
),
'dependencies' => array(
'jquery.ui.dialog',
Modified: trunk/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.core.js
===================================================================
--- trunk/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.core.js
2011-06-28 15:24:38 UTC (rev 90968)
+++ trunk/extensions/WikiLove/modules/ext.wikiLove/ext.wikiLove.core.js
2011-06-28 15:32:13 UTC (rev 90969)
@@ -328,7 +328,7 @@
// Check for a header if it is required
if( $.inArray( 'header', currentTypeOrSubtype.fields ) >= 0 &&
$( '#mw-wikilove-header' ).val().length <= 0 ) {
- $.wikiLove.showError( 'wikilove-err-header' ); return
false;
+ $.wikiLove.showAddDetailsError( 'wikilove-err-header'
); return false;
}
// Check for a title if it is required, and otherwise use the
header text
@@ -339,12 +339,12 @@
if( $.inArray( 'message', currentTypeOrSubtype.fields ) >= 0 ) {
// Check for a message if it is required
if ( $( '#mw-wikilove-message' ).val().length <= 0 ) {
- $.wikiLove.showError( 'wikilove-err-msg' );
return false;
+ $.wikiLove.showAddDetailsError(
'wikilove-err-msg' ); return false;
}
// If there isn't a signature already in the message,
throw an error
if ( $( '#mw-wikilove-message' ).val().indexOf( '~~~' )
>= 0 ) {
- $.wikiLove.showError( 'wikilove-err-sig' );
return false;
+ $.wikiLove.showAddDetailsError(
'wikilove-err-sig' ); return false;
}
}
@@ -371,7 +371,7 @@
success: function( data ) {
if (
!data.query.pages[-1].imageinfo ) {
// Image does not exist
- $.wikiLove.showError(
'wikilove-err-image-bad' );
+
$.wikiLove.showAddDetailsError( 'wikilove-err-image-bad' );
$(
'#mw-wikilove-preview-spinner' ).fadeOut( 200 );
} else {
// Image exists.
Proceed with preview.
@@ -379,7 +379,7 @@
}
},
error: function() {
- $.wikiLove.showError(
'wikilove-err-image-api' );
+ $.wikiLove.showAddDetailsError(
'wikilove-err-image-api' );
$(
'#mw-wikilove-preview-spinner' ).fadeOut( 200 );
}
} );
@@ -387,7 +387,7 @@
} else { // a gallery
if ( $( '#mw-wikilove-image' ).val().length <= 0 ) {
// Display an error telling them to select an
image.
- $.wikiLove.showError( 'wikilove-err-image' );
return false;
+ $.wikiLove.showAddDetailsError(
'wikilove-err-image' ); return false;
} else {
// Proceed with preview.
$.wikiLove.submitPreview();
@@ -417,10 +417,14 @@
}
},
- showError: function( errmsg ) {
+ showAddDetailsError: function( errmsg ) {
$( '#mw-wikilove-add-details' ).append( $( '<div
class="mw-wikilove-error"></div>' ).text( mw.msg( errmsg ) ) );
},
+ showPreviewError: function( errmsg ) {
+ $( '#mw-wikilove-preview' ).append( $( '<div
class="mw-wikilove-error"></div>' ).text( mw.msg( errmsg ) ) );
+ },
+
/*
* Prepares a message or e-mail body by replacing placeholders.
* $1: message entered by the user
@@ -475,6 +479,10 @@
success: function( data ) {
$.wikiLove.showPreview( data.parse.text['*'] );
$( '#mw-wikilove-preview-spinner' ).fadeOut(
200 );
+ },
+ error: function() {
+ $.wikiLove.showAddDetailsError(
'wikilove-err-preview-api' );
+ $( '#mw-wikilove-preview-spinner' ).fadeOut(
200 );
}
});
},
@@ -548,7 +556,7 @@
$( '#mw-wikilove-send-spinner' ).fadeOut( 200 );
if ( typeof data.error !== 'undefined' ) {
- $( '#mw-wikilove-preview' ).append(
'<div class="mw-wikilove-error">' + mw.html.escape( data.error.info ) + '<div>'
);
+ $.wikiLove.showPreviewError(
data.error.info );
return;
}
@@ -563,6 +571,10 @@
mw.config.get( 'wgArticlePath'
).replace( '$1', mw.util.wikiUrlencode( data.redirect.pageName ) )
+ '#' + data.redirect.fragment
);
}
+ },
+ error: function() {
+ $.wikiLove.showPreviewError(
'wikilove-err-send-api' );
+ $( '#mw-wikilove-send-spinner' ).fadeOut( 200 );
}
});
},
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs