%PDF- %PDF-
| Direktori : /home/lightco1/luminero.com.au/plugins/system/jsntplframework/assets/joomlashine/js/ |
| Current File : /home/lightco1/luminero.com.au/plugins/system/jsntplframework/assets/joomlashine/js/maintenance.js |
/**
* @version $Id$
* @package JSNTPLFW
* @author JoomlaShine Team <support@joomlashine.com>
* @copyright Copyright (C) 2012 JoomlaShine.com. All Rights Reserved.
* @license GNU/GPL v2 or later http://www.gnu.org/licenses/gpl-2.0.html
*
* Websites: http://www.joomlashine.com
* Technical Support: Feedback - http://www.joomlashine.com/contact-us/get-support.html
*/
(function($) {
$.JSNTplMaintenance = function(params) {
// Initialize parameters
this.params = $.extend({
template: '',
styleId: ''
}, params);
// Initialize functionality
$(document).ready($.proxy(this.init(), this));
};
$.JSNTplMaintenance.prototype = {
init: function() {
var self = this,
form = $('#style-form'),
status = form.children('input[name="customized"]'),
iframe = $('#jsn-silent-save'),
btnBackup = $('#jsn-template-maintenance-backup-params'),
inputFile = $('#jsn-template-maintenance-restore-params-form').children('input[type="file"]');
// Setup backup button
btnBackup.click(function(event, saved) {
event.preventDefault();
if (status.val() == 'no' && !saved) {
// Validate form elements
if (!document.formvalidator.isValid(form[0])) {
return $.JSNTplMessage();
}
// Setup iframe to silently save template parameters
iframe.unbind('load').bind('load', function() {
// Reset form target
form.removeAttr('target');
// Trigger click event for backup button
btnBackup.trigger('click', [true]);
});
// Template params are never saved, save now
form.attr('target', 'jsn-silent-save');
Joomla.submitbutton('style.apply');
return false;
}
window.location.href = btnBackup.attr('href');
});
// Setup restore button
$('#jsn-template-maintenance-restore-params').click(function(event) {
event.preventDefault();
// Trigger click event for the hidden file field
inputFile.trigger('click');
});
// Setup iframe to silently restore template parameters
inputFile.change(function() {
// Handle iframe load event
iframe.unbind('load').bind('load', function() {
// Parse response data
if (response = $(this).contents().text().match(/\{"type":[^,]+,"data":[^\}]+\}/)) {
response = $.parseJSON(response[0]);
} else {
response = {type: 'failure', data: $(this).contents().text()};
}
if (response.type == 'success') {
// Show success message
$.JSNTplMessage(response.data, 'success');
window.location.reload();
} else {
// Show error message
$.JSNTplMessage(response.data);
}
});
// Set form action
inputFile.parent().attr('action', 'index.php?widget=maintenance&action=restore&template=' + self.params.template + '&styleId=' + self.params.styleId);
// Submit form to iframe
inputFile.parent().submit();
});
}
};
})(jQuery);