174 lines
4.0 KiB
JavaScript
174 lines
4.0 KiB
JavaScript
/**
|
|
* This function adds an error or a success to Flatpress standard place.
|
|
*/
|
|
function fpNotify(msg, type) {
|
|
$('#errorlist').hide().html('<ul class="msgs '+type+"\">\n<li>"+msg+"</li>\n</ul>").fadeIn('slow');
|
|
window.setTimeout(fpRemoveNotifies, 3000);
|
|
}
|
|
|
|
/**
|
|
* This function removes the FP Notifies
|
|
*/
|
|
function fpRemoveNotifies() {
|
|
$('#errorlist ul[class!="msgs warnings"]').fadeOut('slow');
|
|
}
|
|
|
|
/**
|
|
* This function moves a policy.
|
|
*
|
|
* @param integer id: The policy id
|
|
* @param integer how: The size of the movement
|
|
*/
|
|
function movePolicy(id, how) {
|
|
tarid=parseInt(id)+parseInt(how);
|
|
original='tr_policy'+id;
|
|
target='tr_policy'+tarid;
|
|
tmp='tmp'+target;
|
|
|
|
if(how<0) {
|
|
$('.'+original).insertBefore('.'+target);
|
|
} else if(how>0) {
|
|
$('.'+original).insertAfter('.'+target);
|
|
}
|
|
|
|
$('.'+original).removeClass(original).addClass(tmp);
|
|
$('.'+target).removeClass(target).addClass(original).attr('href');
|
|
$('.'+tmp).removeClass(tmp).addClass(target)
|
|
$('.'+target+' td').animate({'background-color' : '#78ba91'}, {
|
|
'complete' : function() {
|
|
$(this).attr('style', '');
|
|
}
|
|
});
|
|
|
|
oruh=$('a[rel=polup\\['+id+'\\]]').attr('rel', 'tmpup').attr('href');
|
|
ordh=$('a[rel=poldown\\['+id+'\\]]').attr('rel', 'tmpdown').attr('href');
|
|
tauh=$('a[rel=polup\\['+tarid+'\\]]').attr('rel', 'polup['+id+']').attr('href');
|
|
tadh=$('a[rel=poldown\\['+tarid+'\\]]').attr('rel', 'poldown['+id+']').attr('href');
|
|
$('a[rel=polup\\['+id+'\\]]').attr('href', oruh);
|
|
$('a[rel=poldown\\['+id+'\\]]').attr('href', ordh);
|
|
$('a[rel=tmpup]').attr('rel', 'polup['+tarid+']').attr('href', tauh);
|
|
$('a[rel=tmpdown]').attr('rel', 'poldown['+tarid+']').attr('href', tadh);
|
|
}
|
|
|
|
/**
|
|
* This function is called on the click event to move up/down with AJAX the policies.
|
|
*/
|
|
function clickPolicy() {
|
|
rel=$(this).attr('rel');
|
|
start_id=rel.indexOf('[');
|
|
end_id=rel.indexOf(']');
|
|
id=rel.substr(start_id+1, end_id-start_id-1);
|
|
dir=rel.substr(3, start_id-3);
|
|
how=dir=='up' ? -1 : 1;
|
|
url=$(this).attr('href')+'&mod=ajax';
|
|
succ=0;
|
|
$.ajax({
|
|
'url' : url,
|
|
'success' : function(data) {
|
|
succ=1;
|
|
if(data==3) {
|
|
fpNotify(commentcenter_lang.msg3, 'notifications');
|
|
movePolicy(id, how);
|
|
} else if(data==-3) {
|
|
fpNotify(commentcenter_lang.msg_3, 'errors');
|
|
} else {
|
|
fpNotify(data, 'errors');
|
|
}
|
|
}
|
|
});
|
|
return succ==1;
|
|
}
|
|
|
|
/**
|
|
* This is the callback for the event click to select all checkbox
|
|
*/
|
|
function checkboxa() {
|
|
rel=$(this).attr('rel');
|
|
tdbegin=rel.indexOf('[');
|
|
tdend=rel.indexOf(']');
|
|
td=rel.substr(tdbegin+1, tdend-tdbegin-1);
|
|
check=rel.substr(0, tdbegin)=='selectAll';
|
|
$('.'+td+' input[type=checkbox]').attr('checked', check);
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* This function checks for the radio buttons in the edit policy page.
|
|
*/
|
|
function radioEdit() {
|
|
if($('#fill_entries').length<1) {
|
|
return;
|
|
}
|
|
|
|
reDone=false;
|
|
|
|
$('input[type=radio]').click(radioClick).each(function() {
|
|
if($(this).attr('checked')) {
|
|
reDone=true;
|
|
$(this).click();
|
|
}
|
|
});
|
|
|
|
if(!reDone) {
|
|
$('input[value=all_entries]').click().attr('checked', false);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* This function is the callback for the event click on radio buttons.
|
|
*/
|
|
function radioClick() {
|
|
val=$(this).attr('value');
|
|
entries='#fill_entries';
|
|
prop='#fill_properties';
|
|
|
|
if(val=='some_entries') {
|
|
show=entries;
|
|
hide=prop;
|
|
} else if(val=='properties') {
|
|
show=prop;
|
|
hide=entries;
|
|
} else {
|
|
$(entries).hide();
|
|
$(prop).hide();
|
|
return true;
|
|
}
|
|
|
|
$(show).show();
|
|
$(hide).hide();
|
|
|
|
}
|
|
|
|
/**
|
|
* This function shows/hides the Akismet options at the startup.
|
|
*/
|
|
function akismetOptionsReady() {
|
|
if($('label[for=akismet_check]').length<1) {
|
|
return;
|
|
}
|
|
|
|
$('input[name=akismet_check]').click(akismetOptionsReady);
|
|
|
|
status=$('input[name=akismet_check]').attr('checked');
|
|
|
|
el=$('.akismet_opts');
|
|
|
|
if(status) {
|
|
el.show();
|
|
} else {
|
|
el.hide();
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
$(document).ready(function() {
|
|
window.setTimeout(fpRemoveNotifies, 3000);
|
|
$('a[rel*="polup"]').click(clickPolicy);
|
|
$('a[rel*="poldown"]').click(clickPolicy);
|
|
|
|
$('.commentcenter_select').css('display', 'block').find('a').click(checkboxa);
|
|
|
|
radioEdit();
|
|
akismetOptionsReady();
|
|
}); |