mirror of
https://github.com/joomla-extensions/patchtester.git
synced 2024-12-23 11:29:00 +00:00
68 lines
2.1 KiB
JavaScript
68 lines
2.1 KiB
JavaScript
jQuery(function () {
|
|
var path = 'index.php?option=com_patchtester&tmpl=component&format=json';
|
|
|
|
function initialize() {
|
|
offset = 0;
|
|
progress = 0;
|
|
path = path + '&' + jQuery('#patchtester-token').attr('name') + '=1';
|
|
getRequest('startfetch');
|
|
};
|
|
|
|
function getRequest(task) {
|
|
jQuery.ajax({
|
|
type: "GET",
|
|
url: path,
|
|
data: 'task=' + task,
|
|
dataType: 'json',
|
|
success: handleResponse,
|
|
error: handleFailure
|
|
});
|
|
};
|
|
|
|
function handleResponse(json, resp) {
|
|
try {
|
|
if (json === null) {
|
|
throw resp;
|
|
}
|
|
if (json.error) {
|
|
throw json;
|
|
}
|
|
|
|
jQuery('#patchtester-progress-message').html(json.message);
|
|
|
|
if (json.data.header) {
|
|
jQuery('#patchtester-progress-header').html(json.data.header);
|
|
}
|
|
|
|
if (json.data.complete) {
|
|
// Nothing to do
|
|
} else {
|
|
// Send another request
|
|
getRequest('fetch');
|
|
}
|
|
} catch (error) {
|
|
try {
|
|
if (json.error) {
|
|
jQuery('#patchtester-progress-header').text(Joomla.JText._('COM_PATCHTESTER_FETCH_AN_ERROR_HAS_OCCURRED'));
|
|
jQuery('#patchtester-progress-message').html(json.message);
|
|
}
|
|
} catch (ignore) {
|
|
if (error === '') {
|
|
error = Joomla.JText._('COM_PATCHTESTER_NO_ERROR_RETURNED');
|
|
}
|
|
jQuery('#patchtester-progress-header').text(Joomla.JText._('COM_PATCHTESTER_FETCH_AN_ERROR_HAS_OCCURRED'));
|
|
jQuery('#patchtester-progress-message').html(error);
|
|
}
|
|
}
|
|
return true;
|
|
};
|
|
|
|
function handleFailure(xhr) {
|
|
json = (typeof xhr == 'object' && xhr.responseText) ? xhr.responseText : null;
|
|
jQuery('#patchtester-progress-header').text(Joomla.JText._('COM_PATCHTESTER_FETCH_AN_ERROR_HAS_OCCURRED'));
|
|
jQuery('#patchtester-progress-message').html(json);
|
|
};
|
|
|
|
initialize();
|
|
});
|