-
Reinhold Kainhofer authored
Move all credential check data into html data- attributes so that the JS will also work with multiple plugins. The AJAX calls will simply retrieve the data from the button's attributes, including the ajax url and the list of possible credentials
Reinhold Kainhofer authoredMove all credential check data into html data- attributes so that the JS will also work with multiple plugins. The AJAX calls will simply retrieve the data from the button's attributes, including the ajax url and the list of possible credentials
opentools-updatecheck.js 2.44 KiB
/**
* OpenTools Update Check Admin JS
*/
var showUpdateCredentialsRow = function (btn) {
var ajaxurl = jQuery(btn).data('ajaxurl');
var slug = jQuery(btn).data("slug");
var nonce = jQuery(btn).data("nonce");
var ajaxargs = {
type: "POST",
url: ajaxurl,
data: {
action: 'getUpdateCredentialsRow',
slug: slug,
_ajax_nonce: nonce
},
success: function ( json ) {
jQuery(btn).closest('tr').after(json['row']);
},
error: function() { },
complete: function() { },
};
jQuery.ajax(ajaxargs);
return false;
};
var submitUpdateCredentials = function(btn) {
var ajaxurl = jQuery(btn).data('ajaxurl');
var slug = jQuery(btn).data("slug");
var nonce = jQuery(btn).data("nonce");
// the credentialvars data field contains a json-encoded array of variables!
var credentialvars = jQuery(btn).data("credentialvars");
var tr = jQuery(btn).closest('tr');
var data = {
action: 'submitUpdateCredentials',
slug: slug,
_ajax_nonce: nonce,
};
var index;
for (index = 0; index < credentialvars.length; index++) {
var credname = credentialvars[index];
data[credname] = jQuery(tr).find("input[name='otup_update_credentials["+slug+"]["+credname+"]']").val();
}
var ajaxargs = {
type: "POST",
url: ajaxurl,
data: data,
success: function ( json ) {
if (json['success']) {
jQuery(tr).find('div.update-credentials-message').html(json['message']);
jQuery(tr).find('div.update-credentials').removeClass('message-fail').addClass('message-success')
jQuery(tr).find('div.update-credentials-form').fadeOut( 500, function() { jQuery(this).remove(); });
jQuery(tr).closest('table').find('a.otup_credentials_link_'+slug).removeClass('dashicons-no').addClass('dashicons-yes');
jQuery(tr).delay(5000).fadeOut(1000, function() { jQuery(this).remove(); });
} else {
jQuery(tr).find('div.update-credentials-message').html(json['message']);
jQuery(tr).find('div.update-credentials').addClass('message-fail').removeClass('message-success');
jQuery(tr).closest('table').find('a.otup_credentials_link_'+slug).removeClass('dashicons-yes').addClass('dashicons-no');
}
},
error: function() {
jQuery(tr).find('div.update-credentials-message').html("Unable to validate the update credentials. Please make sure the server is available.");
jQuery(tr).find('div.update-credentials').addClass('message-fail').removeClass('message-success');
},
complete: function() { },
};
jQuery.ajax(ajaxargs);
return false;
}