| Current Path : /home/ereika83/www/wp-content/plugins/snapshot/assets/js/src/pages/ |
| Current File : /home/ereika83/www/wp-content/plugins/snapshot/assets/js/src/pages/snapshot_create.js |
(function ($) {
// page ID or "slug"
window.SS_PAGES.snapshot_page_snapshot_pro_snapshot_create = function () {
// Check if there are hidden invalid values in storage limits. Mainly for taking care of existing snapshots updating to 3.2.
validate_archive_count("all", false);
jQuery("input[name='frequency']").on('change', function () {
var backup_frequency_options = jQuery("input[name='frequency']:checked").val();
if ((backup_frequency_options === "once")) {
jQuery('#snapshot-immediate').prop('disabled', false).prop('checked', true);
jQuery('#snapshot-interval').prop('disabled', true);
jQuery('div#snapshot-schedule-options-container').slideUp('fast');
jQuery('#snapshot-add-update-submit').text(jQuery('#snapshot-add-update-submit').data('title-save-and-run'));
} else {
jQuery('#snapshot-immediate').prop('disabled', true).prop('checked', false);
jQuery('#snapshot-interval').prop('disabled', false);
jQuery('div#snapshot-schedule-options-container').slideDown('slow');
if (!jQuery('#checkbox-run-backup-now').is(':checked')) {
jQuery('#snapshot-add-update-submit').text(jQuery('#snapshot-add-update-submit').data('title-save-only'));
}
}
}).trigger('change');
jQuery("input[name='snapshot-clean-remote']").on('change', function () {
var clean_remotes = jQuery("input[name='snapshot-clean-remote']:checked").val();
if (clean_remotes === "1") {
jQuery('div#remote-count').slideDown('fast');
validate_archive_count("remote", "enable");
} else {
jQuery('div#remote-count').slideUp('fast');
validate_archive_count("remote", "disable");
}
}).trigger('change');
jQuery("input[name='snapshot-clean-local']").on('change', function () {
var clean_locals = jQuery("input[name='snapshot-clean-local']:checked").val();
if (clean_locals === "1") {
jQuery('div#local-count').slideDown('fast');
validate_archive_count("local", "enable");
} else {
jQuery('div#local-count').slideUp('fast');
validate_archive_count("local", "disable");
}
}).trigger('change');
function validate_archive_count(storage, state) {
if (storage === "remote") {
if (state === "enable") {
jQuery('input#snapshot-remote-archive-count').prop('disabled', false);
} else {
jQuery('input#snapshot-remote-archive-count').prop('disabled', true);
}
} else if (storage === "local") {
if (state === "enable") {
jQuery('input#snapshot-archive-count').prop('disabled', false);
} else {
jQuery('input#snapshot-archive-count').prop('disabled', true);
}
} if (storage === "all") {
if (jQuery("input[name='snapshot-clean-local']:checked").val() !== "1") {
jQuery('input#snapshot-archive-count').prop('disabled', true);
}
if (jQuery("input[name='snapshot-clean-remote']:checked").val() !== "1") {
jQuery('input#snapshot-remote-archive-count').prop('disabled', true);
}
}
return false;
}
jQuery("#checkbox-run-backup-now").on('change', function () {
if ($(this).is(':checked') && jQuery("input[name='frequency']:checked").val() !== "once") {
jQuery('#snapshot-add-update-submit').text(jQuery('#snapshot-add-update-submit').data('title-save-and-run'));
} else {
if (jQuery("input[name='frequency']:checked").val() !== "once") {
jQuery('#snapshot-add-update-submit').text(jQuery('#snapshot-add-update-submit').data('title-save-only'));
}
}
}).trigger('change');
jQuery('[name=snapshot-destination]').on('change', function () {
var destination_type = jQuery('[name=snapshot-destination]:checked').attr('data-destination-type');
if (destination_type == "dropbox") {
jQuery('input#snapshot-destination-sync-mirror').prop('disabled', false);
} else {
jQuery('input#snapshot-destination-sync-mirror').prop('disabled', true);
jQuery('input#snapshot-destination-sync-archive').prop('checked', true);
}
if (destination_type == "local") {
jQuery('div#clean-remote-count').slideUp('fast');
} else {
jQuery('div#clean-remote-count').slideDown('fast');
}
}).trigger('change');
/* Handler for Backup/Restore user Aborts */
var snapshot_ajax_hdl_xhr = null;
var snapshot_ajax_user_aborted = false;
function snapshot_button_abort_proc() {
snapshot_ajax_hdl_xhr !== null && snapshot_ajax_hdl_xhr.abort();
snapshot_ajax_user_aborted = true;
jQuery('#wps-build-error').removeClass('hidden').find(".wps-auth-message p").html(snapshot_messages.snapshot_aborted);
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
return false;
}
jQuery("#wps-show-full-log").on('click', function (e) {
e.preventDefault();
var $self = jQuery(this);
var log = jQuery('#wps-log');
if (log.is('.hidden')) {
$self.text($self.attr('data-wps-hide-title'));
log.removeClass('hidden');
} else {
$self.text($self.attr('data-wps-show-title'));
log.addClass('hidden');
}
});
jQuery("#wps-build-error-again").on('click', function (e) {
e.preventDefault();
jQuery('#wps-build-error').addClass("hidden");
jQuery('#wps-build-progress').removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").addClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").removeClass("hidden");
jQuery("form#snapshot-add-update").trigger('submit');
});
jQuery("#wps-build-error-back").on('click', function (e) {
e.preventDefault();
jQuery('#wps-build-error').addClass("hidden");
jQuery('#wps-build-progress').removeClass("hidden");
jQuery('#snapshot-add-update').removeClass('hidden');
jQuery('#container.wps-page-builder').addClass('hidden');
jQuery(".wpmud-box-title .wps-title-result").addClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").removeClass("hidden");
});
jQuery('#wps-cancel').off().on('click', function (e) {
e.preventDefault();
snapshot_button_abort_proc();
$('html,body').animate({
scrollTop: $("#container.wps-page-builder").offset().top
}, 'slow');
});
$( '#container.wps-page-builder' ).off('click.abort').on( 'click.abort', 'a.snapshot-button-abort', function(e) {
e.preventDefault();
snapshot_button_abort_proc();
$('html,body').animate({
scrollTop: $("#container.wps-page-builder").offset().top
}, 'slow');
});
jQuery('.snapshot-tables-option, .snapshot-files-option').on('change', function () {
if (jQuery('#snapshot-tables-option-none:checked').length === 1 && jQuery('#snapshot-files-option-none:checked').length === 1) {
/* Show a warning and disable the submit button show a warning */
jQuery("#snapshot-ajax-error").html('<p>' + snapshot_messages.no_files_tables + '</p>').show();
jQuery("#snapshot-add-update-submit").addClass("button-disabled");
} else {
jQuery("#snapshot-ajax-error").html('').hide();
jQuery("#snapshot-add-update-submit").removeClass("button-disabled");
}
});
/* Used on the 'Add New Snapshot' panel. Handles the form submit to backup one table per request. Seems this was taking too long on some servers. */
jQuery("form#snapshot-add-update").off().on('submit', function (e) {
snapshot_ajax_user_aborted = false;
jQuery('[id^="snapshot-item-table-"]').remove();
jQuery('#snapshot-item-file').remove();
var snapshot_form_files_sections = [];
var snapshot_form_files_option = jQuery('input.snapshot-files-option:checked').val();
var snapshot_form_destination_sync = 'archive';
var snapshot_form_files_ignore = '';
var security = jQuery(':hidden#snapshot-ajax-nonce').val();
if (snapshot_form_files_option !== "none") {
if (snapshot_form_files_option === "all") {
} else if (snapshot_form_files_option === "selected") {
jQuery('input.snapshot-backup-sub-options:checked', this).each(function () {
snapshot_form_files_sections[snapshot_form_files_sections.length] = jQuery(this).attr('value');
});
// Do we have tables to process?
if (snapshot_form_files_sections.length === 0) {
/* If the user didn't select any sub=options show this warning */
jQuery("#snapshot-ajax-warning").html('<p>' + snapshot_messages.no_files_selected + '</p>').show();
return false;
}
}
snapshot_form_files_ignore = jQuery('textarea#snapshot-files-ignore').val();
snapshot_form_destination_sync = jQuery('input.snapshot-destination-sync:checked').val();
}
/* Build and array of the checked tables to backup */
var snapshot_form_tables_array = [];
var snapshot_form_tables_option = jQuery('input.snapshot-tables-option:checked').val();
if (snapshot_form_tables_option === "selected") {
jQuery('input.snapshot-table-item:checked', this).each(function () {
var cb_value = jQuery(this).attr('value');
snapshot_form_tables_array[snapshot_form_tables_array.length] = cb_value;
});
// Do we have tables to process?
if (snapshot_form_tables_array.length === 0) {
/* If the user didn't select any tables show this warning */
jQuery("#snapshot-ajax-warning").html('<p>' + snapshot_messages.no_tables_selected + '</p>').show();
return false;
}
} else if (snapshot_form_tables_option === "all") {
jQuery('input.snapshot-table-item', this).each(function () {
snapshot_form_tables_array[snapshot_form_tables_array.length] = jQuery(this).attr('value');
});
}
if (snapshot_form_files_option === "none" && snapshot_form_tables_option === "none") {
/* If the user didn't select any files or tables show a warning */
jQuery("#snapshot-ajax-error").html('<p>' + snapshot_messages.no_files_tables + '</p>').show();
return false;
}
var snapshot_form_item;
var snapshot_form_action = jQuery('input#snapshot-action', this).val();
if (snapshot_form_action === "add" || snapshot_form_action === "update") {
snapshot_form_item = jQuery('input#snapshot-item', this).val();
}
var snapshot_form_data_item = jQuery('input#snapshot-data-item', this).val();
if (snapshot_form_item === '') {
jQuery("#snapshot-ajax-warning").html('<p>' + snapshot_messages.missing_timekey + '</p>').show();
return false;
}
/* If the interval is not empty then the user is attempting to set a scheduled snapshot. So return true to allow the form submit */
var snapshot_form_frequency = jQuery('input[name=frequency]:checked', this).val();
var snapshot_form_interval = (snapshot_form_frequency !== 'once') ? jQuery('select#snapshot-interval', this).val() : "immediate";
var snapshot_form_run_now = jQuery('#checkbox-run-backup-now', this).is(':checked');
if (!snapshot_form_run_now && snapshot_form_interval !== "immediate") {
return true;
}
e.preventDefault();
var snapshot_form_archive_count = jQuery('input#snapshot-archive-count', this).val();
var snapshot_form_remote_archive_count = jQuery('input#snapshot-remote-archive-count', this).val();
var snapshot_form_destination = jQuery('[name=snapshot-destination]:checked', this).val();
var snapshot_destination_local = jQuery('select#snapshot-destination-local', this).val();
var snapshot_form_destination_directory = jQuery('input#snapshot-destination-directory', this).val();
/* From the form grab the Name and Notes field values. */
var snapshot_form_blog_id = 0;
if (jQuery('select#snapshot-blog-id', this).length > 0) {
snapshot_form_blog_id = jQuery('select#snapshot-blog-id', this).val();
} else {
snapshot_form_blog_id = jQuery('input#snapshot-blog-id', this).val();
}
var snapshot_form_name = jQuery('input#snapshot-name', this).val();
var snapshot_form_notes = jQuery('textarea#snapshot-notes', this).val();
//var snapshot_form_files_option = jQuery('input:radio["name=snapshot-files-option"]:checked').val();
snapshot_form_files_option = jQuery('input:radio[name=snapshot-files-option]:checked', this).val();
if (jQuery('input:radio[name=snapshot-clean-remote]:checked', this).val() === "1") {
var snapshot_clean_remote = 1;
} else {
var snapshot_clean_remote = 0;
snapshot_form_remote_archive_count = false;
}
if (jQuery('input:radio[name=snapshot-clean-local]:checked', this).val() === "1") {
var snapshot_clean_local = 1;
} else {
var snapshot_clean_local = 0;
snapshot_form_archive_count = false;
}
// Set the backwards compatibility flag.
var snapshot_transitioned_purging = jQuery('input#snapshot-transitioned-purging', this).val();
// Clear out the progress text and warning containers
jQuery('#snapshot-ajax-warning').html('').hide();
/* Hide the form while processing */
jQuery('#snapshot-add-update').addClass('hidden');
var snapshot_item_html;
for (var table_key in snapshot_form_tables_array) {
if (!snapshot_form_tables_array.hasOwnProperty(table_key)) continue;
var table_name = snapshot_form_tables_array[table_key];
snapshot_item_html = $('<tr id="snapshot-item-table-' + table_name + '"></tr>')
.append($('#wps-log-process-template').html())
.find('.wps-log-process.name').html(table_name)
.end();
jQuery('tr#wps-log-process-finish').before(snapshot_item_html);
}
if (snapshot_form_files_option === 'all' || snapshot_form_files_option === 'selected') {
snapshot_item_html = $('<tr id="snapshot-item-file"></tr>')
.append($('#wps-log-process-template').html())
.find('.wps-log-process.name').html('Files: <span class="snapshot-filename" style="font-style: italic;"></span>')
.end();
jQuery('tr#wps-log-process-finish').before(snapshot_item_html);
}
// Add/Show the progerss bars.
jQuery('#container.wps-page-builder').removeClass('hidden');
var globalProgressTotal = snapshot_form_tables_array.length + 2;
var globalProgressNow = 0;
var tablesArray = [];
var filesArray = [];
function snapshot_backup_tables_proc(proc_action, idx) {
var table_name;
var data;
var snapshot_percent;
if (proc_action === 'init') {
table_name = proc_action;
data = {
action: 'snapshot_backup_ajax',
'snapshot-proc-action': proc_action,
'snapshot-action': snapshot_form_action,
'snapshot-item': snapshot_form_item,
'snapshot-data-item': snapshot_form_data_item,
'snapshot-blog-id': snapshot_form_blog_id,
'snapshot-name': snapshot_form_name,
'snapshot-notes': snapshot_form_notes,
'snapshot-files-option': snapshot_form_files_option,
'snapshot-files-sections': snapshot_form_files_sections,
'snapshot-files-ignore': snapshot_form_files_ignore,
'snapshot-tables-option': snapshot_form_tables_option,
'snapshot-tables-array': snapshot_form_tables_array,
'snapshot-interval': snapshot_form_interval,
'snapshot-archive-count': snapshot_form_archive_count,
'snapshot-remote-archive-count': snapshot_form_remote_archive_count,
'snapshot-destination': snapshot_form_destination,
'snapshot-store-local': snapshot_destination_local,
'snapshot-destination-directory': snapshot_form_destination_directory,
'snapshot-destination-sync': snapshot_form_destination_sync,
'snapshot-clean-remote': snapshot_clean_remote,
'snapshot-clean-local': snapshot_clean_local,
'snapshot-transitioned-purging': snapshot_transitioned_purging,
'security': security,
};
jQuery('[id^=snapshot-interval-offset]').each(function () {
data[this.name] = this.value;
});
snapshot_ajax_hdl_xhr = jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: data,
dataType: 'json',
error: function (jqXHR, textStatus, errorThrown) {
if (jqXHR.responseText !== false && jqXHR.responseText !== '') {
jQuery("#wps-build-error .wps-auth-message p").html(jqXHR.responseText);
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else {
jQuery("#wps-build-error .wps-auth-message p").html('<p>AAA ' + snapshot_messages.snapshot_failed + '</p>');
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
},
success: function (reply_data) {
if (reply_data === undefined || reply_data.errorStatus === undefined) {
jQuery("#wps-build-error").removeClass("hidden").find(".wps-auth-message p").html('<p>BBB ' + snapshot_messages.snapshot_failed + '</p>');
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else if (reply_data.errorStatus !== false) {
if (reply_data.errorText === undefined) {
jQuery("#wps-build-error").removeClass("hidden").find(".wps-auth-message p").html('<p>CCC ' + snapshot_messages.snapshot_failed + '</p>');
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else {
jQuery("#snapshot-ajax-error").append(reply_data.errorText);
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
} else if (reply_data.errorStatus === false || snapshot_ajax_user_aborted === false) {
var table_name = proc_action; // Init
jQuery('#container.wps-page-builder #wps-log-process-init .wps-loading-status .wps-loading-bar span').width('100%');
jQuery('#container.wps-page-builder #wps-log-process-init .wps-loading-status .wps-loading-number').html('100%');
jQuery('#container.wps-page-builder #wps-log-process-init .wps-loading-status .wps-loading-bar .wps-loader').addClass('done');
jQuery('#container.wps-page-builder #wps-log-process-init .wps-loading-status').removeClass('wps-spinner');
jQuery('#container.wps-page-builder #wps-log-process-init .snapshot-button-abort').addClass('hidden');
globalProgressNow++;
var globalProgressNowPercent = Math.min(100, Math.round((globalProgressNow * 100) / globalProgressTotal));
jQuery("#wps-build-progress .wps-total-status .wps-loading-number").html(globalProgressNowPercent + '%');
jQuery("#wps-build-progress .wps-total-status .wps-loading-bar span").width(globalProgressNowPercent + '%');
/* IF no error we start on the files. */
if (snapshot_ajax_user_aborted === false) {
if (reply_data.files_data !== undefined) {
filesArray = reply_data.files_data;
globalProgressTotal += filesArray.length;
}
if (reply_data.table_data !== undefined) {
tablesArray = reply_data.table_data;
//Removing tables row from progress log if user do not have the right to backup
var tablesString = JSON.stringify(reply_data.table_data);
if(tablesString){
for (var table_key in snapshot_form_tables_array) {
if (!snapshot_form_tables_array.hasOwnProperty(table_key)) continue;
var table_name = snapshot_form_tables_array[table_key];
if(tablesString.indexOf(table_name) === -1) {
$('#snapshot-item-table-' + table_name).remove();
}
}
}
snapshot_backup_tables_proc('table', 0);
}
if (reply_data.MEMORY !== undefined) {
if (reply_data.MEMORY.memory_limit !== undefined) {
jQuery('#snapshot-memory-info').find('.log-memory.number').html(reply_data.MEMORY.memory_limit);
}
if (reply_data.MEMORY.memory_usage_current !== undefined) {
jQuery('#snapshot-memory-info .log-usage.number').html(reply_data.MEMORY.memory_usage_current);
}
if (reply_data.MEMORY.memory_usage_peak !== undefined) {
jQuery('#snapshot-memory-info .log-peak.number').html(reply_data.MEMORY.memory_usage_peak);
}
}
}
}
}
});
} else if (proc_action === 'table') {
var table_idx = parseInt(idx);
var table_count = table_idx + 1;
/* If we reached the end of the tables send the finish. */
if (table_count > tablesArray.length) {
if (filesArray.length > 0) {
snapshot_backup_tables_proc('file', 0);
} else {
snapshot_backup_tables_proc('finish', 0);
}
return;
} else {
var table_data = tablesArray[table_idx];
table_name = table_data.table_name;
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_name + ' a.snapshot-button-abort').removeClass('hidden');
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_name + ' .wps-spinner').removeClass('hidden');
data = {
action: 'snapshot_backup_ajax',
'snapshot-proc-action': proc_action,
'snapshot-action': snapshot_form_action,
'snapshot-item': snapshot_form_item,
'snapshot-data-item': snapshot_form_data_item,
'snapshot-blog-id': snapshot_form_blog_id,
'snapshot-table-data-idx': table_idx,
'security': security,
};
snapshot_ajax_hdl_xhr = jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: data,
dataType: 'json',
error: function (jqXHR, textStatus, errorThrown) {
if (jqXHR.responseText !== false && jqXHR.responseText !== '') {
jQuery("#wps-build-error .wps-auth-message p").html(jqXHR.responseText);
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else {
jQuery("#wps-build-error .wps-auth-message p").html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
},
success: function (reply_data) {
if (reply_data === undefined || reply_data.errorStatus === undefined) {
jQuery("#wps-build-error").removeClass("hidden").find(".wps-auth-message p").html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else if (reply_data.errorStatus !== false) {
if (reply_data.errorText === undefined) {
jQuery("#wps-build-error").removeClass("hidden").find(".wps-auth-message p").html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else {
jQuery("#snapshot-ajax-error").append(reply_data.errorText);
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
} else if (reply_data.errorStatus === false || snapshot_ajax_user_aborted === false) {
if (reply_data.table_data === undefined) {
if (reply_data.errorText !== undefined) {
jQuery("#snapshot-ajax-error").append(reply_data.errorText);
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else {
jQuery("#wps-build-error .wps-auth-message p").html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
} else {
table_data = reply_data.table_data;
var snapshot_percent;
var rows_complete = parseInt(table_data.rows_start) + parseInt(table_data.rows_end);
if (rows_complete > 0) {
snapshot_percent = Math.ceil((rows_complete / table_data.rows_total) * 100);
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_data.table_name + ' .wps-loading-status .wps-loading-bar span').width(snapshot_percent + '%');
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_data.table_name + ' .wps-loading-status .wps-loading-number').html(snapshot_percent + '%');
} else {
snapshot_percent = 100;
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_data.table_name + ' .wps-loading-status .wps-loading-bar span').width(snapshot_percent + '%');
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_data.table_name + ' .wps-loading-status .wps-loading-number').html(snapshot_percent + '%');
}
// Are we at 100%? Hide the Abort button
if (snapshot_percent === 100) {
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_data.table_name + ' .snapshot-button-abort').hide();
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_data.table_name + ' .wps-spinner').hide();
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_data.table_name + ' .wps-loading-status .wps-loading-bar .wps-loader').addClass('done');
globalProgressNow++;
var globalProgressNowPercent = Math.min(100, Math.ceil((globalProgressNow * 100) / globalProgressTotal));
jQuery("#wps-build-progress .wps-total-status .wps-loading-number").html(globalProgressNowPercent + '%');
jQuery("#wps-build-progress .wps-total-status .wps-loading-bar span").width(globalProgressNowPercent + '%');
}
if (reply_data.MEMORY !== undefined) {
if (reply_data.MEMORY.memory_limit !== undefined) {
jQuery('#snapshot-memory-info span.memory-limit').html(reply_data.MEMORY.memory_limit);
}
if (reply_data.MEMORY.memory_usage_current !== undefined) {
jQuery('#snapshot-memory-info span.memory-usage').html(reply_data.MEMORY.memory_usage_current);
}
if (reply_data.MEMORY.memory_usage_peak !== undefined) {
jQuery('#snapshot-memory-info span.memory-peak').html(reply_data.MEMORY.memory_usage_peak);
}
}
}
snapshot_backup_tables_proc('table', table_count);
}
}
});
}
} else if (proc_action === "file") {
var file_idx = parseInt(idx);
var file_count = file_idx + 1;
table_name = proc_action;
/* If we reached the end of the tables send the finish. */
if (file_count > filesArray.length) {
snapshot_backup_tables_proc('finish', 0);
return false;
} else {
var file_data_key = filesArray[file_idx];
jQuery('#snapshot-item-' + table_name + ' .snapshot-filename').html(": " + file_data_key);
jQuery('#container.wps-page-builder #snapshot-item-' + table_name + ' a.snapshot-button-abort').removeClass('hidden');
jQuery('#container.wps-page-builder #snapshot-item-' + table_name + ' .wps-spinner').removeClass('hidden');
data = {
action: 'snapshot_backup_ajax',
'snapshot-proc-action': proc_action,
'snapshot-action': snapshot_form_action,
'snapshot-item': snapshot_form_item,
'snapshot-data-item': snapshot_form_data_item,
'snapshot-blog-id': snapshot_form_blog_id,
'snapshot-file-data-key': file_data_key,
'security': security,
};
snapshot_ajax_hdl_xhr = jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: data,
dataType: 'json',
error: function (jqXHR, textStatus, errorThrown) {
if (jqXHR.responseText !== false && jqXHR.responseText !== '') {
jQuery("#wps-build-error .wps-auth-message p").html(jqXHR.responseText);
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else {
jQuery("#wps-build-error .wps-auth-message p").html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
},
success: function (reply_data) {
if ((reply_data === undefined) || (reply_data.errorStatus === undefined)) {
jQuery("#wps-build-error").removeClass('hidden').find('.wps-auth-message p').html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else if (reply_data.errorStatus !== false) {
if (reply_data.errorText === undefined) {
jQuery("#wps-build-error").removeClass('hidden').find('.wps-auth-message p').html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else {
jQuery("#snapshot-ajax-error").append(reply_data.errorText);
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
} else if (reply_data.errorStatus === false || snapshot_ajax_user_aborted === false) {
var snapshot_percent;
if (file_count < filesArray.length) {
snapshot_percent = Math.ceil((file_count / filesArray.length) * 100);
jQuery('#container.wps-page-builder #snapshot-item-' + table_name + ' .wps-loading-status .wps-loading-bar span').width(snapshot_percent + '%');
jQuery('#container.wps-page-builder #snapshot-item-' + table_name + ' .wps-loading-status .wps-loading-number').html(snapshot_percent + '%');
} else {
globalProgressNow++;
var globalProgressNowPercent = Math.min(100, Math.ceil((globalProgressNow * 100) / globalProgressTotal));
jQuery("#wps-build-progress .wps-total-status .wps-loading-number").html(globalProgressNowPercent + '%');
jQuery("#wps-build-progress .wps-total-status .wps-loading-bar span").width(globalProgressNowPercent + '%');
snapshot_percent = 100;
jQuery('#container.wps-page-builder #snapshot-item-' + table_name + ' .wps-loading-status .wps-loading-bar span').width(snapshot_percent + '%');
jQuery('#container.wps-page-builder #snapshot-item-' + table_name + ' .wps-loading-status .wps-loading-number').html(snapshot_percent + '%');
jQuery('#container.wps-page-builder #snapshot-item-' + table_name + ' .wps-loading-status .wps-loading-bar .wps-loader').addClass('done');
}
// Are we at 100%? Hide the Abort button
if (snapshot_percent == 100) {
jQuery('#container.wps-page-builder #snapshot-item-' + table_name + ' .snapshot-button-abort').hide();
jQuery('#container.wps-page-builder #snapshot-item-' + table_name + ' .wps-spinner').hide();
jQuery('#snapshot-item-' + table_name + ' .snapshot-filename').html("");
}
if (reply_data.MEMORY !== undefined) {
if (reply_data.MEMORY.memory_limit !== undefined) {
jQuery('#snapshot-memory-info span.memory-limit').html(reply_data.MEMORY.memory_limit);
}
if (reply_data.MEMORY.memory_usage_current !== undefined) {
jQuery('#snapshot-memory-info span.memory-usage').html(reply_data.MEMORY.memory_usage_current);
}
if (reply_data.MEMORY.memory_usage_peak !== undefined) {
jQuery('#snapshot-memory-info span.memory-peak').html(reply_data.MEMORY.memory_usage_peak);
}
}
snapshot_backup_tables_proc('file', file_count);
}
}
});
}
} else if (proc_action == 'finish') {
table_name = proc_action;
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_name + ' .wps-loading-status .wps-loading-bar span').width('0%');
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_name + ' .wps-loading-status .wps-loading-number').html('0%');
var table_text = jQuery('#container.wps-page-builder #snapshot-item-table-' + table_name + ' .snapshot-text').html();
jQuery('#container.wps-page-builder #snapshot-item-table-' + table_name + ' .snapshot-text').html(table_text + ' (creating zip archive of tables)');
data = {
action: 'snapshot_backup_ajax',
'snapshot-proc-action': proc_action,
'snapshot-action': snapshot_form_action,
'snapshot-item': snapshot_form_item,
'snapshot-data-item': snapshot_form_data_item,
'snapshot-blog-id': snapshot_form_blog_id,
'security': security,
};
snapshot_ajax_hdl_xhr = jQuery.ajax({
type: 'POST',
url: ajaxurl,
data: data,
dataType: 'json',
error: function (jqXHR, textStatus, errorThrown) {
if (jqXHR.responseText !== false && jqXHR.responseText !== '') {
jQuery("#wps-build-error .wps-auth-message p").html(jqXHR.responseText);
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else {
jQuery("#wps-build-error").removeClass('hidden').find('.wps-auth-message p').html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
},
success: function (reply_data) {
if ((reply_data === undefined) || (reply_data.errorStatus === undefined)) {
jQuery("#wps-build-error").removeClass('hidden').find('.wps-auth-message p').html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else if (reply_data.errorStatus !== false) {
if (reply_data.errorText === undefined) {
jQuery("#wps-build-error").removeClass('hidden').find('.wps-auth-message p').html('<p>' + snapshot_messages.snapshot_failed + '</p>');
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
} else {
jQuery("#snapshot-ajax-error").append(reply_data.errorText);
jQuery("#wps-build-error").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-result").removeClass("hidden");
jQuery(".wpmud-box-title .wps-title-progress").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
} else if ((reply_data.errorStatus === false) || (snapshot_ajax_user_aborted === false)) {
globalProgressNow++;
var globalProgressNowPercent = Math.min(100, Math.ceil((globalProgressNow * 100) / globalProgressTotal));
jQuery("#wps-build-progress .wps-total-status .wps-loading-number").html(globalProgressNowPercent + '%');
jQuery("#wps-build-progress .wps-total-status .wps-loading-bar span").width(globalProgressNowPercent + '%');
var table_name = "finish";
jQuery('#container.wps-page-builder #wps-log-process-finish .wps-loading-status .wps-loading-bar span').width('100%');
jQuery('#container.wps-page-builder #wps-log-process-finish .wps-loading-status .wps-loading-number').html('100%');
jQuery('#container.wps-page-builder #wps-log-process-finish .wps-loading-status .wps-loading-bar .wps-loader').addClass('done');
jQuery('#container.wps-page-builder #wps-log-process-finish .wps-loading-status').removeClass('wps-spinner');
if (reply_data.MEMORY !== undefined) {
if (reply_data.MEMORY.memory_limit !== undefined) {
jQuery('#snapshot-memory-info span.memory-limit').html(reply_data.MEMORY.memory_limit);
}
if (reply_data.MEMORY.memory_usage_current !== undefined) {
jQuery('#snapshot-memory-info span.memory-usage').html(reply_data.MEMORY.memory_usage_current);
}
if (reply_data.MEMORY.memory_usage_peak !== undefined) {
jQuery('#snapshot-memory-info span.memory-peak').html(reply_data.MEMORY.memory_usage_peak);
}
}
if (reply_data.responseText !== undefined) {
//jQuery( "#snapshot-ajax-warning" ).html('<p>'+reply_data['responseText']+'</p>');
//jQuery( "#snapshot-ajax-warning" ).show();
jQuery("#wps-build-success").removeClass("hidden").find(".wps-auth-message.success").html('<p>' + reply_data.responseText + '</p>');
jQuery("#wps-build-success-view").attr('href', jQuery("#wps-build-success .wps-auth-message.success").find('a').attr('href'));
jQuery("#wps-build-error").addClass("hidden");
jQuery("#wps-build-progress").addClass("hidden");
}
}
}
});
}
}
/* Make an AJAX call with 'init' to setup the Session backup filename and other items */
snapshot_backup_tables_proc('init', 0);
return true;
});
};
}(jQuery));