You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

140 lines
4.0 KiB

//~ Init
$(document).ready(function(){
//~ Languages
$('[data-lng]').css({'opacity': 0, 'visibility': 'hidden'});
var _lang = [];
var cur_lang = ($('html').attr('lang') && $('html').attr('lang') !== "" ? $('html').attr('lang') : "fr");
$.getJSON('lang/'+cur_lang+'.json', function(jsnlab){
_lang[cur_lang] = jsnlab;
//~ Load default text
$('[data-lng]').each(function(index){
var $this = $(this);
if($this.attr('data-lng') === ''){
$this.text(label($this.text()));
}else{
$this.attr($this.attr('data-lng'), label($this.attr($this.attr('data-lng'))));
}
});
$('[data-lng]').css({'opacity': 1, 'visibility': 'visible'});
});
//~ Form & AJAX request
$('#submit').click(function(){
var $this = $(this),
$rsslk = $('#rss-lk'),
$n = $('#n');
var isn = ($n.length ? true : false);
if( $('#flux').val() !== ''){
$('#ajax-message').hide().empty();
$this.attr('disabled', 'disabled');
$('html, body').scrollTo($rsslk, 'fast');
$rsslk.html("<span class='ajax-loader'></span><span>"+label('Génération en cours')+"</span>");
setTimeout(function(){
$.ajax({
type: 'POST',
url: 'generate.php',
data: $('#xml_form').serialize()+'&isAjax=true&t='+$('meta[name="csrf-token"]').attr('content'),
headers : {
'CsrfToken': $('meta[name="csrf-token"]').attr('content')
},
success: function(data) {
$this.removeAttr('disabled');
if(!data || !data.sucess){
$rsslk.empty();
show_msg(label(data.message));
}else{
$rsslk.html("<br /><br /><a class='btn btn-primary' id='n' href='"+data['data'].file+"' target='_blank'>"+label(data.message)+"</a>");
if(isn){
$n = $('#n');
if($n.hasClass('btn-primary')){
$n.removeClass('btn-primary').addClass('btn-info');
}else{
$n.removeClass('btn-info').addClass('btn-primary');
}
}
}
},
statusCode: {
404: function() {
show_error(label("La page cible est introuvable."));
},
500: function(){
show_error(label("Erreur serveur sur la page cible."));
},
204: function(){
show_error(label("Aucun retour serveur"));
}
},
error: function(){
show_msg(label("Impossible de réaliser le traitement distant."));
}
});
}, 1000);
} else {
show_msg(label("Merci de renseigner au moins une URL de flux RSS"));
}
});
function label(k){
if(k && k !== "" && _lang && typeof(_lang) !== 'undefined'){
if(_lang[cur_lang] && typeof(_lang[cur_lang]) == 'object' && _lang[cur_lang][k] && _lang[cur_lang][k] !== ""){
return _lang[cur_lang][k];
}
}
return false;
}
function show_msg(msg) {
$('html, body').scrollTo( $('#ajax-message'), 'fast' );
if(msg === ""){
msg = label("Une erreur est survenue");
}
$('#ajax-message').css('display','block').html(msg);
}
function show_error(msg){
if(typeof(debugShow) !== 'undefined' && debugShow){
$('.modal-background').remove();
$('body').append('<div class="modal-background"><div class="modal-body"><h2 style="font-weight:bold;text-decoration:underline;font-size:120%;margin-bottom:12px;">'+label("Une erreur est survenue")+' :</h2><pre>'+msg+'</pre></div></div>');
$('.modal-background')
.css({
'position': 'fixed',
'left': 0,
'top': 0,
'right': 0,
'bottom': 0,
'background': 'rgba(0, 0, 0, 0.75)',
'display': 'none',
'cursor':'pointer'
})
.fadeIn()
.click(function(){
$(this).fadeOut().find('.modal-body').slideUp();
})
.find('.modal-body')
.css({
'position': 'fixed',
'width': '350px',
'height': '200px',
'left': '50%',
'top': '50%',
'margin-left': '-195px',
'margin-top': '-170px',
'background': '#fff',
'display': 'none',
'padding': '15px',
'cursor': 'default'
})
.click(function(event){
event.stopPropagation();
})
.slideDown();
}
}
});