jQuery(function($){
$(document).on('click', '.wp_docs_verify_memphis', function(e){
e.preventDefault();
var $btn = $(this);
if($btn.data('running')){
return false;
}
$btn.data('running', true);
$('#wpdocs_memphis_verify_results').html('');
$('#wpdocs_memphis_verify_tree').html('');
$('#wpdocs_memphis_verify_progress_wrap').show();
$('#wpdocs_memphis_verify_progress_bar')
.css('width', '0%')
.text('0%');
$('#wpdocs_memphis_verify_current')
.html(wpdocs_vars.preparing_queue);
if($.blockUI){
$.blockUI({
message: ''
});
}
$.ajax({
url: ajaxurl,
type: 'POST',
dataType: 'json',
data: {
action: 'wp_docs_verify_memphis_docs_start',
nonce: wpdocs_vars.nonce
},
success: function(response){
if(!response.success){
alert(
response.data
?
response.data
:
wpdocs_vars.unable_to_start
);
$btn.data('running', false);
if($.unblockUI){
$.unblockUI();
}
return;
}
wpdocs_verify_batch();
},
error: function(){
alert(wpdocs_vars.ajax_error);
$btn.data('running', false);
if($.unblockUI){
$.unblockUI();
}
}
});
});
function wpdocs_verify_batch(){
$.ajax({
url: ajaxurl,
type: 'POST',
dataType: 'json',
data: {
action: 'wp_docs_verify_memphis_docs_batch',
nonce: wpdocs_vars.nonce
},
success: function(response){
if(!response.success){
alert(
response.data
?
response.data
:
wpdocs_vars.verification_failed
);
$('.wp_docs_verify_memphis')
.data('running', false);
if($.unblockUI){
$.unblockUI();
}
return;
}
var data = response.data;
update_progress(data);
render_stats(data.stats);
render_tree(data.tree);
if(data.completed){
$('.wp_docs_verify_memphis')
.data('running', false);
$('#wpdocs_memphis_verify_current')
.html(
'' + wpdocs_vars.verification_completed + ''
);
if($.unblockUI){
$.unblockUI();
}
if(
parseInt(data.stats.folders_missing)
||
parseInt(data.stats.files_missing)
){
if(
$('#wpdocs_memphis_import_missing_wrap').length
){
$('#wpdocs_memphis_import_missing_wrap').show();
}
}
}else{
setTimeout(function(){
wpdocs_verify_batch();
}, 150);
}
},
error: function(){
$('.wp_docs_verify_memphis')
.data('running', false);
if($.unblockUI){
$.unblockUI();
}
alert(wpdocs_vars.verification_interrupted);
}
});
}
function update_progress(data){
var percent = parseFloat(data.percent);
$('#wpdocs_memphis_verify_progress_bar')
.css('width', percent + '%')
.text(percent + '%');
var current_text = '';
if(
data.current_item
&&
data.current_item.type
){
if(data.current_item.type === 'folder'){
current_text =
wpdocs_vars.checking_folder + ' '
+
data.current_item.data.name
+
'';
}else{
var file_name =
data.current_item.data.name
?
data.current_item.data.name
:
(
data.current_item.data.filename
?
data.current_item.data.filename
:
wpdocs_vars.unknown_file
);
current_text =
wpdocs_vars.checking_file + ' '
+
file_name
+
'';
}
}
current_text +=
'
'
+
data.processed
+
' / '
+
data.total
+
' ' + wpdocs_vars.items_processed + '';
$('#wpdocs_memphis_verify_current')
.html(current_text);
}
function render_stats(stats){
var html = '';
html += '
| ' + wpdocs_vars.total_folders + ' | '; html += '' + stats.folders_total + '<\/td>'; html += '<\/tr>'; html += ' |
|---|---|
| ' + wpdocs_vars.verified_folders + ' | '; html += '' + stats.folders_found + '<\/td>'; html += '<\/tr>'; html += ' |
| ' + wpdocs_vars.missing_folders + ' | '; html += '' + stats.folders_missing + '<\/td>'; html += '<\/tr>'; html += ' |
| ' + wpdocs_vars.total_files + ' | '; html += '' + stats.files_total + '<\/td>'; html += '<\/tr>'; html += ' |
| ' + wpdocs_vars.verified_files + ' | '; html += '' + stats.files_found + '<\/td>'; html += '<\/tr>'; html += ' |
| ' + wpdocs_vars.missing_files + ' | '; html += '' + stats.files_missing + '<\/td>'; html += '<\/tr>'; html += ' |