Index: trunk/admin/admin.php
===================================================================
--- trunk/admin/admin.php	(revision 423)
+++ trunk/admin/admin.php	(revision 424)
@@ -39,7 +39,5 @@
     $_COOKIE = $HTTP_COOKIE_VARS;
   }
-  if(isset($HTTP_SESSION_VARS)) {
-    $_SESSION = $HTTP_SESSION_VARS;
-  }
+
 }
 
@@ -120,7 +118,12 @@
 #session_start();//MODIFICHE PER GESTIONE SESSIONI
   // gestione sessione
+if (!isset($_SESSION))
+	{
+	session_start();
+	}else session_regenerate_id();
 $a = session_id();
 if(empty($a)) session_start();
 #echo "SID: ".SID."<br>session_id(): ".session_id()."<br>COOKIE: ".$_COOKIE["PHPSESSID"];
+
 
 if (file_exists("config.php")){ 
@@ -134,5 +137,5 @@
     die("<html><body><div style=\"text-align:center\"><br /><br /><img src=\"modules/Elezioni/images/logo.jpg\" alt=\"Eleonline\" title=\"Eleonline\"><br /><br /><strong>Sembra che <a href='http://www.eleonline.it' title='Eleonline'>Eleonline</a> non sia stato ancora installato.<br /><br />Puoi procedere <a href='../install/index.php'>cliccando qui</a> per iniziare l'installazione</strong></div></body></html>");
 }
-
+require_once('variabili.php');
 $dsn = "mysql:host=$dbhost";
 $opt = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false);
@@ -266,5 +269,4 @@
 				$_SESSION['bgcolor2']='#c5c5c5'; 
 				if (!isset($op)) $op='consultazione';
-    				session_regenerate_id();
 			} 
 		}
@@ -326,5 +328,5 @@
 }
 if(!isset($_SESSION['BASE'])) $_SESSION['BASE']=substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['REQUEST_URI'], "/")-16);
-if(!isset($language)) $language=$_SESSION['lang'];
+if(!isset($language) and isset($_SESSION['lang'])) $language=$_SESSION['lang']; else $language='it';
 if (! isset($_SESSION['lang'])) $_SESSION['lang']=$language;
 $currentlang=strlen($_SESSION['lang'])==2 ? $_SESSION['lang']: $language;
@@ -341,5 +343,5 @@
 else {
 #	$oggi=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-3,date("Y")));
-	$sql="select t1.id_cons_gen from ".$prefix."_ele_consultazione as t1, ".$prefix."_ele_cons_comune as t2 where t1.id_cons_gen=t2.id_cons_gen and t2.id_comune=$id_comune and date_add(t1.data_fine, interval 3 day)>CURDATE() and t2.id_cons in (select id_cons from ".$prefix."_ele_operatori where aid='$aid' and permessi>0) limit 0,1"; # TEST: and id_sez>0 
+	$sql="select t1.id_cons_gen from ".$prefix."_ele_consultazione as t1, ".$prefix."_ele_cons_comune as t2 where t1.id_cons_gen=t2.id_cons_gen and t2.id_comune=$id_comune and date_add(t1.data_fine, interval $giorniaut day)>CURDATE() and t2.id_cons in (select id_cons from ".$prefix."_ele_operatori where aid='$aid' and permessi>0) limit 0,1";# TEST: and id_sez>0 
 	$rese = $dbi->prepare("$sql");
 	$rese->execute();
@@ -371,5 +373,5 @@
 /*********************************************************/
 function ChiSei($idcg){
-global $dbi, $msglogout, $id_cons_gen;
+global $dbi, $msglogout, $id_cons_gen,$giorniaut;
 
 $aid=$_SESSION['aid'];
@@ -383,8 +385,13 @@
 $sth->execute();	
 $row = $sth->fetch(PDO::FETCH_BOTH);	
-
+if($row){
 $adminsuper=$row[0];
 $admincomune=$row[1];
-$oper=$row[2]; 
+$oper=$row[2];
+}else{
+$adminsuper=0;
+$admincomune=0;
+$oper=1;
+}	
 	if ($adminsuper==1)
 		return 256;
@@ -395,5 +402,5 @@
 	else {
 #		$oggi=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-3,date("Y")));
-		$sql="select t1.id_cons, t1.id_cons_gen from ".$prefix."_ele_cons_comune as t1, ".$prefix."_ele_consultazione as t2 where t1.id_cons_gen=t2.id_cons_gen and t1.chiusa='0' and t1.id_comune='$id_comune' and date_add(t2.data_fine, interval 3 day)>CURDATE()";
+		$sql="select t1.id_cons, t1.id_cons_gen from ".$prefix."_ele_cons_comune as t1, ".$prefix."_ele_consultazione as t2 where t1.id_cons_gen=t2.id_cons_gen and t1.chiusa='0' and t1.id_comune='$id_comune' and date_add(t2.data_fine, interval $giorniaut day)>CURDATE()";
 		$sth = $dbi->prepare("$sql");
 		$sth->execute();	
@@ -486,4 +493,8 @@
 
 global $siteistat,$perms,$msglogout; 
+if (!isset($_SESSION))
+  {
+    session_start();
+  }
 $language=$_SESSION['lang'];
 $ref="Location: admin.php?"; 
@@ -498,7 +509,7 @@
 $ref=$ref."&language=$language"; 
 $ref.="&msglogout=$msglogout";
-$_SESSION=array();  
-session_unset(); 
-session_destroy(); 
+#$_SESSION=array();
+if (session_status() == PHP_SESSION_ACTIVE)  
+	session_destroy(); 
 session_cache_expire (0); 
 Header($ref); 
@@ -508,5 +519,5 @@
 #include("modules/Elezioni/language/lang-".$_SESSION['lang'].".php");
 #die( "$sql <br> TEST id_cons_gen:$id_cons_gen:".$_SESSION['id_cons_gen']);
-if(isset($id_cons_gen) and isset($id_comune)){
+if(isset($id_cons_gen) and isset($id_comune)){ 
 	if(!isset($id_cons)){ 
 #		$sql = "SELECT t2.id_cons FROM ".$prefix."_ele_consultazione as t1, ".$prefix."_ele_cons_comune as t2 where t1.id_cons_gen=t2.id_cons_gen and t2.id_cons_gen='$id_cons_gen' and t2.id_comune='$id_comune'";
@@ -520,5 +531,5 @@
 	} 
 	if(isset($id_cons)) {
-		$sql="SELECT id_sez FROM ".$prefix."_ele_operatori where id_sez>0 and aid='$aid' and id_comune=$id_comune";
+		$sql="SELECT id_sez FROM ".$prefix."_ele_operatori where id_sez>0 and aid='$aid' and id_comune=$id_comune and id_cons=$id_cons";
 		try {
 			$resmod = $dbi->prepare("$sql");
@@ -544,5 +555,5 @@
 		}
 	} 
-$perms=ChiSei($id_cons_gen); 
+$perms=ChiSei($id_cons_gen);
 if($perms==0) {logout();} 
 }
@@ -723,4 +734,7 @@
     include("modules/Elezioni/ele_riepilogovoti.php");
     break;
+case "aggcons":
+    include("modules/Elezioni/ele_restorebackup.php");
+    break;
 case "logout":
 	logout();
Index: trunk/admin/header.php
===================================================================
--- trunk/admin/header.php	(revision 423)
+++ trunk/admin/header.php	(revision 424)
@@ -33,5 +33,5 @@
 	$lang=$_SESSION['lang'];
 }
-elseif (strlen($_SESSION['lang'])==2) $lang=$_SESSION['lang'];
+elseif (isset($_SESSION['lang']) and strlen($_SESSION['lang'])==2) $lang=$_SESSION['lang'];
 else {$lang=$language; $_SESSION['lang']=$lang;}
 include_once("modules/Elezioni/language/lang-$lang.php");
Index: trunk/admin/inc/sql/db.sql
===================================================================
--- trunk/admin/inc/sql/db.sql	(revision 423)
+++ trunk/admin/inc/sql/db.sql	(revision 424)
@@ -24,5 +24,5 @@
 id_conf,descrizione,limite,consin,infpremio,supsbarramento,suppremio,listinfsbar,listinfconta,listsupconta,supminpremio,infminpremio,infdisgiunto,supdisgiunto,votolista,inffisso,supfisso,fascia_capoluogo
 [_ele_cons_comune]
-id_cons,chiusa,id_comune,id_cons_gen,id_conf,preferita,preferenze,id_fascia,vismf,solo_gruppo,disgiunto
+id_cons,chiusa,id_comune,id_cons_gen,id_conf,preferita,preferenze,id_fascia,vismf,solo_gruppo,disgiunto,proiezione
 [_ele_consultazione]
 id_cons_gen,descrizione,data_inizio,data_fine,tipo_cons
Index: trunk/admin/modules/Elezioni/aggiornadb.php
===================================================================
--- trunk/admin/modules/Elezioni/aggiornadb.php	(revision 423)
+++ trunk/admin/modules/Elezioni/aggiornadb.php	(revision 424)
@@ -114,5 +114,5 @@
 if(controllo($prefix.'_authors','admincomune',++$num))
 {
-	$sql="UPDATE `".$prefix."_authors` SET `adminop` = '1', `adminsuper` = '0',`admincomune` = '0' WHERE `".$prefix."_authors`.`aid` != 'admin' AND `".$prefix."_authors`.`adminsuper` != '1'";
+	$sql="UPDATE `".$prefix."_authors` SET `adminsuper` = '0',`admincomune` = '0' WHERE `".$prefix."_authors`.`aid` != 'admin' AND `".$prefix."_authors`.`adminsuper` != '1'";
 	$ret=aggiorna($sql,$dbi,'',$num);
 	$sql="UPDATE `".$prefix."_authors` SET `adminop` = '0', `adminsuper` = '0',`admincomune` = '1' WHERE `".$prefix."_authors`.`aid` = 'admin' and `".$prefix."_authors`.`adminsuper` != '1'";
Index: trunk/admin/modules/Elezioni/aggiornamento.php
===================================================================
--- trunk/admin/modules/Elezioni/aggiornamento.php	(revision 423)
+++ trunk/admin/modules/Elezioni/aggiornamento.php	(revision 424)
@@ -185,5 +185,5 @@
 $myrev=$_SESSION['localrev'];
 if (isset($_SESSION['forzadb'])) $myrev=378;
-if($newrev==$myrev) {
+if($newrev<=$myrev) {
 	$errmex=1;
 	Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
Index: trunk/admin/modules/Elezioni/controllo_votanti.php
===================================================================
--- trunk/admin/modules/Elezioni/controllo_votanti.php	(revision 423)
+++ trunk/admin/modules/Elezioni/controllo_votanti.php	(revision 424)
@@ -131,5 +131,5 @@
 			if($tot_u) $perc_u=number_format($votiu*100/$tot_u,2);
 			if($tot_d) $perc_d=number_format($votid*100/$tot_d,2);
-			$perc_c=number_format($somma*100/$tot_compl,2);
+			if($tot_compl) $perc_c=number_format($somma*100/$tot_compl,2);
 		}
 		else
Index: trunk/admin/modules/Elezioni/ele.php
===================================================================
--- trunk/admin/modules/Elezioni/ele.php	(revision 423)
+++ trunk/admin/modules/Elezioni/ele.php	(revision 424)
@@ -66,5 +66,5 @@
 function ele() {
 
-	global $espandi, $aid, $bgcolor1, $bgcolor2,$bgcolor5, $prefix, $dbi, $offset, $min,$descr_cons, $id_cons_gen,$tipo_cons,$genere,$op,$id_comune,$perms,$id_cons,$votog,$votol,$votoc,$votocirc,$tema,$fascia,$limite;
+	global $espandi, $aid, $bgcolor1, $bgcolor2,$bgcolor5, $prefix, $dbi, $offset, $min,$descr_cons, $id_cons_gen,$tipo_cons,$genere,$op,$id_comune,$perms,$id_cons,$votog,$votol,$votoc,$votocirc,$tema,$fascia,$limite,$BACKUP;
 
 	include ("header.php");
@@ -162,44 +162,44 @@
 	if ($perms>128) {
 	
-	
 #		<a href=\"admin.php?op=inscollegi&amp;id_cons_gen=$id_cons_gen\">$bullet"._COLLEGI."</a><br>
 	
-	echo "
+		echo "
 		<tr align=\"left\" bgcolor=\"$bgcolor1\">
 		<td valign=\"top\" align=\"center\" bgcolor=\"#000000\" rowspan=\"3\"><font face=\"Arial,Helvetica\" size=-1><font color=\"#ffffff\"><b>"._SUPER."
-
-              </b></font></font>
-		
-		</td>
-<td valign=\"top\" align=\"left\" width=\"150\">		
-		
-		
-		<a href=\"admin.php?op=configurazione&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONFIGURAZIONE."</a><br>";
-		if($op=="configurazione" || $op=="widget" || $op=="plugin"){ 
-		    echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href=\"admin.php?op=widget&amp;id_cons_gen=$id_cons_gen\"> "._WIDGET."</a>";
-		    echo "<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - "._PLUGINS."";
-		    echo "<hr>";
-		}
-		$newrev=$_SESSION['remoterev'];
-		$myrev=$_SESSION['localrev'];
-		if($newrev==$myrev or $newrev==0) echo "<a href=\"admin.php?op=aggiorna&amp;id_cons_gen=$id_cons_gen\">$bullet"._AGGIORNA."</a><br>";
-		else	echo "<a href=\"admin.php?op=aggiorna&amp;id_cons_gen=$id_cons_gen\">$bullet_red<b>"._AGGIORNA."</b></a><br>";
-		echo "<a href=\"admin.php?op=confconsiglio&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONFCONS."</a>
-		</td></tr><tr align=\"left\" bgcolor=\"$bgcolor1\"><td>
-		<a href=\"admin.php?op=inscomuni&amp;id_cons_gen=$id_cons_gen\">$bullet"._DEFCOMUNE."</a><br>
-		<a href=\"admin.php?op=oper_admin&amp;id_cons_gen=$id_cons_gen\">$bullet"._AMMINISTRATORI."</a>
-		</td></tr><tr align=\"left\" bgcolor=\"$bgcolor1\"><td>
-		<a href=\"admin.php?op=consultazione&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONSULTAZIONE_ADM."</a><br>";
-echo "<a href=\"admin.php?op=rec_add_aff&amp;id_cons_gen=$id_cons_gen\">$bullet"._AFFLUENZE."</a><br>
-		<a href=\"admin.php?op=associazioni&amp;id_cons_gen=$id_cons_gen\">$bullet"._INSCOMUNE."</a>
-		</td></tr>";
-#		<br><a href=\"http://www.eleonline.it/portal/segnala.php?tmp=test123\" target=\"_blank\">$bullet_red <b>"._SEGNALA."</b></a>
-
-#		<a href=\"admin.php?op=backup&amp;id_cons_gen=$id_cons_gen\">$bullet"._BACKUP."</a><br>
-#		<a href=\"admin.php?op=restore&amp;id_cons_gen=$id_cons_gen\">$bullet"._RESTORE."</a>
-		
-	} 
+		</b></font></font>
+		</td>";
+		if(!$BACKUP){
+			echo "<td valign=\"top\" align=\"left\" width=\"150\">";		
+			echo "<a href=\"admin.php?op=configurazione&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONFIGURAZIONE."</a><br>";
+			if($op=="configurazione" || $op=="widget" || $op=="plugin"){ 
+				echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - <a href=\"admin.php?op=widget&amp;id_cons_gen=$id_cons_gen\"> "._WIDGET."</a>";
+				echo "<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - "._PLUGINS."";
+				echo "<hr>";
+			}
+			$newrev=$_SESSION['remoterev'];
+			$myrev=$_SESSION['localrev'];
+			if($newrev==$myrev or $newrev==0) echo "<a href=\"admin.php?op=aggiorna&amp;id_cons_gen=$id_cons_gen\">$bullet"._AGGIORNA."</a><br>";
+			else	echo "<a href=\"admin.php?op=aggiorna&amp;id_cons_gen=$id_cons_gen\">$bullet_red<b>"._AGGIORNA."</b></a><br>";
+			echo "<a href=\"admin.php?op=confconsiglio&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONFCONS."</a>
+			</td></tr><tr align=\"left\" bgcolor=\"$bgcolor1\"><td>
+			<a href=\"admin.php?op=inscomuni&amp;id_cons_gen=$id_cons_gen\">$bullet"._DEFCOMUNE."</a><br>
+			<a href=\"admin.php?op=oper_admin&amp;id_cons_gen=$id_cons_gen\">$bullet"._AMMINISTRATORI."</a>
+			</td></tr><tr align=\"left\" bgcolor=\"$bgcolor1\"><td>
+			<a href=\"admin.php?op=consultazione&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONSULTAZIONE_ADM."</a><br>";
+			echo "<a href=\"admin.php?op=rec_add_aff&amp;id_cons_gen=$id_cons_gen\">$bullet"._AFFLUENZE."</a><br>
+			<a href=\"admin.php?op=associazioni&amp;id_cons_gen=$id_cons_gen\">$bullet"._INSCOMUNE."</a>";
+		}else{
+			echo "</tr><tr align=\"left\" bgcolor=\"$bgcolor1\"><td valign=\"top\" align=\"left\" width=\"150\"  rowspan=\"2\">";		
+			echo "<a href=\"admin.php?op=aggcons&amp;id_cons_gen=$id_cons_gen\">$bullet"._AGGDATI."</a>";
+			echo "</td></tr><tr><td>";
+		}
+		echo "</td></tr>";
+	#		<br><a href=\"http://www.eleonline.it/portal/segnala.php?tmp=test123\" target=\"_blank\">$bullet_red <b>"._SEGNALA."</b></a>
+
+	#		<a href=\"admin.php?op=backup&amp;id_cons_gen=$id_cons_gen\">$bullet"._BACKUP."</a><br>
+			
+	}
 //	Amministrazione locale solo superuser e adminuser
-	if ($perms>16 and ! $espandi) {
+	if ($perms>16 and ! $espandi and !$BACKUP) {
 		echo "
 		<tr bgcolor=\"$bgcolor1\">
@@ -267,5 +267,5 @@
 	<td valign=\"top\" width=\"150\">";
 	if ($op!='consultazione' and $perms>0 and $nrcirco and ($nrlista or $nrgruppo) and ! $espandi) {
-			echo "<a href=\"admin.php?op=voti&amp;id_cons_gen=$id_cons_gen&amp;do=spoglio\">$bullet "._GEST." "._SPOGLIO."</a><br>";
+			if(!$BACKUP) echo "<a href=\"admin.php?op=voti&amp;id_cons_gen=$id_cons_gen&amp;do=spoglio\">$bullet "._GEST." "._SPOGLIO."</a><br>";
 		if ($nraff) {
 			echo "<a href=\"admin.php?op=controllo_votanti&amp;id_cons_gen=$id_cons_gen\">$bullet "._STATO." "._AFFLUENZE."</a><br>";
Index: trunk/admin/modules/Elezioni/ele_cons_comuni.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_cons_comuni.php	(revision 423)
+++ trunk/admin/modules/Elezioni/ele_cons_comuni.php	(revision 424)
@@ -149,5 +149,5 @@
 function cons_comuni($ok, $id_cons2,$do, $duplica,$elettori) 
 {
- global $prefix, $dbi,$id_comune,$id_cons_gen,$perms,$predefinita;
+ global $prefix, $dbi,$id_comune,$id_cons_gen,$perms,$predefinita,$chiusa;
 if ($perms>32) {
 	$sql="select id_cons from ".$prefix."_ele_cons_comune where id_cons_gen='$id_cons_gen' and id_comune=$id_comune";
@@ -236,5 +236,5 @@
 			$result->execute();	
 		}else{
-			$sql="update  ".$prefix."_ele_cons_comune set  chiusa='$chiusa' WHERE id_cons2='$id_cons2'";
+			$sql="update  ".$prefix."_ele_cons_comune set  chiusa='$chiusa' WHERE id_cons='$id_cons2'";
 			$result = $dbi->prepare("$sql");
 			$result->execute();	
Index: trunk/admin/modules/Elezioni/ele_controlli.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_controlli.php	(revision 423)
+++ trunk/admin/modules/Elezioni/ele_controlli.php	(revision 424)
@@ -308,5 +308,5 @@
 	$res->execute();
 	list($prefs,$disg,$solog,$fascia,$id_conf)=$res->fetch(PDO::FETCH_NUM);
-	$sql="SELECT supdisgiunto FROM ".$prefix."_ele_conf where id_conf='$id_conf'";
+	$sql="SELECT supdisgiunto FROM ".$prefix."_ele_conf where id_conf='$id_conf'"; 
 	$res = $dbi->prepare("$sql");
 	$res->execute();
@@ -361,5 +361,5 @@
 			$res = $dbi->prepare("$sql");
 			$res->execute();
-			list($votiv,$validil,$contestatil,$nullil,$solog,$solol) = $res->fetch(PDO::FETCH_NUM);
+			list($votiv,$validil,$contestatil,$nullil,$solovg,$solol) = $res->fetch(PDO::FETCH_NUM);
 			$vl=0;
 			$tvl=0;
@@ -391,18 +391,18 @@
 						$tnl+=$nl; 
 						if(($votig+$svl)!=($votil+$svg+$nl) and (!$supdis and !$disg))
-						{ $err=1; $tipo='lista'; break; }
+						{  $err=1; $tipo='lista'; break; }
 					}
 					$totg+=($votig+$svl);$totl+=($votil+$svg+$nl); #$svl da ele_voti_gruppo e $solog da ele_sezioni
 					
 				}
-				if(($totg)!=($totl+$nullil+$contestatil) or $totsg!=$solog)
-				{ $err=1; $tipo='lista';}
+				if(($totg+$totsg)!=($totl+$nullil+$contestatil+$solovg) or ($totsg!=$solovg and $solog))
+				{$err=1; $tipo='lista';} 
 				
 			}else{
 			#inserire controllo per consultazioni con voto alle liste ma senza voto di gruppo	
 			}
-			if (!$totsg) $totsg=$solog; 
+			if (!$totsg) $totsg=$solovg; 
 			if (($totlis!=$validil or $validil+$contestatil+$nullil+$totsg!=$votiv) and ($validil+$contestatil+$nullil+$solol>0 or $tvl>0)) {$err=1;$tipo='lista';} 
-			if(($solog && !$disg && ($tnl!=$nullil && $disg)) || $totsl!=$solol || ($totsg!=$solog)) {$err=1;$tipo='lista';}
+			if(($solovg && !$disg && ($tnl!=$nullil && $disg)) || $totsl!=$solol || ($totsg!=$solovg)) {$err=1;$tipo='lista';}
 		}		
 	}
Index: trunk/admin/modules/Elezioni/ele_gruppo.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_gruppo.php	(revision 423)
+++ trunk/admin/modules/Elezioni/ele_gruppo.php	(revision 424)
@@ -14,5 +14,5 @@
 
 // Offset - visualizza il numero di elementi per pagina
-$offset=5;
+if(isset($offsetgruppi) and $offsetgruppi>0) $offset=$offsetgruppi; else $offset=5;
 global $dbi;
 $aid=$_SESSION['aid'];
Index: trunk/admin/modules/Elezioni/ele_riepilogovoti.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_riepilogovoti.php	(revision 423)
+++ trunk/admin/modules/Elezioni/ele_riepilogovoti.php	(revision 424)
@@ -67,8 +67,8 @@
 
 ################# calcolo voti di lista espressi
-	$sql="select sum(validi_lista),sum(nulli+bianchi+voti_nulli+contestati+solo_gruppo),sum(voti_nulli_lista),sum(contestati_lista) from ".$prefix."_ele_sezioni where id_cons='$id_cons'";
+	$sql="select sum(validi_lista),sum(nulli+bianchi+voti_nulli+contestati+solo_gruppo),sum(voti_nulli_lista),sum(contestati_lista),sum(solo_gruppo) from ".$prefix."_ele_sezioni where id_cons='$id_cons'";
 	$resperc = $dbi->prepare("$sql");
 	$resperc->execute();	
-	list($scruvalidi,$scrunulli,$nullista,$contlista)=$resperc->fetch(PDO::FETCH_NUM);
+	list($scruvalidi,$scrunulli,$nullista,$contlista,$sgs)=$resperc->fetch(PDO::FETCH_NUM);
 
 	if($totschede)
@@ -96,5 +96,7 @@
 		list($num_gruppo,$descrg)=$resg2->fetch(PDO::FETCH_NUM);
 
-		echo "<tr style=\"border-top: 2px solid;\"><td rowspan=\"$numliste\">$descrg</td><td rowspan=\"$numliste\" align=\"right\"><h2>".number_format($votigruppo,0,',','.')."</h2></td><td rowspan=\"$numliste\" align=\"right\"><h2>".number_format($sologruppo,0,',','.')."</h2></td>";
+		echo "<tr style=\"border-top: 2px solid;\"><td rowspan=\"$numliste\">$descrg</td><td rowspan=\"$numliste\" align=\"right\"><h2>".number_format($votigruppo,0,',','.')."</h2></td><td rowspan=\"$numliste\" align=\"right\"><h2>";
+		if($sologruppo) echo number_format($sologruppo,0,',','.');
+		echo "</h2></td>";
 		$currlst=0;
 		while (list($id_lista,$num_lista,$descrl)=$resl->fetch(PDO::FETCH_NUM))
@@ -110,4 +112,5 @@
 		if(!$currlst) echo "<td></td><td></td></tr>";
 	}
+	if(!$totsg)$totsg=$sgs;
 	echo "<tr style=\"border-top: 2px solid;\"><td rowspan=\"3\"><b>Totale</b></td><td  rowspan=\"3\" align=\"right\"><h1>".number_format($totg,0,',','.')."</h1></td><td  rowspan=\"3\" align=\"right\"><h1>".number_format($totsg,0,',','.')."</h1></td><td align=\"right\"><b>Validi di lista</b></td><td align=\"right\"><h1>".number_format($totl,0,',','.')."</h1></td></tr><tr><td align=\"right\"><b>Nulli di lista</b></td><td align=\"right\"><h1>".number_format($nullista,0,',','.')."</h1></td></tr><tr><td align=\"right\"><b>Contestati di lista</b></td><td align=\"right\"><h1>".number_format($contlista,0,',','.')."</h1></td></tr>";
 	echo "</table></br>";
Index: trunk/admin/modules/Elezioni/ele_spoglio.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_spoglio.php	(revision 423)
+++ trunk/admin/modules/Elezioni/ele_spoglio.php	(revision 424)
@@ -278,5 +278,5 @@
 			echo "<input type=\"hidden\" id=\"pag\" name=\"pag\" value=\"admin.php?id_cons_gen=$id_cons_gen&amp;op=$op&amp;id_sez=$id_sez&amp;id_circ=$id_circ&amp;id_sede=$id_sede&amp;do=spoglio&amp;ops=3&amp;id_lista=\">";
 			echo "<select id=\"id_lista\" name=\"id_lista\" onChange=\"vai_lista('id_lista');\">";
-			if ($id_lista){
+			if ($id_lista){    #TEST spostare la valorizzazione di $ele_lista 
 				echo "<option value=\"0\">"._VOTI_LISTA;
 				$ele_lista=" and t1.id_lista='$id_lista' ";
@@ -498,6 +498,6 @@
 
 
-if($id_lista)		$sql="select t1.* from ".$prefix."_ele_candidati as t1 left join ".$prefix."_ele_lista as t2 on (t1.id_lista=t2.id_lista) WHERE t1.id_cons=$id_cons and t1.id_cons=t2.id_cons $ele_lista $circo ORDER BY t2.num_lista,t1.num_cand";
-else $sql="select 0,'$id_cons',t1.id_lista,'','','','','',0 from ".$prefix."_ele_candidati as t1 left join ".$prefix."_ele_lista as t2 on (t1.id_lista=t2.id_lista) WHERE t1.id_cons=$id_cons and t1.id_cons=t2.id_cons $ele_lista $circo ORDER BY t2.num_lista";
+if($id_lista)		$sql="select t1.* from ".$prefix."_ele_candidati as t1 left join ".$prefix."_ele_lista as t2 on (t1.id_lista=t2.id_lista) WHERE t1.id_cons=$id_cons and t1.id_cons=t2.id_cons $ele_lista ORDER BY t2.num_lista,t1.num_cand";
+else $sql="select 0,'$id_cons',t1.id_lista,'','','','','',0 from ".$prefix."_ele_candidati as t1 left join ".$prefix."_ele_lista as t2 on (t1.id_lista=t2.id_lista) WHERE t1.id_cons=$id_cons and t1.id_cons=t2.id_cons $circo $ele_lista ORDER BY t2.num_lista";
 $result = $dbi->prepare("$sql");
 $result->execute();
Index: trunk/admin/modules/Elezioni/language/lang-it.php
===================================================================
--- trunk/admin/modules/Elezioni/language/lang-it.php	(revision 423)
+++ trunk/admin/modules/Elezioni/language/lang-it.php	(revision 424)
@@ -219,4 +219,5 @@
 define("_SPUNTAELIMINA","Metti la spunta per abilitare la cancellazione dei dati (solo voti e votanti):");
 define("_DATI","i dati dello spoglio");
+define("_AGGDATI","Aggiorna i dati");
 define("_SPUNTALABEL1","Abilita la cancellazione");
 define("_SPUNTALABEL2","Cancella anche candidati e struttura");
Index: trunk/admin/modules/Elezioni/query.sql
===================================================================
--- trunk/admin/modules/Elezioni/query.sql	(revision 423)
+++ trunk/admin/modules/Elezioni/query.sql	(revision 424)
@@ -1,3 +1,3 @@
- <?php
+<?php
 
 if (!defined('ADMIN_FILE')) {
@@ -96,8 +96,8 @@
 function elenco_cons()
 {
-global $perms,$dbi,$prefix,$currentlang,$aid,$id_comune;
+global $perms,$dbi,$prefix,$currentlang,$aid,$id_comune,$giorniaut;
 
 	if ($perms<64) {
-		$sql="select t2.id_cons,t1.descrizione,t4.genere,t1.id_cons_gen,t2.chiusa from ".$prefix."_ele_consultazione as t1, ".$prefix."_ele_cons_comune as t2, ".$prefix."_ele_tipo as t4 where t1.id_cons_gen=t2.id_cons_gen and t2.id_comune=$id_comune and t1.tipo_cons=t4.tipo_cons and date_add(t1.data_fine, interval 3 day)>CURDATE() and t2.id_cons in (select id_cons from ".$prefix."_ele_operatori where aid='$aid' and permessi>0)";
+		$sql="select t2.id_cons,t1.descrizione,t4.genere,t1.id_cons_gen,t2.chiusa from ".$prefix."_ele_consultazione as t1, ".$prefix."_ele_cons_comune as t2, ".$prefix."_ele_tipo as t4 where t1.id_cons_gen=t2.id_cons_gen and t2.id_comune=$id_comune and t1.tipo_cons=t4.tipo_cons and date_add(t1.data_fine, interval $giorniaut day)>CURDATE() and t2.id_cons in (select id_cons from ".$prefix."_ele_operatori where aid='$aid' and permessi>0)";
 	}
 	elseif ($perms<128) { 
Index: trunk/admin/modules/Elezioni/restore.php
===================================================================
--- trunk/admin/modules/Elezioni/restore.php	(revision 423)
+++ trunk/admin/modules/Elezioni/restore.php	(revision 424)
@@ -15,5 +15,5 @@
 $perms=ChiSei(0);
 if ($perms!=256) die("Non hai i permessi per effettuare questa operazione!");
-
+global $LINK,$fileback;
 $param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
 if (isset($param['datafile'])) $datafile=addslashes($param['datafile']); else $datafile='';
@@ -22,5 +22,5 @@
 ele();
 if (isset($_FILES['datafile']['tmp_name'])) $updfile=$_FILES['datafile']['tmp_name']; else $updfile='';
- if (!is_uploaded_file($updfile)) 
+ if (!is_uploaded_file($updfile) and $LINK=='') 
 # if (!is_uploaded_file($_FILES['datafile']['tmp_name'])) 
 # if (file_exists($datafile))
@@ -33,5 +33,9 @@
 	echo "<td align=\"center\"><input type=\"submit\" name=\"add\" value=\""._OK."\"></td></tr></table></form>";
 ////////////////////////////
-}else{$datafile=$_FILES['datafile']['tmp_name'];
+}else{
+if($LINK=='')
+	$datafile=$_FILES['datafile']['tmp_name'];
+else
+	$datafile=$fileback;
 $arrFile = file($datafile);
 $handle = fopen($datafile, "r");
@@ -123,9 +127,8 @@
 } else $errore=1;
 fclose($handle);
-die("finito");
+echo "<center><h2>Aggiornamento del ".date('d/m/Y H:i')." terminato</h2></center>";
 }
-if (isset($errore))
-	if ($errore) die( _MEX_RESTORE_FAILED);
-	else die( _MEX_RESTORE_OK );
+if (isset($errore) and $errore) echo _MEX_RESTORE_FAILED;
+
 echo"</td></tr></table>";
 include("footer.php");
Index: trunk/admin/variabili.php
===================================================================
--- trunk/admin/variabili.php	(revision 424)
+++ trunk/admin/variabili.php	(revision 424)
@@ -0,0 +1,22 @@
+<?php
+if (!defined('ADMIN_FILE')) {
+    die ("You can't access this file directly...");
+}
+### Variabili di programma
+#Impostazione come sito di produzione o come copia di backup
+#$BACKUP=0 per il sito di lavoro -- $BACKUP=1; per il sito di backup
+$BACKUP=0; 
+# $CLIENT = Indirizzo del client di produzione, esempio: 'https://www.eleonline.it/client'
+$CLIENT='';
+
+#numero di liste e gruppi visualizzati nella pagina
+$offsetliste=16;
+$offsetgruppi=15;
+
+# giorni di autorizzazione dopo la scadenza della consultazione per gli operatori
+$giorniaut=30;
+
+# $LINK e fileback vanno lasciate vuote, vengono gestite da programma per contenere il nome del file di backup e l'indirizzo completo per scaricare la consultazione e come discrimine per la funzione di restore
+$LINK='';
+$fileback='';
+?>
Index: trunk/admin/versione.php
===================================================================
--- trunk/admin/versione.php	(revision 423)
+++ trunk/admin/versione.php	(revision 424)
@@ -1,7 +1,7 @@
 <?php
 
-$versione = "3.0 rev 423";
+$versione = "3.0 rev 424";
 $version_number = $versione;
-$datarel = "05 giugno 2024";
+$datarel = "13 giugno 2024";
 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
 
Index: trunk/client/modules.php
===================================================================
--- trunk/client/modules.php	(revision 423)
+++ trunk/client/modules.php	(revision 424)
@@ -122,8 +122,8 @@
 }
 
-
- $param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
- if (isset($param['id_comune'])) $id_comune=intval($param['id_comune']); #else $id_comune=$siteistat;
- if (isset($param['id_cons_gen'])) $id_cons_gen=intval($param['id_cons_gen']);
+require_once('variabili.php');
+$param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
+if (isset($param['id_comune'])) $id_comune=intval($param['id_comune']); #else $id_comune=$siteistat;
+if (isset($param['id_cons_gen'])) $id_cons_gen=intval($param['id_cons_gen']);
 
 # carica i parametri di default sulla tabella
Index: trunk/client/modules/Elezioni/candidato.php
===================================================================
--- trunk/client/modules/Elezioni/candidato.php	(revision 423)
+++ trunk/client/modules/Elezioni/candidato.php	(revision 424)
@@ -12,9 +12,9 @@
 /*****************************************************/
 function candidato() {
-   global $tipo_cons, $prefix, $dbi, $offset, $min, $id_cons_gen, $id_cons,$file,$genere,$prev,$next,$lettera,$ltr,$ordine,$id_comune,$id_circ,$id_lista,$votog,$circo,$num;
+   global $tipo_cons, $prefix, $dbi, $offset, $min, $id_cons_gen, $id_cons,$file,$genere,$prev,$next,$lettera,$ltr,$ordine,$id_comune,$id_circ,$id_lista,$votog,$circo,$num,$datigenvis;
   
  
  
-  $offset=15;
+  $offset=$datigenvis;
   if ($circo==1) $offset=1000;
   if (!isset($min)) $min=0;
Index: trunk/client/modules/Elezioni/consiglieri.php
===================================================================
--- trunk/client/modules/Elezioni/consiglieri.php	(revision 423)
+++ trunk/client/modules/Elezioni/consiglieri.php	(revision 424)
@@ -132,24 +132,27 @@
 	elseif ($numgruppo>0){
 		$sqllis = "SELECT t1.id_lista,t1.num_lista,t1.descrizione,t1.id_gruppo from ".$prefix."_ele_lista as t1, ".$prefix."_ele_gruppo as t2 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t2.num_gruppo not in (".$_SESSION['ballo1'].",".$_SESSION['ballo2'].")";
-$res_lis = $dbi->prepare("$sqllis");
-$res_lis->execute();
-
+		$res_lis = $dbi->prepare("$sqllis");
+		$res_lis->execute();
 		$yy=$res_lis->rowCount(); 
-			$sql = "select sum(voti) from ".$prefix."_ele_voti_lista where id_cons='$id_cons'";
-$res_voti = $dbi->prepare("$sql");
-$res_voti->execute();
-
-			list($validilista) = $res_voti->fetch(PDO::FETCH_NUM);
+		$sql = "select sum(voti) from ".$prefix."_ele_voti_lista where id_cons='$id_cons'";
+		$res_voti = $dbi->prepare("$sql");
+		$res_voti->execute();
+		list($validilista) = $res_voti->fetch(PDO::FETCH_NUM);
 		if ($yy){
-while(list($id_lista,$num_lista,$descr,$pgrup) = $res_lis->fetch(PDO::FETCH_NUM)) {
-			$sql = "select sum(voti) from ".$prefix."_ele_voti_lista where id_lista='$id_lista'";
-$res_voti = $dbi->prepare("$sql");
-$res_voti->execute();
-
-			list($votilista) = $res_voti->fetch(PDO::FETCH_NUM);
-			if(!isset($voti[$pgrup])) $voti[$pgrup]=0;
-			$voti[$pgrup]+=$votilista;
-}
-			foreach ($voti as $key=>$val){if($val<($validilista*3/100)) unset($voti[$key]);} ##################################################
+			while(list($id_lista,$num_lista,$descr,$pgrup) = $res_lis->fetch(PDO::FETCH_NUM)) {
+				$sql = "select sum(voti) from ".$prefix."_ele_voti_lista where id_lista='$id_lista'";
+				$res_voti = $dbi->prepare("$sql");
+				$res_voti->execute();
+				list($votilista) = $res_voti->fetch(PDO::FETCH_NUM);
+				if(!isset($voti[$pgrup])) $voti[$pgrup]=0;
+				$voti[$pgrup]+=$votilista;
+			}
+			$togli=array();
+			foreach ($voti as $key=>$val){
+				if($val<($validilista*3/100)) 
+					$togli[]=$key;
+			}
+			foreach($togli as $key=>$val)
+				unset($voti[$val]); ##################################################
 			$res_lis = $dbi->prepare("$sqllis");
 			$res_lis->execute();
@@ -161,5 +164,5 @@
 			echo "<input type=\"hidden\" name=\"id_comune\" value=\"$id_comune\"/></td>";
 
-echo "<td><b>".$_SESSION['grp1']."</b></td>";
+			echo "<td><b>".$_SESSION['grp1']."</b></td>";
 			echo "<td><b>".$_SESSION['grp2']."</b></td>";
 			echo "<td><b>"._NONCOLLE."</b></td></tr>";
Index: trunk/client/modules/Elezioni/gruppo.php
===================================================================
--- trunk/client/modules/Elezioni/gruppo.php	(revision 423)
+++ trunk/client/modules/Elezioni/gruppo.php	(revision 424)
@@ -91,5 +91,5 @@
 	global $prefix, $dbi, $descr_cons, $id_cons, $id_cons_gen,$tipo_cons,$votog,$votol,$votoc,$circo, $genere,$id_gruppo,$id_lista,$bgcolor1,$bgcolor2,$id_comune,$descr_comune,$id_circ;
 	global $id_comune,$id_cons_gen,$op,$minsez,$id_lista,$id_circ,$csv,$min,$orienta,$formato,$dettnulli,$disgiunto,
-	$orvert,$grupposg,$offset,$offsetsez,$perc,$info,$files,$nomefile;
+	$orvert,$grupposg,$offset,$offsetsez,$perc,$info,$files,$nomefile,$numcandvis,$numsezvis;
 	$nomefile="";
 	#Denominazione pagine
@@ -158,7 +158,7 @@
 		
 		$voticompl=0;
-		if (!($offset)) $offset=25;
+		if (!($offset)) $offset=$numcandvis;
 		if (!($min)) $min=1;
-		if (!($offsetsez)) $offsetsez=22; 
+		if (!($offsetsez)) $offsetsez=$numsezvis; 
 		if (!($minsez)) $minsez=1;
 		if ($min>$offset) { 
Index: trunk/client/modules/Elezioni/index.php
===================================================================
--- trunk/client/modules/Elezioni/index.php	(revision 423)
+++ trunk/client/modules/Elezioni/index.php	(revision 424)
@@ -200,5 +200,5 @@
 *************************/
 function menu() {
-	global $hondt,$lang,$multicomune, $tema, $op, $prefix, $dbi, $offset, $min,$descr_cons,$info,$dati, $votog,$votol,$votoc,$circo, $id_cons,$tipo_cons,$genere,$descr_cons,$id_cons_gen,$id_comune,$id_circ,$minsez,$offsetsez, $limite,$hondt,$tema_on,$js,$visgralista;
+	global $hondt,$lang,$multicomune, $tema, $op, $prefix, $dbi, $offset, $min,$descr_cons,$info,$dati, $votog,$votol,$votoc,$circo, $id_cons,$tipo_cons,$genere,$id_cons_gen,$id_comune,$id_circ,$minsez,$offsetsez, $limite,$tema_on,$js,$visgralista;
 
 $tema=htmlentities($tema); //xss        
@@ -453,5 +453,5 @@
 function sezione() {
    global $admin, $prefix, $dbi, $offset, $min,$votog,$circo, $id_cons_gen,$id_circ,$descr_circ,$id_cons,$file,$prev,$next,$id_comune,$googlemaps;
-	global $descr_com,$cap;
+	global $descr_com,$cap,$datigenvis;
  if(!isset($_GET['id_circ'])) unset($id_circ);
  dati();
@@ -475,5 +475,5 @@
  } 
 
-  $offset=15;
+  $offset=$datigenvis;
   if (!isset($min)) $min=0;
   if (!isset($id_circ)) $id_circ=0;
@@ -610,5 +610,5 @@
 
 function gruppo() {
-   global $fascia, $limite, $admin, $prefix, $dbi, $offset, $min, $id_cons_gen,$genere, $id_cons,$tipo_cons,$file,$prev,$next,$id_circ,$id_comune,$descr_circ,$id_sez,$votog,$votol,$circo,$limite;
+   global $fascia, $limite, $admin, $prefix, $dbi, $offset, $min, $id_cons_gen,$genere, $id_cons,$tipo_cons,$file,$prev,$next,$id_circ,$id_comune,$descr_circ,$id_sez,$votog,$votol,$circo,$limite,$datigenvis;
    	//dati();
 	// definizione variabile per button 'ok' nei form
@@ -704,5 +704,5 @@
 	
 		
-	$offset=15;
+	$offset=$datigenvis;
   	if (!isset($min)) $min=0;
   	$go="gruppo";
Index: trunk/client/temi/altro/style.css
===================================================================
--- trunk/client/temi/altro/style.css	(revision 423)
+++ trunk/client/temi/altro/style.css	(revision 424)
@@ -506,4 +506,18 @@
 }
 
+.bggray a{
+color:#ffffff;
+text-decoration: underline;
+}
+.bggray a:hover{
+text-decoration: underline;
+/*color:#FFFFFF;*/
+}
+.bggray a:visited{
+color:#ffffff;
+text-decoration: underline;
+
+}
+
 .bggray2 	{
 	background: #A8C4E1; 
Index: trunk/client/temi/bsitalia/layout/styles/style.css
===================================================================
--- trunk/client/temi/bsitalia/layout/styles/style.css	(revision 423)
+++ trunk/client/temi/bsitalia/layout/styles/style.css	(revision 424)
@@ -658,5 +658,19 @@
 	text-align: center;
 }
-
+.bggray a:link {
+	text-decoration: underline;
+	color: #660033;
+	background-color: #d2d2d2;
+}
+.bggray a:visited {
+	text-decoration: underline;
+	color: #660000;
+	background-color: #d2d2d2;
+}
+.bggray a:hover {
+	color: #CC2222;
+	text-decoration: underline;
+	background-color: #d2d2d2;
+}
 .bggray2 	{
 	BACKGROUND: #EFEFEF; 
@@ -672,5 +686,19 @@
 	text-align: left;
 	}
-
+.bggray3 a:link {
+	text-decoration: underline;
+	color: #660033;
+	background-color: #EFEFEF;
+}
+.bggray3 a:visited {
+	text-decoration: underline;
+	color: #660000;
+	background-color: #EFEFEF;
+}
+.bggray3 a:hover {
+	color: #CC2222;
+	text-decoration: underline;
+	background-color: #EFEFEF;
+}
 .normale {
 	BACKGROUND: none; 
Index: trunk/client/temi/bsitalia/style.css
===================================================================
--- trunk/client/temi/bsitalia/style.css	(revision 423)
+++ trunk/client/temi/bsitalia/style.css	(revision 424)
@@ -1,12 +1,15 @@
 a:link {
-	text-decoration: none;
+	text-decoration: underline;
 	color: #660033;
+	background-color: d2d2d2;
 }
 a:visited {
-	text-decoration: none;
+	text-decoration: underline;
 	color: #660000;
+	background-color: d2d2d2;
 }
 a:hover {
 	color: #CC2222;
+	text-decoration: underline;
 }
 body , html {
Index: trunk/client/variabili.php
===================================================================
--- trunk/client/variabili.php	(revision 424)
+++ trunk/client/variabili.php	(revision 424)
@@ -0,0 +1,12 @@
+<?php
+if (!defined('MODULE_FILE')) {
+    die ("You can't access this file directly...");
+}
+### Variabili di programma
+#
+$offsetliste=16;           # Risultati numero di liste visualizzate nella pagina
+$offsetgruppi=15;          # Risultati numero di gruppi visualizzati nella pagina
+$numcandvis=16;            # Numero di candidati visualizzati per pagina
+$numsezvis=26;            # Numero di sezioni visualizzate per pagina
+$datigenvis=20;            # Elementi visualizzati in scheda Dati generali
+?>
Index: trunk/client/versione.php
===================================================================
--- trunk/client/versione.php	(revision 423)
+++ trunk/client/versione.php	(revision 424)
@@ -1,7 +1,7 @@
 <?php
 
-$versione = "3.0 rev 423";
+$versione = "3.0 rev 424";
 $version_number = $versione;
-$datarel = "05 giugno 2024";
+$datarel = "13 giugno 2024";
 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
 
