|
@@ -309,7 +309,7 @@ if (mysqli_num_rows($res)<1) {
|
|
|
$srow=mysqli_fetch_assoc($sres);
|
|
|
$attr.='<div class="colsectcont">Ultimo check '.strftime('%e %b %Y, %T',$srow['Time']).': '.(($srow['Status']) ? '<span class="good">OK</span>' : '<span class="bad">KO</span>').'</div>';
|
|
|
} else {
|
|
|
- $attr.='<div class="colsectheader">Percentuale di risposta ai nostri check</div>';
|
|
|
+ $attr.='<div class="colsectheader">Percentuale di risposta ai nostri check</div>'.N;
|
|
|
$attr.='<div class="colsectcont nully">Non disponibile (?!?!?!)</div>'.N;
|
|
|
}
|
|
|
$attr.='<div class="colsectheader">Attività delle ultime 12 settimane</div>'.N;
|
|
@@ -321,7 +321,7 @@ if (mysqli_num_rows($res)<1) {
|
|
|
if (mysqli_num_rows($sres)>0) {
|
|
|
$attr.='<div class="colsectcont">Stati: '.$tot['tstatuses'].'<br>Accessi: '.$tot['tlogins'].'<br>Registrazioni: '.$tot['tregs'].'</div>'.N;
|
|
|
while ($srow=mysqli_fetch_assoc($sres)) {
|
|
|
- $attr.='<div class="colsectcontb">'.strftime('%e %b %Y',$srow['Week']).' ('.$srow['Week'].')</div>'.N;
|
|
|
+ $attr.='<div class="colsectcontb">'.strftime('%e %b %Y',$srow['Week']).'</div>'.N;
|
|
|
($tot['tstatuses']==0) ? $width=0 : $width=str_replace(',','.',100/$tot['tstatuses']*$srow['Statuses']);
|
|
|
$attr.='<div class="percstatuses" style="width:'.$width.'%;">'.$srow['Statuses'].' stati</div>'.N;
|
|
|
($tot['tlogins']==0) ? $width=0 : $width=str_replace(',','.',100/$tot['tlogins']*$srow['Logins']);
|
|
@@ -457,6 +457,7 @@ mysqli_close($link);
|
|
|
<link rel="icon" type="image/png" href="imgs/icona-512.png" sizes="512x512">
|
|
|
<link rel="apple-touch-icon-precomposed" href="imgs/icona-180.png">
|
|
|
<script language="JavaScript" src="js/confirma.js?v=<?php echo($cjrand); ?>"></script>
|
|
|
+<script language="JavaScript" src="js/alerta.js?v=<?php echo($cjrand); ?>"></script>
|
|
|
<link rel="stylesheet" type="text/css" href="theme.css?v=<?php echo($cjrand); ?>">
|
|
|
<script language="JavaScript">
|
|
|
<!--
|
|
@@ -731,16 +732,55 @@ function manfil() {
|
|
|
confirma('Confermi di voler rimuovere tutti i criteri di ricerca?','truncfil();filbut.value=\'Aggiungi criteri di ricerca\'');
|
|
|
}
|
|
|
}
|
|
|
-function ckf() {
|
|
|
+function ckpar() {
|
|
|
+ var i=0;
|
|
|
var table=document.getElementById('planciafil');
|
|
|
- var crows=table.rows.length;
|
|
|
- document.getElementById('andor-'+(crows-1)).disabled=false;
|
|
|
- document.getElementById('f').submit();
|
|
|
+ var nodes=table.querySelectorAll('.openpar');
|
|
|
+ var cnodes=nodes.length;
|
|
|
+ var opars=[];
|
|
|
+ var cpars=[];
|
|
|
+ for (i=0; i<cnodes; i++)
|
|
|
+ opars.push(nodes[i].value);
|
|
|
+ nodes=table.querySelectorAll('.closepar');
|
|
|
+ for (i=0; i<cnodes; i++)
|
|
|
+ cpars.push(nodes[i].value);
|
|
|
+ var spars='';
|
|
|
+ for (i=0; i<cnodes; i++) {
|
|
|
+ if (opars[i]!='null') spars+=opars[i];
|
|
|
+ if (cpars[i]!='null') spars+=cpars[i];
|
|
|
+ }
|
|
|
+ var opq=0, cpq=0, ok=true;
|
|
|
+ for (i=0; i<spars.length; i++) {
|
|
|
+ if (spars[i]=='(') {
|
|
|
+ opq++;
|
|
|
+ } else if (spars[i]==')') {
|
|
|
+ cpq++;
|
|
|
+ }
|
|
|
+ if (cpq>opq)
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (opq!=cpq)
|
|
|
+ ok=false;
|
|
|
+ console.log(i+'/'+spars.length+': '+ok);
|
|
|
+ return ok;
|
|
|
+}
|
|
|
+function ckf() {
|
|
|
+ var emsg='';
|
|
|
+ if (!ckpar()) emsg+='Qualcosa non va con le parentesi!<br>\n';
|
|
|
+ emsg+='Comunque NO!<br>\n';
|
|
|
+ if (emsg=='') {
|
|
|
+ var table=document.getElementById('planciafil');
|
|
|
+ var crows=table.rows.length;
|
|
|
+ document.getElementById('andor-'+(crows-1)).disabled=false;
|
|
|
+ document.getElementById('f').submit();
|
|
|
+ } else {
|
|
|
+ alerta(emsg);
|
|
|
+ }
|
|
|
}
|
|
|
//-->
|
|
|
</script>
|
|
|
</head>
|
|
|
-<body onload="console.log('body bu!');">
|
|
|
+<body>
|
|
|
|
|
|
<nav>
|
|
|
<div id="hmenu">
|