installed plugin Infinite Uploads
version 2.0.8
This commit is contained in:
7
wp-content/plugins/infinite-uploads/inc/assets/js/Chart.min.js
vendored
Normal file
7
wp-content/plugins/infinite-uploads/inc/assets/js/Chart.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,653 @@
|
||||
jQuery(document).ready(function ($) {
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
$('.color-field').wpColorPicker();
|
||||
|
||||
var iupStopLoop = false;
|
||||
var iupProcessingLoop = false;
|
||||
var iupLoopErrors = 0;
|
||||
var iupAjaxCall = false;
|
||||
|
||||
//show a confirmation warning if leaving page during a bulk action
|
||||
$(window).on("unload", function () {
|
||||
if (iupProcessingLoop) {
|
||||
return iup_data.strings.leave_confirmation;
|
||||
}
|
||||
});
|
||||
|
||||
//show an error at top of main settings page
|
||||
var showError = function (error_message) {
|
||||
$('#iup-error').text(error_message.substr(0, 200)).show();
|
||||
$('html, body').animate({scrollTop: 0}, 1000);
|
||||
};
|
||||
|
||||
var buildFilelist = function (remaining_dirs, nonce = '') {
|
||||
if (iupStopLoop) {
|
||||
iupStopLoop = false;
|
||||
iupProcessingLoop = false;
|
||||
return false;
|
||||
}
|
||||
iupProcessingLoop = true;
|
||||
|
||||
var data = {remaining_dirs: remaining_dirs};
|
||||
if (nonce) {
|
||||
data.nonce = nonce;
|
||||
} else {
|
||||
data.nonce = iup_data.nonce.scan;
|
||||
}
|
||||
$.post(
|
||||
ajaxurl + '?action=infinite-uploads-filelist',
|
||||
data,
|
||||
function (json) {
|
||||
if (json.success) {
|
||||
$('#iup-scan-storage').text(json.data.local_size);
|
||||
$('#iup-scan-files').text(json.data.local_files);
|
||||
$('#iup-scan-progress').show();
|
||||
if (!json.data.is_done) {
|
||||
buildFilelist(
|
||||
json.data.remaining_dirs,
|
||||
json.data.nonce
|
||||
);
|
||||
} else {
|
||||
iupProcessingLoop = false;
|
||||
location.reload();
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
showError(json.data);
|
||||
$('.modal').modal('hide');
|
||||
}
|
||||
},
|
||||
'json'
|
||||
).fail(function () {
|
||||
showError(iup_data.strings.ajax_error);
|
||||
$('.modal').modal('hide');
|
||||
});
|
||||
};
|
||||
|
||||
var fetchRemoteFilelist = function (next_token, nonce = '') {
|
||||
if (iupStopLoop) {
|
||||
iupStopLoop = false;
|
||||
iupProcessingLoop = false;
|
||||
return false;
|
||||
}
|
||||
iupProcessingLoop = true;
|
||||
|
||||
var data = {next_token: next_token};
|
||||
if (nonce) {
|
||||
data.nonce = nonce;
|
||||
} else {
|
||||
data.nonce = iup_data.nonce.scan;
|
||||
}
|
||||
$.post(
|
||||
ajaxurl + '?action=infinite-uploads-remote-filelist',
|
||||
data,
|
||||
function (json) {
|
||||
if (json.success) {
|
||||
$('#iup-scan-remote-storage').text(
|
||||
json.data.cloud_size
|
||||
);
|
||||
$('#iup-scan-remote-files').text(json.data.cloud_files);
|
||||
$('#iup-scan-remote-progress').show();
|
||||
if (!json.data.is_done) {
|
||||
fetchRemoteFilelist(
|
||||
json.data.next_token,
|
||||
json.data.nonce
|
||||
);
|
||||
} else {
|
||||
if ('upload' === window.iupNextStep) {
|
||||
//update values in next modal
|
||||
$('#iup-progress-size').text(
|
||||
json.data.remaining_size
|
||||
);
|
||||
$('#iup-progress-files').text(
|
||||
json.data.remaining_files
|
||||
);
|
||||
if ('0' == json.data.remaining_files) {
|
||||
$('#iup-upload-progress').hide();
|
||||
} else {
|
||||
$('#iup-upload-progress').show();
|
||||
}
|
||||
$('#iup-sync-progress-bar')
|
||||
.css('width', json.data.pcnt_complete + '%')
|
||||
.attr(
|
||||
'aria-valuenow',
|
||||
json.data.pcnt_complete
|
||||
)
|
||||
.text(json.data.pcnt_complete + '%');
|
||||
|
||||
$('#iup-sync-button').attr(
|
||||
'data-target',
|
||||
'#upload-modal'
|
||||
);
|
||||
$('.modal').modal('hide');
|
||||
$('#upload-modal').modal('show');
|
||||
} else if ('download' === window.iupNextStep) {
|
||||
$('.modal').modal('hide');
|
||||
$('#download-modal').modal('show');
|
||||
} else {
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
showError(json.data);
|
||||
$('.modal').modal('hide');
|
||||
}
|
||||
},
|
||||
'json'
|
||||
).fail(function () {
|
||||
showError(iup_data.strings.ajax_error);
|
||||
$('.modal').modal('hide');
|
||||
});
|
||||
};
|
||||
|
||||
var syncFilelist = function (nonce = '') {
|
||||
if (iupStopLoop) {
|
||||
iupStopLoop = false;
|
||||
iupProcessingLoop = false;
|
||||
return false;
|
||||
}
|
||||
iupProcessingLoop = true;
|
||||
|
||||
var data = {};
|
||||
if (nonce) {
|
||||
data.nonce = nonce;
|
||||
} else {
|
||||
data.nonce = iup_data.nonce.sync;
|
||||
}
|
||||
iupAjaxCall = $.post(
|
||||
ajaxurl + '?action=infinite-uploads-sync',
|
||||
data,
|
||||
function (json) {
|
||||
iupLoopErrors = 0;
|
||||
if (json.success) {
|
||||
//$('.iup-progress-pcnt').text(json.data.pcnt_complete);
|
||||
$('#iup-progress-size').text(json.data.remaining_size);
|
||||
$('#iup-progress-files').text(
|
||||
json.data.remaining_files
|
||||
);
|
||||
$('#iup-upload-progress').show();
|
||||
$('#iup-sync-progress-bar')
|
||||
.css('width', json.data.pcnt_complete + '%')
|
||||
.attr('aria-valuenow', json.data.pcnt_complete)
|
||||
.text(json.data.pcnt_complete + '%');
|
||||
if (!json.data.is_done) {
|
||||
data.nonce = json.data.nonce; //save for future errors
|
||||
syncFilelist(json.data.nonce);
|
||||
} else {
|
||||
iupStopLoop = true;
|
||||
$('#iup-upload-progress').hide();
|
||||
//update values in next modal
|
||||
$('#iup-enable-errors span').text(
|
||||
json.data.permanent_errors
|
||||
);
|
||||
if (json.data.permanent_errors) {
|
||||
$('.iup-enable-errors').show();
|
||||
}
|
||||
$('#iup-sync-button').attr(
|
||||
'data-target',
|
||||
'#enable-modal'
|
||||
);
|
||||
$('.modal').modal('hide');
|
||||
$('#enable-modal').modal('show');
|
||||
}
|
||||
if (
|
||||
Array.isArray(json.data.errors) &&
|
||||
json.data.errors.length
|
||||
) {
|
||||
$.each(json.data.errors, function (i, value) {
|
||||
$('#iup-sync-errors ul').append(
|
||||
'<li><span class="dashicons dashicons-warning"></span> ' +
|
||||
value +
|
||||
'</li>'
|
||||
);
|
||||
});
|
||||
$('#iup-sync-errors').show();
|
||||
var scroll = $('#iup-sync-errors')[0].scrollHeight;
|
||||
$('#iup-sync-errors').animate(
|
||||
{scrollTop: scroll},
|
||||
5000
|
||||
);
|
||||
}
|
||||
} else {
|
||||
showError(json.data);
|
||||
$('.modal').modal('hide');
|
||||
}
|
||||
},
|
||||
'json'
|
||||
).fail(function () {
|
||||
//if we get an error like 504 try up to 6 times with an exponential backoff to let the server cool down before giving up.
|
||||
iupLoopErrors++;
|
||||
if (iupLoopErrors > 6) {
|
||||
showError(iup_data.strings.ajax_error);
|
||||
$('.modal').modal('hide');
|
||||
iupLoopErrors = 0;
|
||||
iupProcessingLoop = false;
|
||||
} else {
|
||||
var exponentialBackoff = Math.floor(
|
||||
Math.pow(iupLoopErrors, 2.5) * 1000
|
||||
); //max 90s
|
||||
console.log(
|
||||
'Server error. Waiting ' +
|
||||
exponentialBackoff +
|
||||
'ms before retrying'
|
||||
);
|
||||
setTimeout(function () {
|
||||
syncFilelist(data.nonce);
|
||||
}, exponentialBackoff);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var getSyncStatus = function () {
|
||||
if (!iupProcessingLoop) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$.get(
|
||||
ajaxurl + '?action=infinite-uploads-status',
|
||||
function (json) {
|
||||
if (json.success) {
|
||||
$('#iup-progress-size').text(json.data.remaining_size);
|
||||
$('#iup-progress-files').text(
|
||||
json.data.remaining_files
|
||||
);
|
||||
$('#iup-upload-progress').show();
|
||||
$('#iup-sync-progress-bar')
|
||||
.css('width', json.data.pcnt_complete + '%')
|
||||
.attr('aria-valuenow', json.data.pcnt_complete)
|
||||
.text(json.data.pcnt_complete + '%');
|
||||
} else {
|
||||
showError(json.data);
|
||||
}
|
||||
},
|
||||
'json'
|
||||
)
|
||||
.fail(function () {
|
||||
showError(iup_data.strings.ajax_error);
|
||||
})
|
||||
.always(function () {
|
||||
setTimeout(function () {
|
||||
getSyncStatus();
|
||||
}, 15000);
|
||||
});
|
||||
};
|
||||
|
||||
var deleteFiles = function () {
|
||||
if (iupStopLoop) {
|
||||
iupStopLoop = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
$.post(
|
||||
ajaxurl + '?action=infinite-uploads-delete',
|
||||
{nonce: iup_data.nonce.delete},
|
||||
function (json) {
|
||||
if (json.success) {
|
||||
//$('.iup-progress-pcnt').text(json.data.pcnt_complete);
|
||||
$('#iup-delete-size').text(json.data.deletable_size);
|
||||
$('#iup-delete-files').text(json.data.deletable_files);
|
||||
if (!json.data.is_done) {
|
||||
deleteFiles();
|
||||
} else {
|
||||
location.reload();
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
showError(json.data);
|
||||
$('.modal').modal('hide');
|
||||
}
|
||||
},
|
||||
'json'
|
||||
).fail(function () {
|
||||
showError(iup_data.strings.ajax_error);
|
||||
$('.modal').modal('hide');
|
||||
});
|
||||
};
|
||||
|
||||
var downloadFiles = function (nonce = '') {
|
||||
if (iupStopLoop) {
|
||||
iupStopLoop = false;
|
||||
iupProcessingLoop = false;
|
||||
return false;
|
||||
}
|
||||
iupProcessingLoop = true;
|
||||
|
||||
var data = {};
|
||||
if (nonce) {
|
||||
data.nonce = nonce;
|
||||
} else {
|
||||
data.nonce = iup_data.nonce.download;
|
||||
}
|
||||
$.post(
|
||||
ajaxurl + '?action=infinite-uploads-download',
|
||||
data,
|
||||
function (json) {
|
||||
iupLoopErrors = 0;
|
||||
if (json.success) {
|
||||
//$('.iup-progress-pcnt').text(json.data.pcnt_complete);
|
||||
$('#iup-download-size').text(json.data.deleted_size);
|
||||
$('#iup-download-files').text(json.data.deleted_files);
|
||||
$('#iup-download-progress').show();
|
||||
$('#iup-download-progress-bar')
|
||||
.css('width', json.data.pcnt_downloaded + '%')
|
||||
.attr('aria-valuenow', json.data.pcnt_downloaded)
|
||||
.text(json.data.pcnt_downloaded + '%');
|
||||
if (!json.data.is_done) {
|
||||
data.nonce = json.data.nonce; //save for future errors
|
||||
downloadFiles(json.data.nonce);
|
||||
} else {
|
||||
iupProcessingLoop = false;
|
||||
location.reload();
|
||||
return true;
|
||||
}
|
||||
if (
|
||||
Array.isArray(json.data.errors) &&
|
||||
json.data.errors.length
|
||||
) {
|
||||
$.each(json.data.errors, function (i, value) {
|
||||
$('#iup-download-errors ul').append(
|
||||
'<li><span class="dashicons dashicons-warning"></span> ' +
|
||||
value +
|
||||
'</li>'
|
||||
);
|
||||
});
|
||||
$('#iup-download-errors').show();
|
||||
var scroll = $('#iup-download-errors')[0]
|
||||
.scrollHeight;
|
||||
$('#iup-download-errors').animate(
|
||||
{scrollTop: scroll},
|
||||
5000
|
||||
);
|
||||
}
|
||||
} else {
|
||||
showError(json.data);
|
||||
$('.modal').modal('hide');
|
||||
}
|
||||
},
|
||||
'json'
|
||||
).fail(function () {
|
||||
//if we get an error like 504 try up to 6 times before giving up.
|
||||
iupLoopErrors++;
|
||||
if (iupLoopErrors > 6) {
|
||||
showError(iup_data.strings.ajax_error);
|
||||
$('.modal').modal('hide');
|
||||
iupLoopErrors = 0;
|
||||
iupProcessingLoop = false;
|
||||
} else {
|
||||
var exponentialBackoff = Math.floor(
|
||||
Math.pow(iupLoopErrors, 2.5) * 1000
|
||||
); //max 90s
|
||||
console.log(
|
||||
'Server error. Waiting ' +
|
||||
exponentialBackoff +
|
||||
'ms before retrying'
|
||||
);
|
||||
setTimeout(function () {
|
||||
downloadFiles(data.nonce);
|
||||
}, exponentialBackoff);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//Scan
|
||||
$('#scan-modal')
|
||||
.on('show.bs.modal', function () {
|
||||
$('#iup-error').hide();
|
||||
iupStopLoop = false;
|
||||
buildFilelist([]);
|
||||
})
|
||||
.on('hide.bs.modal', function () {
|
||||
iupStopLoop = true;
|
||||
iupProcessingLoop = false;
|
||||
});
|
||||
|
||||
//Compare to live
|
||||
$('#scan-remote-modal')
|
||||
.on('show.bs.modal', function (e) {
|
||||
$('#iup-error').hide();
|
||||
iupStopLoop = false;
|
||||
var button = $(e.relatedTarget); // Button that triggered the modal
|
||||
window.iupNextStep = button.data('next'); // Extract info from data-* attributes
|
||||
fetchRemoteFilelist(null);
|
||||
})
|
||||
.on('hide.bs.modal', function () {
|
||||
iupStopLoop = true;
|
||||
iupProcessingLoop = false;
|
||||
});
|
||||
|
||||
//Sync
|
||||
$('#upload-modal')
|
||||
.on('show.bs.modal', function () {
|
||||
$('.iup-enable-errors').hide(); //hide errors on enable modal
|
||||
$('#iup-collapse-errors').collapse('hide');
|
||||
$('#iup-error').hide();
|
||||
$('#iup-sync-errors').hide();
|
||||
$('#iup-sync-errors ul').empty();
|
||||
iupStopLoop = false;
|
||||
syncFilelist();
|
||||
setTimeout(function () {
|
||||
getSyncStatus();
|
||||
}, 15000);
|
||||
})
|
||||
.on('shown.bs.modal', function () {
|
||||
$('#scan-remote-modal').modal('hide');
|
||||
})
|
||||
.on('hide.bs.modal', function () {
|
||||
iupStopLoop = true;
|
||||
iupProcessingLoop = false;
|
||||
iupAjaxCall.abort();
|
||||
});
|
||||
|
||||
//Make sure upload modal closes
|
||||
$('#enable-modal')
|
||||
.on('shown.bs.modal', function () {
|
||||
$('#upload-modal').modal('hide');
|
||||
})
|
||||
.on('hidden.bs.modal', function () {
|
||||
$('#iup-enable-spinner').addClass('text-hide');
|
||||
$('#iup-enable-button').show();
|
||||
});
|
||||
|
||||
$('#iup-collapse-errors').on('show.bs.collapse', function () {
|
||||
// load up list of errors via ajax
|
||||
$.get(
|
||||
ajaxurl + '?action=infinite-uploads-sync-errors',
|
||||
function (json) {
|
||||
if (json.success) {
|
||||
$('#iup-collapse-errors .list-group').html(json.data);
|
||||
}
|
||||
},
|
||||
'json'
|
||||
);
|
||||
});
|
||||
|
||||
$('#iup-resync-button').on('click', function (e) {
|
||||
$('.iup-enable-errors').hide(); //hide errors on enable modal
|
||||
$('#iup-collapse-errors').collapse('hide');
|
||||
$('#iup-enable-button').hide();
|
||||
$('#iup-enable-spinner').removeClass('text-hide');
|
||||
$.post(
|
||||
ajaxurl + '?action=infinite-uploads-reset-errors',
|
||||
{foo: 'bar'},
|
||||
function (json) {
|
||||
if (json.success) {
|
||||
$('.modal').modal('hide');
|
||||
$('#upload-modal').modal('show');
|
||||
return true;
|
||||
}
|
||||
},
|
||||
'json'
|
||||
).fail(function () {
|
||||
showError(iup_data.strings.ajax_error);
|
||||
$('.modal').modal('hide');
|
||||
});
|
||||
});
|
||||
|
||||
//Download
|
||||
$('#download-modal')
|
||||
.on('show.bs.modal', function () {
|
||||
$('#iup-error').hide();
|
||||
$('#iup-download-errors').hide();
|
||||
$('#iup-download-errors ul').empty();
|
||||
iupStopLoop = false;
|
||||
downloadFiles();
|
||||
})
|
||||
.on('hide.bs.modal', function () {
|
||||
iupStopLoop = true;
|
||||
iupProcessingLoop = false;
|
||||
});
|
||||
|
||||
//Delete
|
||||
$('#delete-modal')
|
||||
.on('show.bs.modal', function () {
|
||||
$('#iup-error').hide();
|
||||
iupStopLoop = false;
|
||||
$('#iup-delete-local-button').show();
|
||||
$('#iup-delete-local-spinner').hide();
|
||||
})
|
||||
.on('hide.bs.modal', function () {
|
||||
iupStopLoop = true;
|
||||
});
|
||||
|
||||
//Delete local files
|
||||
$('#iup-delete-local-button').on('click', function () {
|
||||
$(this).hide();
|
||||
$('#iup-delete-local-spinner').show();
|
||||
deleteFiles();
|
||||
});
|
||||
|
||||
//Enable infinite uploads
|
||||
$('#iup-enable-button').on('click', function () {
|
||||
$('.iup-enable-errors').hide(); //hide errors on enable modal
|
||||
$('#iup-collapse-errors').collapse('hide');
|
||||
$('#iup-enable-button').hide();
|
||||
$('#iup-enable-spinner').removeClass('text-hide');
|
||||
$.post(
|
||||
ajaxurl + '?action=infinite-uploads-toggle',
|
||||
{enabled: true, nonce: iup_data.nonce.toggle},
|
||||
function (json) {
|
||||
if (json.success) {
|
||||
location.reload();
|
||||
return true;
|
||||
}
|
||||
},
|
||||
'json'
|
||||
).fail(function () {
|
||||
showError(iup_data.strings.ajax_error);
|
||||
$('#iup-enable-spinner').addClass('text-hide');
|
||||
$('#iup-enable-button').show();
|
||||
$('.modal').modal('hide');
|
||||
});
|
||||
});
|
||||
|
||||
//Enable video cloud
|
||||
$('#iup-enable-video-button').on('click', function () {
|
||||
$('#iup-enable-video-button').hide();
|
||||
$('#iup-enable-video-spinner').removeClass('d-none').addClass('d-block');
|
||||
$.post(
|
||||
ajaxurl + '?action=infinite-uploads-video-activate',
|
||||
{nonce: iup_data.nonce.video},
|
||||
function (json) {
|
||||
if (json.success) {
|
||||
location.reload();
|
||||
return true;
|
||||
} else {
|
||||
$('#iup-enable-video-spinner').addClass('d-none').removeClass('d-block');
|
||||
$('#iup-enable-video-button').show();
|
||||
}
|
||||
},
|
||||
'json'
|
||||
).fail(function () {
|
||||
showError(iup_data.strings.ajax_error);
|
||||
$('#iup-enable-video-spinner').addClass('d-none').removeClass('d-block');
|
||||
$('#iup-enable-video-button').show();
|
||||
});
|
||||
});
|
||||
|
||||
//refresh api data
|
||||
$('.iup-refresh-icon .dashicons').on('click', function () {
|
||||
$(this).hide();
|
||||
$('.iup-refresh-icon .spinner-grow').removeClass('text-hide');
|
||||
window.location = $(this).attr('data-target');
|
||||
});
|
||||
|
||||
//Charts
|
||||
var bandwidthFormat = function (bytes) {
|
||||
if (bytes < 1024) {
|
||||
return bytes + ' B';
|
||||
} else if (bytes < 1024 * 1024) {
|
||||
return Math.round(bytes / 1024) + ' KB';
|
||||
} else if (bytes < 1024 * 1024 * 1024) {
|
||||
return Math.round((bytes / 1024 / 1024) * 10) / 10 + ' MB';
|
||||
} else {
|
||||
return (
|
||||
Math.round((bytes / 1024 / 1024 / 1024) * 100) / 100 + ' GB'
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
var sizelabel = function (tooltipItem, data) {
|
||||
var label = ' ' + data.labels[tooltipItem.index] || '';
|
||||
return label;
|
||||
};
|
||||
|
||||
window.onload = function () {
|
||||
var pie1 = document.getElementById('iup-local-pie');
|
||||
if (pie1) {
|
||||
var config_local = {
|
||||
type: 'pie',
|
||||
data: iup_data.local_types,
|
||||
options: {
|
||||
responsive: true,
|
||||
legend: false,
|
||||
tooltips: {
|
||||
callbacks: {
|
||||
label: sizelabel,
|
||||
},
|
||||
backgroundColor: '#F1F1F1',
|
||||
bodyFontColor: '#2A2A2A',
|
||||
},
|
||||
title: {
|
||||
display: true,
|
||||
position: 'bottom',
|
||||
fontSize: 18,
|
||||
fontStyle: 'normal',
|
||||
text: iup_data.local_types.total,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var ctx = pie1.getContext('2d');
|
||||
window.myPieLocal = new Chart(ctx, config_local);
|
||||
}
|
||||
|
||||
var pie2 = document.getElementById('iup-cloud-pie');
|
||||
if (pie2) {
|
||||
var config_cloud = {
|
||||
type: 'pie',
|
||||
data: iup_data.cloud_types,
|
||||
options: {
|
||||
responsive: true,
|
||||
legend: false,
|
||||
tooltips: {
|
||||
callbacks: {
|
||||
label: sizelabel,
|
||||
},
|
||||
backgroundColor: '#F1F1F1',
|
||||
bodyFontColor: '#2A2A2A',
|
||||
},
|
||||
title: {
|
||||
display: true,
|
||||
position: 'bottom',
|
||||
fontSize: 18,
|
||||
fontStyle: 'normal',
|
||||
text: iup_data.cloud_types.total,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
var ctx = pie2.getContext('2d');
|
||||
window.myPieCloud = new Chart(ctx, config_cloud);
|
||||
}
|
||||
};
|
||||
});
|
Reference in New Issue
Block a user