2352 lines
75 KiB
JavaScript
2352 lines
75 KiB
JavaScript
/**
|
|
* MainWP 3rd-party API Manager JS.
|
|
*
|
|
* JS actions for the MainWP 3rd-party API Manager.
|
|
*
|
|
* @file This files handles all js actions for the MainWP 3rd-party API Manager.
|
|
* @author MainWP.
|
|
* @since 4.2.7.1
|
|
*/
|
|
|
|
/* eslint complexity: ["error", 100] */
|
|
|
|
jQuery(function(){
|
|
|
|
/********************************************************
|
|
* Ajax Event Hooks.
|
|
*/
|
|
|
|
/**
|
|
* CloudWays Ajax Hooks
|
|
*/
|
|
|
|
// Trigger action_backup.
|
|
jQuery('.mainwp_3rd_party_api_cloudways_action_backup').on('click', function () {
|
|
cloudways_action_backup(this);
|
|
});
|
|
|
|
// Trigger action_backup.
|
|
jQuery('#mainwp_3rd_party_api_cloudways_action_individual_create_backup').on('click', function () {
|
|
cloudways_action_backup(this);
|
|
});
|
|
|
|
// Trigger action_update_ids.
|
|
jQuery('.mainwp_3rd_party_api_cloudways_action_update_ids').on('click', function () {
|
|
cloudways_action_update_ids(this);
|
|
});
|
|
|
|
//Trigger action_refresh_available_backups.
|
|
jQuery('#mainwp_3rd_party_api_cloudways_action_refresh_available_backups').on('click', function () {
|
|
cloudways_action_refresh_available_backups(this);
|
|
});
|
|
|
|
// Trigger action_restore_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_cloudways_action_restore_backup', function () {
|
|
cloudways_action_restore_backup(this);
|
|
});
|
|
|
|
// Trigger action_delete_backup. This will delete the 24hr restore point allowing for a new restoration to be created.
|
|
jQuery('#mainwp_3rd_party_api_cloudways_action_delete_backup').on('click', function () {
|
|
cloudways_action_delete_backup(this);
|
|
});
|
|
|
|
/**
|
|
* Vultr Ajax Hooks
|
|
*/
|
|
|
|
// Trigger action_backup.
|
|
jQuery('.mainwp_3rd_party_api_vultr_action_backup').on('click', function () {
|
|
vultr_action_create_snapshot(this);
|
|
});
|
|
|
|
// Trigger action_backup.
|
|
jQuery('#mainwp_3rd_party_api_vultr_action_individual_create_backup').on('click', function () {
|
|
vultr_action_create_snapshot(this);
|
|
});
|
|
|
|
// Trigger action_update_ids.
|
|
jQuery('.mainwp_3rd_party_api_vultr_action_update_ids').on('click', function () {
|
|
vultr_action_update_ids(this);
|
|
});
|
|
|
|
//Trigger action_refresh_available_backups.
|
|
jQuery('#mainwp_3rd_party_api_vultr_action_refresh_available_backups').on('click', function () {
|
|
vultr_action_refresh_available_backups(this);
|
|
});
|
|
|
|
// Trigger action_restore_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_vultr_action_restore_backup', function () {
|
|
vultr_action_restore_backup(this);
|
|
});
|
|
|
|
// Trigger action_delete_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_vultr_action_delete_backup', function () {
|
|
vultr_action_delete_backup(this);
|
|
});
|
|
|
|
/**
|
|
* GridPane Ajax Hooks
|
|
*/
|
|
|
|
// Trigger action_backup.
|
|
jQuery('.mainwp_3rd_party_api_gridpane_action_backup').on('click', function () {
|
|
gridpane_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger action_backup.
|
|
jQuery('#mainwp_3rd_party_api_gridpane_action_individual_create_backup').on('click', function () {
|
|
gridpane_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger action_update_ids.
|
|
jQuery('.mainwp_3rd_party_api_gridpane_action_update_ids').on('click', function () {
|
|
gridpane_action_update_ids(this);
|
|
});
|
|
|
|
// Trigger action_refresh_available_backups.
|
|
jQuery('#mainwp_3rd_party_api_gridpane_action_refresh_available_backups').on('click', function () {
|
|
gridpane_action_refresh_available_backups(this);
|
|
});
|
|
|
|
// Trigger action_restore_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_gridpane_action_restore_backup', function () {
|
|
gridpane_action_restore_backup(this);
|
|
});
|
|
|
|
// Trigger action_delete_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_gridpane_action_delete_backup', function () {
|
|
gridpane_action_delete_backup(this);
|
|
});
|
|
|
|
/**
|
|
* Linode Ajax Hooks
|
|
*/
|
|
|
|
// Trigger action_backup.
|
|
jQuery('.mainwp_3rd_party_api_linode_action_backup').on('click', function () {
|
|
linode_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger action_backup.
|
|
jQuery('#mainwp_3rd_party_api_linode_action_individual_create_backup').on('click', function () {
|
|
linode_action_create_backup(this);
|
|
});
|
|
|
|
//Trigger action_update_ids.
|
|
jQuery('.mainwp_3rd_party_api_linode_action_update_ids').on('click', function () {
|
|
linode_action_update_ids(this);
|
|
});
|
|
|
|
// Trigger action_refresh_available_backups.
|
|
jQuery('#mainwp_3rd_party_api_linode_action_refresh_available_backups').on('click', function () {
|
|
linode_action_refresh_available_backups(this);
|
|
});
|
|
|
|
// Trigger action_restore_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_linode_action_restore_backup', function () {
|
|
linode_action_restore_backup(this);
|
|
});
|
|
|
|
// Trigger action_delete_backup.
|
|
jQuery('#mainwp_3rd_party_api_linode_action_cancel_backups').on('click', function () {
|
|
let confirmMsg = __('Are you sure you want to Disable and Delete all existing backups from this Linode?');
|
|
mainwp_confirm(confirmMsg, function () {
|
|
linode_action_cancel_backups(this);
|
|
});
|
|
});
|
|
|
|
/**
|
|
* digitalocean Ajax Hooks
|
|
*/
|
|
|
|
//Trigger action_update_ids.
|
|
jQuery('.mainwp_3rd_party_api_digitalocean_action_update_ids').on('click', function () {
|
|
digitalocean_action_update_ids(this);
|
|
});
|
|
|
|
// Trigger action_create_backup.
|
|
jQuery('.mainwp_3rd_party_api_digitalocean_action_backup').on('click', function () {
|
|
digitalocean_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger action_individual_create_backup.
|
|
jQuery('#mainwp_3rd_party_api_digitalocean_action_individual_create_backup').on('click', function () {
|
|
digitalocean_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger action_refresh_available_backups.
|
|
jQuery('#mainwp_3rd_party_api_digitalocean_action_refresh_available_backups').on('click', function () {
|
|
digitalocean_action_refresh_available_backups(this);
|
|
});
|
|
|
|
// Trigger action_delete_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_digitalocean_action_delete_backup', function () {
|
|
digitalocean_action_delete_backup(this);
|
|
});
|
|
|
|
// Trigger action_restore_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_digitalocean_action_restore_backup', function () {
|
|
digitalocean_action_restore_backup(this);
|
|
});
|
|
|
|
/**
|
|
* CPanel Ajax Hooks
|
|
*/
|
|
|
|
// Trigger action_refresh_available_backups.
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_refresh_available_backups').on('click', function () {
|
|
cpanel_action_refresh_available_backups(this);
|
|
});
|
|
|
|
// Trigger action_restore_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_cpanel_action_restore_backup', function () {
|
|
let confirmMsg = __('Are you sure you want to Restore this backup?');
|
|
mainwp_confirm(confirmMsg, function () {
|
|
cPanel_action_restore_backup(this);
|
|
});
|
|
});
|
|
|
|
// Trigger action_restore_database_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_cpanel_action_restore_database_backup', function () {
|
|
let confirmMsg = __('Are you sure you want to Restore this backup?');
|
|
let btObj = this;
|
|
mainwp_confirm(confirmMsg, function () {
|
|
cpanel_action_restore_database_backup(btObj);
|
|
});
|
|
});
|
|
|
|
// Trigger action_restore_manual_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_cpanel_action_restore_manual_backup', function () {
|
|
let confirmMsg = __('Are you sure you want to Restore this backup?');
|
|
mainwp_confirm(confirmMsg, function () {
|
|
cpanel_action_restore_manual_backup();
|
|
});
|
|
});
|
|
|
|
// Trigger action_backup.
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_individual_create_backup').on('click', function () {
|
|
cpanel_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger action_create_wptk_backup.
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_wptk_backup').on('click', function () {
|
|
cpanel_action_create_wptk_backup(this);
|
|
});
|
|
|
|
// Trigger action_backup for bulk backups.
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_full_backup').on('click', function () {
|
|
cpanel_action_create_full_backup(this);
|
|
});
|
|
|
|
// Trigger action_database_backup.
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_database_backup').on('click', function () {
|
|
cpanel_action_create_database_backup(this);
|
|
});
|
|
|
|
// Trigger action_backup for full backups. Database & Files.
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_full_backup').on('click', function () {
|
|
cpanel_action_create_full_backup(this);
|
|
});
|
|
|
|
// Trigger action_restore_wptk_backup.
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_wptk_backup').on('click', function () {
|
|
let confirmMsg = __('Are you sure you want to Restore this backup?');
|
|
mainwp_confirm(confirmMsg, function () {
|
|
cpanel_action_restore_wptk_backup(this);
|
|
});
|
|
});
|
|
|
|
// Trigger action_delete_wptk_backup.
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_delete_wptk_backup').on('click', function () {
|
|
let confirmMsg = __('Are you sure you want to Delete this backup?');
|
|
mainwp_confirm(confirmMsg, function () {
|
|
cpanel_action_delete_wptk_backup(this);
|
|
});
|
|
});
|
|
|
|
// Trigger action_download_wptk_backup
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_download_wptk_backup').on('click', function () {
|
|
cpanel_action_download_wptk_backup();
|
|
});
|
|
|
|
/**
|
|
* Plesk Ajax Hooks
|
|
*/
|
|
|
|
// Trigger action_refresh_available_backups.
|
|
jQuery('#mainwp_3rd_party_api_plesk_action_refresh_available_backups').on('click', function () {
|
|
plesk_action_refresh_available_backups(this);
|
|
});
|
|
|
|
//Trigger action_backup.
|
|
jQuery('#mainwp_3rd_party_api_plesk_action_individual_create_backup').on('click', function () {
|
|
plesk_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger action_backup. ( bulk )
|
|
jQuery('.mainwp_3rd_party_api_plesk_action_backup ').on('click', function () {
|
|
plesk_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger action_restore_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_plesk_action_restore_backup', function () {
|
|
let confirmMsg = __('Are you sure you want to Restore this backup?');
|
|
mainwp_confirm(confirmMsg, function () {
|
|
plesk_action_restore_backup();
|
|
});
|
|
});
|
|
|
|
// Trigger action_delete_backup.
|
|
jQuery(document).on('click', '.mainwp_3rd_party_api_plesk_action_delete_backup', function () {
|
|
let confirmMsg = __('Are you sure you want to Delete this backup?');
|
|
mainwp_confirm(confirmMsg, function () {
|
|
plesk_action_delete_backup();
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Kinsta Ajax Hooks
|
|
*/
|
|
// Trigger action_refresh_available_backups.
|
|
jQuery('#mainwp_3rd_party_api_kinsta_action_refresh_available_backups').on('click', function () {
|
|
kinsta_action_refresh_available_backups(this);
|
|
});
|
|
|
|
//Trigger action_backup.
|
|
jQuery('#mainwp_3rd_party_api_kinsta_action_individual_create_backup').on('click', function () {
|
|
kinsta_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger Bulk action_create_backup.
|
|
jQuery('.mainwp_3rd_party_api_kinsta_action_backup').on('click', function () {
|
|
kinsta_action_create_backup(this);
|
|
});
|
|
|
|
// Trigger action_delete_backup.
|
|
jQuery('.mainwp_3rd_party_api_kinsta_action_delete_backup').on('click', function () {
|
|
let confirmMsg = __('Are you sure you want to Delete this backup?');
|
|
let backupId = jQuery(this).attr('backup_id');
|
|
mainwp_confirm(confirmMsg, function () {
|
|
kinsta_action_delete_backup(this, backupId);
|
|
});
|
|
});
|
|
|
|
// Trigger action_restore_backup.
|
|
jQuery('.mainwp_3rd_party_api_kinsta_action_restore_backup').on('click', function () {
|
|
let confirmMsg = __('Are you sure you want to Restore this backup?');
|
|
let backupId = jQuery(this).attr('backup_id');
|
|
mainwp_confirm(confirmMsg, function () {
|
|
kinsta_action_restore_backup(this, backupId);
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Global Bulk Action: backup selected sites.
|
|
*/
|
|
|
|
// Trigger action_backup_selected_sites.
|
|
jQuery('#action_backup_selected_sites').on('click', function () {
|
|
action_backup_selected_sites(this);
|
|
});
|
|
|
|
/********************************************************
|
|
* Fomantic-ui Tabs Event Hooks.
|
|
*/
|
|
|
|
/**
|
|
* Activate Fomantic-ui tabs for the 3rd-party API Manager Settings page,
|
|
* Settings > 3rd-Party API Manager.
|
|
*
|
|
* @url https://fomantic-ui.com/modules/tab.html#/usage
|
|
*/
|
|
jQuery('#3rd-party-api-manager .menu .item').tab();
|
|
|
|
/**
|
|
* Activate Fomantic-ui tabs for the Individual cPanel Backups page,
|
|
* ChildSite Overview > API Backups
|
|
*
|
|
* @url https://fomantic-ui.com/modules/tab.html#/usage
|
|
*/
|
|
jQuery('#mainwp_api_cpanel_backup_tabs .item').tab();
|
|
|
|
// Trigger action_check_tab. Handle the click event on the TAB Buttons.
|
|
jQuery('#mainwp_api_cpanel_backup_tabs .item').on('click', function () {
|
|
action_check_tab();
|
|
});
|
|
|
|
/**
|
|
* Handle switching TAB Buttons.
|
|
* Check if cPanel or Plesk is selected TAB when page loads & display the correct content.
|
|
*/
|
|
let ref_this = jQuery('#mainwp_api_cpanel_backup_tabs div.active');
|
|
if (ref_this.data('tab') === 'cpanel-native') {
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_full_backup').show();
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_wptk_backup').hide();
|
|
} else if (ref_this.data('tab') === 'cpanel-wp-toolkit') {
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_full_backup').hide();
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_wptk_backup').show();
|
|
}
|
|
});
|
|
/********************************************************
|
|
* Invocable Functions.
|
|
*/
|
|
|
|
/**
|
|
* Extension Overview Page: #action_backup_selected_sites.
|
|
*
|
|
* This function is called when the "Backup Selected Sites" button is clicked.
|
|
* mainwp_api_backups_do_backups() is defined in assets/js/mainwp-api-backups.js.
|
|
*/
|
|
let action_backup_selected_sites = function (pObj) {
|
|
mainwp_api_backups_do_backups(pObj);
|
|
}
|
|
|
|
/**
|
|
* Handle switching TAB Action Buttons on Individual Cpanel Backups page.
|
|
* Check if cPanel or Plesk is selected TAB when TAB is clicked & display the correct content.
|
|
*/
|
|
let action_check_tab = function () {
|
|
|
|
let ref_this = jQuery('#mainwp_api_cpanel_backup_tabs div.active');
|
|
if (ref_this.data('tab') === 'cpanel-native') {
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_full_backup').show();
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_wptk_backup').hide();
|
|
} else if (ref_this.data('tab') === 'cpanel-wp-toolkit') {
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_full_backup').hide();
|
|
jQuery('#mainwp_3rd_party_api_cpanel_action_create_wptk_backup').show();
|
|
}
|
|
}
|
|
|
|
let module_api_backups_prepare_working_status = function(button){
|
|
jQuery(button).html('<i class="notched circle loading icon"></i>');
|
|
}
|
|
|
|
/********************************************************
|
|
* Cloudways Functions.
|
|
*/
|
|
|
|
// Create Backup.
|
|
let cloudways_action_backup = function (pObj) {
|
|
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
let lastBackup = jQuery(pObj).closest('td').prev();
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cloudways_action_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cloudways'
|
|
});
|
|
|
|
module_api_backups_prepare_working_status(button);
|
|
jQuery(lastBackup).html('Requesting Backup...');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( 'A backup has been requested. Please allow some time for the backup to complete, then Refresh Available Backups.')
|
|
;
|
|
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while requesting your backup. Please check that your ID and API Key are correct.')
|
|
;
|
|
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
|
|
}
|
|
});
|
|
|
|
};
|
|
|
|
// Assign Apps to Child Sites.
|
|
let cloudways_action_update_ids = function (pObj) {
|
|
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cloudways_action_update_ids'
|
|
});
|
|
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
window.location.search += '&update=true';
|
|
} else {
|
|
window.location.search += '&update=false';
|
|
}
|
|
|
|
});
|
|
};
|
|
|
|
|
|
// Refresh Available Backup.
|
|
let cloudways_action_refresh_available_backups = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
// Prepare the data to send.
|
|
// The "action" is the name of the action hook to trigger.
|
|
// Anything else is data that we want to pass to the PHP function.
|
|
let data = mainwp_secure_data({
|
|
action: 'cloudways_action_refresh_available_backups',
|
|
website_id: websiteId,
|
|
backup_api: 'cloudways'
|
|
});
|
|
|
|
// Send a POST request to the ajaxurl (WordPress variable), using the data
|
|
// we prepared above, and running the below function when we receive the
|
|
// response. The last parameter tells jQuery to expect a JSON response
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( 'Available backups have been refreshed.' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
setInterval('location.reload()', 7000); // Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( 'There was an issue while refreshing available backups.' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
}, 'json');
|
|
};
|
|
|
|
// Restore backups.
|
|
let cloudways_action_restore_backup = function (pObj) {
|
|
let button = jQuery(pObj);
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
let backupDate = jQuery(pObj).attr('backup_date');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cloudways_action_restore_backup',
|
|
website_id: websiteId,
|
|
backup_date: backupDate,
|
|
backup_api: 'cloudways'
|
|
});
|
|
|
|
// Start button animation.
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( 'Your application is in the process of restoring. This will take a few minuets...' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( 'There was an issue while attempting to restore your application...' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Delete backups.
|
|
let cloudways_action_delete_backup = function (pObj) {
|
|
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cloudways_action_delete_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cloudways'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(button).find('i.loading').css({ 'display': 'block' });
|
|
jQuery(button).find('div').addClass('hidden');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( 'The local backups done before last restore have been deleted.' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).find('i.loading').css({ 'display': 'none' });
|
|
jQuery(button).find('div').removeClass('hidden');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( 'There was an issue while deleting your backups.' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).find('i.loading').css({ 'display': 'none' });
|
|
jQuery(button).find('div').removeClass('hidden');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
/********************************************************
|
|
* Vultr Functions.
|
|
*/
|
|
|
|
// Assign Instances to Child Sites.
|
|
let vultr_action_update_ids = function (pObj) {
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'vultr_action_update_ids'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(button).find('i.loading').css({ 'display': 'block' });
|
|
jQuery(button).find('div').addClass('hidden');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Backup Stats have been refreshed.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).find('i.loading').css({ 'display': 'none' });
|
|
jQuery(button).find('div').removeClass('hidden');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( 'There was an issue refreshing the Backup Stats.' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).find('i.loading').css({ 'display': 'none' });
|
|
jQuery(button).find('div').removeClass('hidden');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Create Backup.
|
|
let vultr_action_create_snapshot = function (pObj) {
|
|
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
let lastBackup = jQuery(pObj).closest('td').prev();
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'vultr_action_create_snapshot',
|
|
website_id: websiteId,
|
|
backup_api: 'vultr'
|
|
});
|
|
|
|
module_api_backups_prepare_working_status(button);
|
|
jQuery(lastBackup).html('Requesting Backup...');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('A backup has been requested.');
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
|
|
} else {
|
|
let err_message = '' !== response ? response : 'There was an issue while requesting your backup. Please check that your ID and API Key are correct.';
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( err_message );
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Refresh Available Backup.
|
|
let vultr_action_refresh_available_backups = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'vultr_action_refresh_available_backups',
|
|
website_id: websiteId,
|
|
backup_api: 'vultr'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Available backups have been refreshed.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
setInterval('location.reload()', 7000); // Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while refreshing available backups.' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
// Restore Backup.
|
|
let vultr_action_restore_backup = function (pObj) {
|
|
|
|
let button = jQuery(pObj);
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
let snapshotID = jQuery(pObj).attr('snapshot_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'vultr_action_restore_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'vultr',
|
|
snapshot_id: snapshotID
|
|
});
|
|
|
|
// Start button animation.
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Backup restoration process has begun. Please wait a few moments and then check the site.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while restoring your backup.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
|
|
// Delete Backup.
|
|
let vultr_action_delete_backup = function (pObj) {
|
|
|
|
let button = jQuery(pObj);
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
let snapshotID = jQuery(pObj).attr('snapshot_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'vultr_action_delete_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'vultr',
|
|
snapshot_id: snapshotID
|
|
});
|
|
|
|
// Start button animation.
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The selected backup has been deleted.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while deleting the selected backup.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
|
|
/********************************************************
|
|
* Gridpane Functions.
|
|
*/
|
|
|
|
// Assign Site ID's to Child Sites.
|
|
let gridpane_action_update_ids = function (pObj) {
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'gridpane_action_update_ids'
|
|
});
|
|
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
window.location.search += '&update=true';
|
|
} else {
|
|
window.location.search += '&update=false';
|
|
}
|
|
|
|
});
|
|
};
|
|
|
|
// Create Backup.
|
|
let gridpane_action_create_backup = function (pObj) {
|
|
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
let lastBackup = jQuery(pObj).closest('td').prev();
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'gridpane_action_create_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'gridpane'
|
|
});
|
|
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery(lastBackup).html('Requesting Backup...');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('A backup has been requested.')
|
|
;
|
|
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while requesting your backup. Please check that your ID and API Key are correct.' )
|
|
;
|
|
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Refresh Available Backup.
|
|
let gridpane_action_refresh_available_backups = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'gridpane_action_refresh_available_backups',
|
|
website_id: websiteId,
|
|
backup_api: 'gridpane'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Available backups have been refreshed.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
setInterval('location.reload()', 7000); // Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while refreshing available backups.' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Restore Backup.
|
|
let gridpane_action_restore_backup = function (pObj) {
|
|
|
|
let button = jQuery(pObj);
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
let backupType = jQuery(pObj).attr('backup_type');
|
|
let backupName = jQuery(pObj).attr('backup_name');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'gridpane_action_restore_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'gridpane',
|
|
backup_type: backupType,
|
|
backup_name: backupName
|
|
});
|
|
|
|
// Start button animation.
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Backup restoration has begun. Please wait a few moments and then check the site.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while restoring your backup.' )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Delete Backup.
|
|
let gridpane_action_delete_backup = function (pObj) {
|
|
|
|
let button = jQuery(pObj);
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
let backupType = jQuery(pObj).attr('backup_type');
|
|
let backupName = jQuery(pObj).attr('backup_name');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'gridpane_action_delete_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'gridpane',
|
|
backup_type: backupType,
|
|
backup_name: backupName
|
|
});
|
|
|
|
// Start button animation.
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The selected backup has been deleted.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="trash icon"></i>');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while deleting the selected backup.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="trash icon"></i>');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
/********************************************************
|
|
* Linode Functions.
|
|
*/
|
|
|
|
// Assign Site ID's to Child Sites.
|
|
let linode_action_update_ids = function (pObj) {
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'linode_action_update_ids'
|
|
});
|
|
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
window.location.search += '&update=true';
|
|
} else {
|
|
window.location.search += '&update=false';
|
|
}
|
|
});
|
|
};
|
|
|
|
// Create Backup.
|
|
let linode_action_create_backup = function (pObj) {
|
|
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
let lastBackup = jQuery(pObj).closest('td').prev();
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'linode_action_create_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'linode'
|
|
});
|
|
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery(lastBackup).html('Requesting Backup...');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('A backup has been requested.')
|
|
;
|
|
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while requesting your backup. Please check that your backups are enabled & ID\'s are correct.')
|
|
;
|
|
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
}
|
|
});
|
|
};
|
|
|
|
// Refresh Available Backup.
|
|
let linode_action_refresh_available_backups = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'linode_action_refresh_available_backups',
|
|
website_id: websiteId,
|
|
backup_api: 'linode'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Available backups have been refreshed.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
setInterval('location.reload()', 7000); // Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while refreshing available backups.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// restore Backup.
|
|
let linode_action_restore_backup = function (pObj) {
|
|
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
let backupStatus = jQuery(pObj).closest('td').prev();
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
let backupId = jQuery(pObj).attr('backup_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'linode_action_restore_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'linode',
|
|
backup_id: backupId
|
|
});
|
|
|
|
// Start button animation.
|
|
module_api_backups_prepare_working_status(button);
|
|
jQuery(backupStatus).html('Restoring Backup...');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The backup restoration was successful. Please check your Linode Server Status...')
|
|
;
|
|
|
|
jQuery(backupStatus).html('Rebooting Server...');
|
|
setInterval('location.reload()', 7000);// Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while restoring your backup.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
setInterval('location.reload()', 7000); // Using .reload() method.
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Cancel Backup.
|
|
let linode_action_cancel_backups = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'linode_action_cancel_backups',
|
|
website_id: websiteId,
|
|
backup_api: 'linode'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The backups associated with this Linode have been removed.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while canceling your backup.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
/********************************************************
|
|
* Digital Ocean Functions.
|
|
*/
|
|
|
|
// Assign Site ID's to Child Sites.
|
|
let digitalocean_action_update_ids = function (pObj) {
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'digitalocean_action_update_ids'
|
|
});
|
|
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
window.location.search += '&update=true';
|
|
} else {
|
|
window.location.search += '&update=false';
|
|
}
|
|
|
|
});
|
|
};
|
|
|
|
// Create Backup.
|
|
let digitalocean_action_create_backup = function (pObj) {
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
let button = jQuery(pObj).closest('td');
|
|
let lastBackup = jQuery(pObj).closest('td').prev();
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'digitalocean_action_create_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'digitalocean'
|
|
});
|
|
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery(lastBackup).html('Requesting Backup...');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('A backup has been requested.')
|
|
;
|
|
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while requesting your backup. Please check that your ID and API Key are correct.')
|
|
;
|
|
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 5000);
|
|
}
|
|
});
|
|
};
|
|
|
|
// Refresh Available Backups.
|
|
let digitalocean_action_refresh_available_backups = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'digitalocean_action_refresh_available_backups',
|
|
website_id: websiteId,
|
|
backup_api: 'digitalocean'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Available backups have been refreshed.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
setInterval('location.reload()', 7000);// Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while refreshing available backups.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// restore Backup.
|
|
let digitalocean_action_restore_backup = function (pObj) {
|
|
|
|
let button = jQuery(pObj);
|
|
let lastBackup = jQuery(pObj).closest('td').prev();
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
let snapshotId = jQuery(pObj).attr('snapshot_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'digitalocean_action_restore_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'digitalocean',
|
|
snapshot_id: snapshotId
|
|
});
|
|
|
|
// Start button animation.
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
jQuery(lastBackup).html('');
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Backup restoration has begun. Please wait a few moments and then check the site.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while restoring your backup.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="undo icon"></i>');
|
|
}
|
|
|
|
});
|
|
};
|
|
|
|
// Delete Backup.
|
|
let digitalocean_action_delete_backup = function (pObj) {
|
|
|
|
let button = jQuery(pObj);
|
|
|
|
let snapshotId = jQuery(pObj).attr('snapshot_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'digitalocean_action_delete_backup',
|
|
snapshot_id: snapshotId
|
|
});
|
|
|
|
// Start button animation.
|
|
module_api_backups_prepare_working_status(button);
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The selected backup has been deleted.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="trash icon"></i>');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while deleting the selected backup.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).html('<i class="trash icon"></i>');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
/********************************************************
|
|
* Cpanel Functions.
|
|
*/
|
|
|
|
let cpanel_action_create_wptk_backup = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_create_wptk_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cpanel',
|
|
backup: 'true'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( 'A backup has been requested. Please allow some time for the backup to complete, then Refresh Available Backups.');
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( response )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// restore Backup.
|
|
|
|
let cpanel_action_restore_wptk_backup = function (pObj) {
|
|
|
|
// Disable link.
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
|
|
let backupName = jQuery('.mainwp_3rd_party_api_cpanel_action_restore_wptk_backup').attr('backup_name');
|
|
let websiteId = jQuery('.mainwp_3rd_party_api_cpanel_action_restore_wptk_backup').attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_restore_wptk_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cpanel',
|
|
backup_name: backupName,
|
|
});
|
|
|
|
// Start button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_wptk_backup').addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The backup restoration process has finished. Please wait a few moments and then check the site.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_wptk_backup').removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while restoring your backup.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_wptk_backup').removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Delete Backup.
|
|
let cpanel_action_delete_wptk_backup = function (pObj) {
|
|
|
|
// Disable link.
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
|
|
let backupName = jQuery('.mainwp_3rd_party_api_cpanel_action_delete_wptk_backup').attr('backup_name');
|
|
let websiteId = jQuery('.mainwp_3rd_party_api_cpanel_action_delete_wptk_backup').attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_delete_wptk_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cpanel',
|
|
backup_name: backupName,
|
|
});
|
|
|
|
// Start button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_delete_wptk_backup').addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The selected backup has been deleted.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_delete_wptk_backup').removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while deleting your backup.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_delete_wptk_backup').removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Download Backup.
|
|
let cpanel_action_download_wptk_backup = function () {
|
|
|
|
let href = jQuery('.mainwp_3rd_party_api_cpanel_action_download_wptk_backup').attr('href');
|
|
window.open(href, '_blank');
|
|
|
|
};
|
|
|
|
let cpanel_action_create_backup = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_create_manual_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cpanel'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('A backup has been requested.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( response )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Refresh Available Backups.
|
|
let cpanel_action_refresh_available_backups = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_refresh_available_backups',
|
|
website_id: websiteId,
|
|
backup_api: 'cPanel'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Available backups have been refreshed.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
setInterval('location.reload()', 7000); // Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while refreshing available backups.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// restore Backup.
|
|
let cPanel_action_restore_backup = function (pObj) {
|
|
|
|
// Disable link.
|
|
jQuery(pObj).attr('disabled', 'true');
|
|
|
|
let websiteId = jQuery('#cpanel_automatic_backup_button').attr('website_id');
|
|
let backupID = jQuery('#cpanel_automatic_backup_button').attr('backup_name');
|
|
let backupPath = jQuery('#cpanel_automatic_backup_button').attr('backup_path');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_restore_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cpanel',
|
|
backup_id: backupID,
|
|
backup_path: backupPath
|
|
});
|
|
|
|
// Start button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_backup button').addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The backup restoration process has finished. Please wait a few moments and then check the site.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_backup button').removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while restoring your backup.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_backup button').removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// restore Backup.
|
|
let cpanel_action_restore_database_backup = function (btObj) {
|
|
|
|
let websiteId = jQuery(btObj).attr('website_id');
|
|
let backupID = jQuery(btObj).attr('backup_name');
|
|
let backupPath = jQuery(btObj).attr('backup_path');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_restore_database_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cpanel',
|
|
backup_id: backupID,
|
|
backup_path: backupPath
|
|
});
|
|
|
|
// Start button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_database_backup button').addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The backup restoration process has finished. Please wait a few moments and then check the site.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_database_backup button').removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while restoring your backup.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_database_backup button').removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// restore Backup.
|
|
let cpanel_action_restore_manual_backup = function () {
|
|
|
|
let websiteId = jQuery('#cpanel_automatic_backup_button').attr('website_id');
|
|
let backupID = jQuery('#database_backup_button').attr('backup_name');
|
|
let backupPath = jQuery('#database_backup_button').attr('backup_path');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_restore_manual_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cpanel',
|
|
backup_id: backupID,
|
|
backup_path: backupPath
|
|
});
|
|
|
|
// Start button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_manual_backup button').addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The backup restoration process has finished. Please wait a few moments and then check the site.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_manual_backup button').removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while restoring your backup.')
|
|
;
|
|
|
|
// Stop button animation. ( Using class so ALL buttons are animated not just the one clicked ).
|
|
jQuery('.mainwp_3rd_party_api_cpanel_action_restore_database_backup button').removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
let cpanel_action_create_database_backup = function (pObj) {
|
|
|
|
// Grab the website ID.
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
// Build the data object.
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_create_database_backup',
|
|
website_id: websiteId,
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
// Send the data to the server.
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
// Check & return the response.
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The current database backup has finished. Please wait a few moments and then Refresh Available Backups.')
|
|
;
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while creating your backup.')
|
|
;
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
let cpanel_action_create_full_backup = function (pObj) {
|
|
|
|
// Grab the website ID.
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
// Build the data object.
|
|
let data = mainwp_secure_data({
|
|
action: 'cpanel_action_create_full_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'cpanel',
|
|
backup: 'true'
|
|
});
|
|
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
// Send the data to the server.
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
// Check & return the response.
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The current File & Database backup has finished. Please wait a few moments and then Refresh Available Backups.')
|
|
;
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while creating your backups.')
|
|
;
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
/********************************************************
|
|
* Plesk Functions.
|
|
*/
|
|
|
|
// Refresh Available Backups.
|
|
let plesk_action_refresh_available_backups = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'plesk_action_refresh_available_backups',
|
|
website_id: websiteId,
|
|
backup_api: 'Plesk'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Available backups have been refreshed.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
setInterval('location.reload()', 7000);// Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while refreshing available backups.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
let plesk_action_create_backup = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'plesk_action_create_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'plesk'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('A backup has been requested.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( response )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Restore backups.
|
|
let plesk_action_restore_backup = function () {
|
|
let button = jQuery('.mainwp_3rd_party_api_plesk_action_restore_backup').closest('td');
|
|
let installationId = jQuery('.mainwp_3rd_party_api_plesk_action_restore_backup').attr('installation_id');
|
|
let backupName = jQuery('.mainwp_3rd_party_api_plesk_action_restore_backup').attr('backup_name');
|
|
let websiteId = jQuery('.mainwp_3rd_party_api_plesk_action_restore_backup').attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'plesk_action_restore_backup',
|
|
installation_id: installationId,
|
|
backup_name: backupName,
|
|
website_id: websiteId,
|
|
backup_api: 'plesk'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(button).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Your application is in the process of restoring. This will take a few minuets...')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while attempting to restore your application...')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).removeClass('disabled loading');
|
|
}
|
|
});
|
|
};
|
|
|
|
// Delete backups.
|
|
let plesk_action_delete_backup = function () {
|
|
jQuery('.mainwp_3rd_party_api_plesk_action_delete_backup').attr('disabled', 'true');
|
|
let button = jQuery('.mainwp_3rd_party_api_plesk_action_delete_backup').closest('td');
|
|
|
|
let installationId = jQuery('.mainwp_3rd_party_api_plesk_action_delete_backup').attr('installation_id');
|
|
let backupName = jQuery('.mainwp_3rd_party_api_plesk_action_delete_backup').attr('backup_name');
|
|
let websiteId = jQuery('.mainwp_3rd_party_api_plesk_action_delete_backup').attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'plesk_action_delete_backup',
|
|
installation_id: installationId,
|
|
backup_name: backupName,
|
|
website_id: websiteId,
|
|
backup_api: 'plesk'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(button).find('i.loading').css({ 'display': 'block' });
|
|
jQuery(button).find('div').addClass('hidden');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The selected backup has been deleted.')
|
|
;
|
|
|
|
setInterval('location.reload()', 5000); // Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while deleting your backup.')
|
|
;
|
|
|
|
setInterval('location.reload()', 5000); // Using .reload() method.
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
/********************************************************
|
|
* Kinsta Functions.
|
|
*/
|
|
|
|
// Refresh Available Backups.
|
|
let kinsta_action_refresh_available_backups = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'kinsta_action_refresh_available_backups',
|
|
website_id: websiteId,
|
|
backup_api: 'Kinsta'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Available backups have been refreshed.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
setInterval('location.reload()', 7000);// Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while refreshing available backups.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Create Manual Backup.
|
|
let kinsta_action_create_backup = function (pObj) {
|
|
|
|
let websiteId = jQuery(pObj).attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'kinsta_action_create_backup',
|
|
website_id: websiteId,
|
|
backup_api: 'kinsta'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('A backup has been requested.')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html( response )
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(pObj).removeClass('disabled loading');
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Delete Manual Backup.
|
|
let kinsta_action_delete_backup = function (pObj, backupId) {
|
|
let websiteId = jQuery('.mainwp_3rd_party_api_kinsta_action_delete_backup ').attr('website_id');
|
|
console.log(websiteId);
|
|
let data = mainwp_secure_data({
|
|
action: 'kinsta_action_delete_backup',
|
|
backup_id: backupId,
|
|
website_id: websiteId,
|
|
backup_api: 'kinsta'
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
console.log(response);
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('The selected backup has been deleted.')
|
|
;
|
|
|
|
setInterval('location.reload()', 5000); // Using .reload() method.
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while deleting your backup.')
|
|
;
|
|
|
|
setInterval('location.reload()', 5000); // Using .reload() method.
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
// Delete Manual Backup.
|
|
let kinsta_action_restore_backup = function (pObj, backupId) {
|
|
|
|
let websiteId = jQuery('.mainwp_3rd_party_api_kinsta_action_restore_backup').attr('website_id');
|
|
|
|
let data = mainwp_secure_data({
|
|
action: 'kinsta_action_restore_backup',
|
|
backup_id: backupId,
|
|
backup_api: 'kinsta',
|
|
website_id: websiteId
|
|
});
|
|
|
|
// Start button animation.
|
|
jQuery(pObj).addClass('disabled loading');
|
|
|
|
jQuery.post(ajaxurl, data, function (response) {
|
|
response = jQuery.trim(response);
|
|
if (response === 'true') {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('green').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('Your application is in the process of restoring. This will take a few minuets...')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).removeClass('disabled loading');
|
|
|
|
} else {
|
|
|
|
// Show message.
|
|
jQuery('#mainwp-api-backups-message-zone').addClass('red').show();
|
|
jQuery('#mainwp-api-backups-message-zone .content .message')
|
|
.html('There was an issue while attempting to restore your application...')
|
|
;
|
|
|
|
// Stop button animation.
|
|
jQuery(button).removeClass('disabled loading');
|
|
}
|
|
});
|
|
};
|