123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- notifimgon='<?php echo($notifs["imgon"]); ?>';
- notifimgoff='<?php echo($notifs["imgoff"]); ?>';
- function shidenotifs() {
- var notifc=document.getElementById('notifc');
- var ctrli=document.getElementById('bell');
- if (notifc.style.display=='block') {
- notifc.style.display='none';
- ctrli.src=notifimgoff;
- ctrli.title='Mostra le notifiche';
- } else {
- notifc.style.display='block';
- ctrli.src=notifimgon;
- ctrli.title='Nascondi le notifiche';
- }
- }
- function markread(notif) {
- let xhr=new XMLHttpRequest();
- xhr.open('GET','notifsh.php?act=markread&id='+notif.id.replace(/^notif-([0-9]+)$/,'$1'));
- xhr.responseType='json';
- xhr.send();
- xhr.onload=function() {
- let jarr=xhr.response;
- if (jarr['hmunseen']==0) {
- notifimgon='imgs/bell_on.svg';
- notifimgoff='imgs/bell_off.svg';
- bell.src=notifimgon;
- }
- if (notif.classList.contains("notifunseen")){
- // Notifica nella navbar
- notif.className='notifseen';
- } else if (notif.classList.contains("unseen")) {
- // Notifica nella pagina di gestione notifiche
- notif.classList.remove("unseen");
- notif.classList.add("seen");
- }
- };
- xhr.onerror=function() {
- alert('La richiesta è fallita.');
- };
- }
- function markdeleted(notif) {
- let xhr=new XMLHttpRequest();
- xhr.open('GET','notifsh.php?act=delete&id='+notif.id.replace(/^notif-([0-9]+)$/,'$1'));
- xhr.responseType='json';
- xhr.send();
- xhr.onload=function() {
- if (xhr.response['deleted']) {
- notif.remove();
- } else {
- alert("Il server non ha potuto cancellare la notifica " + notif.text);
- }
- };
- xhr.onerror=function() {
- alert('La richiesta è fallita.');
- };
- }
- function applyAllSelected(fun) {
- let notifs = document.querySelectorAll("div#notifs-list > div");
- notifs.forEach(function (notif) {
- let checkbox = notif.querySelector("input.seen-checkbox");
- if (checkbox.checked) {
- fun(notif);
- }});
- }
- lmt=<?php echo($notifs['lastmicrotime']); ?>;
- chunk=0;
- end=false;
- loading=false;
- function morenotifs() {
- if (!loading && !end && notifs.scrollHeight-notifs.clientHeight-notifs.scrollTop<20) {
- loading=true;
- chunk++;
- let xhr=new XMLHttpRequest();
- xhr.open('GET','notifsh.php?act=loadchunk&chunk='+chunk);
- xhr.responseType='json';
- xhr.send();
- xhr.onload=function() {
- let jarr=xhr.response;
- //console.log(jarr);
- let i=0, html='';
- for (i=0; i<jarr.length; i++)
- html+=jarr[i];
- notifs.innerHTML+=html;
- if (jarr.length<<?php echo($notifs['chunksize']); ?>)
- end=true;
- loading=false;
- };
- xhr.onerror=function() {
- alert('La richiesta è fallita.');
- };
- }
- }
- loadingupd=false;
- function updnotifs() {
- if (!loadingupd) {
- loadingupd=true;
- let xhr=new XMLHttpRequest();
- xhr.open('GET','notifsh.php?act=loadnew&lmt='+lmt);
- xhr.responseType='json';
- xhr.send();
- xhr.onload=function() {
- let jarr=xhr.response;
- //console.log(jarr);
- let i=0, html='';
- for (i=0; i<jarr['buf'].length; i++)
- html+=jarr['buf'][i];
- notifs.innerHTML=html+notifs.innerHTML;
- lmt=jarr['newlmt'];
- if (jarr['newunread']) {
- notifimgoff='imgs/bell_act_on.svg';
- notifimgon='imgs/bell_act_off.svg';
- (notifc.style.display=='block') ? bell.src=notifimgoff : bell.src=notifimgon;
- }
- loadingupd=false;
- };
- xhr.onerror=function() {
- alert('La richiesta è fallita.');
- };
- } else {
- console.log('Già sto caricando...');
- }
- }
- updint=setInterval(updnotifs,3000);
|