Index: trunk/admin/aggiornadb.php
===================================================================
--- trunk/admin/aggiornadb.php	(revision 361)
+++ trunk/admin/aggiornadb.php	(revision 362)
@@ -1,15 +1,19 @@
 <?php
 
-#implementare controllo con: SHOW INDEX FROM tua_tabella WHERE tua_tabella.tua_colonna='nome_colonna';
+#imposta il charset su utf8, qualsiasi altro valore per cambiarlo in latin1;
+$newcs='utf8'; 
+
 @require_once("config.php"); 
 	try{
-	$dbi = new PDO("mysql:host=$dbhost;charset=latin1", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); 
-     	$sql = "use $dbname";
-    	$dbi->exec($sql);
-        }
+		$dbi = new PDO("mysql:host=$dbhost", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); 
+    	$sql = "use $dbname";
+    	$dbi->exec($sql);	
+    }
 	catch(PDOException $e)
 	{
 	    die( $sql . "<br>" . $e->getMessage());
 	} 
+
+
 ###############
 function aggiorna($sql,$dbi,$sql2,$num){
@@ -95,7 +99,28 @@
 $num=0;		
 
+if(controllo($prefix.'_authors','admincomune',++$num))
+{
+	$sql="update `".$prefix."_authors` set admincomune='1' where aid='admin'";
+	$ret=aggiorna($sql,$dbi,'',$num);
+	$sql="update `".$prefix."_authors` set admincomune='0' where aid!='admin'";
+	$ret=aggiorna($sql,$dbi,'',$num);
+	echo "Aggiornata la tabella dei permessi<br>";
+}	
+
 if(!controllo($prefix.'_config','versione',++$num))
 {
 	$sql="alter table `".$prefix."_config` change column `Versione` `versione` int(3)";
+	$ret=aggiorna($sql,$dbi,'',$num);
+}	
+
+if(!controllo($prefix.'_config','versione',++$num))
+{
+	$sql="alter table `".$prefix."_config` change column `Versione` `versione` int(3)";
+	$ret=aggiorna($sql,$dbi,'',$num);
+}	
+
+if(!controllo($prefix.'_config','secret',++$num))
+{
+	$sql="alter table `".$prefix."_config` DROP `secret`";
 	$ret=aggiorna($sql,$dbi,'',$num);
 }	
@@ -374,15 +399,26 @@
 
 echo "<br>Modifica Charset del database<br>";
-#$sql="ALTER DATABASE $dbname CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'";
+if($newcs=='utf8') {
+	$cset='utf8';
+	$ccollate='utf8_general_ci';
+	$preset='latin1';
+}else{
+	$cset='latin1';
+	$ccollate='latin1_swedish_ci';
+	$preset='utf8';
+}
+#$sql="ALTER DATABASE $dbname CHARACTER SET '$cset' COLLATE '$ccollate'";
 #$res = $dbi->prepare("$sql");
 #$res->execute();
-# alter table $table DEFAULT CHARSET=utf8 COLLATE utf8_general_ci
-$sql="SELECT table_name,column_name,column_default,column_type,is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '$dbname' and (character_set_name='latin1' or collation_name like 'latin%')";
+
+$sql="SELECT table_name,column_name,column_default,column_type,is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '$dbname' and (character_set_name='$preset' or collation_name like '$preset%')";
 $res = $dbi->prepare("$sql");
 $res->execute();
 $tab='';
+
+
 while(list($nometab,$campo,$def,$tipo,$nul)=$res->fetch(PDO::FETCH_NUM)) {
 	if($tab!=$nometab){
-		$sql="alter table $nometab DEFAULT CHARSET=utf8 COLLATE utf8_general_ci";
+		$sql="alter table $nometab DEFAULT CHARSET=$cset COLLATE $ccollate";
 		try{
 			$res2 = $dbi->prepare("$sql");
@@ -397,5 +433,5 @@
 	if($def!='') $default="DEFAULT '$def'"; else $default='';
 	if($nul=='NO') $nullable='NOT NULL'; else $nullable='NULL';
-	$sql="ALTER TABLE $nometab CHANGE $campo $campo $tipo CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' $nullable $default;"; 	
+	$sql="ALTER TABLE $nometab CHANGE $campo $campo $tipo CHARACTER SET '$cset' COLLATE '$ccollate' $nullable $default;"; 	
 	echo "-- $campo<br>";
 	try{
@@ -406,5 +442,5 @@
 		{
 			$default="DEFAULT $def";
-			$sql="ALTER TABLE $nometab CHANGE $campo $campo $tipo CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' $nullable $default;"; 	
+			$sql="ALTER TABLE $nometab CHANGE $campo $campo $tipo CHARACTER SET '$cset' COLLATE '$ccollate' $nullable $default;"; 	
 			try{
 					$res2 = $dbi->prepare("$sql");
@@ -417,10 +453,10 @@
 		}
 }
- $sql="SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE TABLE_SCHEMA = '$dbname' and table_collation like 'latin%'";
+ $sql="SELECT table_name FROM INFORMATION_SCHEMA.tables WHERE TABLE_SCHEMA = '$dbname' and table_collation like '$preset%'";
  $res = $dbi->prepare("$sql");
  $res->execute();
 $tab='';
 while(list($nometab)=$res->fetch(PDO::FETCH_NUM)) {
-		$sql="alter table $nometab DEFAULT CHARSET=utf8 COLLATE utf8_general_ci";
+		$sql="alter table $nometab DEFAULT CHARSET=$cset COLLATE $ccollate";
 		try{
 	echo "Tabella: $nometab <br>";
Index: trunk/admin/modules/Elezioni/ele.php
===================================================================
--- trunk/admin/modules/Elezioni/ele.php	(revision 361)
+++ trunk/admin/modules/Elezioni/ele.php	(revision 362)
@@ -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;
+	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;
 	
 	include ("header.php");
@@ -77,5 +77,5 @@
 
 	$row=daticonscom();
-	if (isset($row['fascia'])) $fascia=$row['fascia'];
+	if (isset($row['id_fascia'])) $fascia=$row['id_fascia'];
 	else
 	$fascia=0;
@@ -277,6 +277,8 @@
 		}
 		echo "<a href=\"admin.php?op=riepilogo&amp;id_cons_gen=$id_cons_gen\">$bullet "._RIEPILOGO."</a><br>";
-		if($tipo_cons==18 or $tipo_cons==19)
-			echo "<a href=\"admin.php?op=riepilogovoti&amp;id_cons_gen=$id_cons_gen\">$bullet Tabella dei Totali </a><br>";
+#		if($tipo_cons==18 or $tipo_cons==19)
+	
+		if($genere==5 and ($fascia>$limite or $limite==0))
+			echo "<a href=\"admin.php?op=riepilogovoti&amp;id_cons_gen=$id_cons_gen\">$bullet Tabella dei Totali</a><br>";
 	}
 
Index: trunk/admin/modules/Elezioni/ele_riepilogovoti.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_riepilogovoti.php	(revision 361)
+++ trunk/admin/modules/Elezioni/ele_riepilogovoti.php	(revision 362)
@@ -67,19 +67,19 @@
 
 ################# calcolo voti di lista espressi
-	$sql="select sum(validi_lista),sum(nulli+bianchi+voti_nulli+contestati+contestati_lista+solo_gruppo+voti_nulli_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) from ".$prefix."_ele_sezioni where id_cons='$id_cons'";
 	$resperc = $dbi->prepare("$sql");
 	$resperc->execute();	
-	list($scruvalidi,$scrunulli)=$resperc->fetch(PDO::FETCH_NUM);
+	list($scruvalidi,$scrunulli,$nullista,$contlista)=$resperc->fetch(PDO::FETCH_NUM);
 
 	if($totschede)
-		$listpercscru=number_format(($scruvalidi+$scrunulli)*100/$totschede,2);
+		$listpercscru=number_format(($scruvalidi+$scrunulli+$nullista+$contlista)*100/$totschede,2);
 	else $listpercscru=0;
 	$listtotschede=$totschede;
-	$listtotvoti=($scruvalidi+$scrunulli);
+	$listtotvoti=($scruvalidi+$scrunulli+$nullista+$contlista);
 
 #################
-	echo "<table border=\"1\" cellpadding=\"5\"><tr align=\"middle\"><th colspan=\"5\">Riepilogo dei voti per gruppo e liste collegate</th></tr>";
+	echo "<table border=\"1\" cellpadding=\"5\"  style=\"border-collapse: collapse; outline: thin solid;\"><tr align=\"middle\"><th colspan=\"5\">Riepilogo dei voti per gruppo e liste collegate</th></tr>";
 	echo "<tr align=\"middle\"><td colspan=\"3\"><b>Scrutinate $listtotvoti schede su $listtotschede ($listpercscru %)</b></td><td colspan=\"2\"><b>Scrutinate $listtotvoti schede su $listtotschede ($listpercscru %)</b></td></tr>";
-	echo "<tr align=\"middle\"><td><b>Candidato Uninominale</b></td><td><b>Voti</b></td><td><b>Al solo</br>Candidato Uninominale</b></td><td><b>Lista</br>Collegata</b></td><td><b>Voti alla lista</b></td></tr>";
+	echo "<tr align=\"middle\"><td><b>"._GRUPPO."</b></td><td><b>Voti</b></td><td><b>Al solo</br>"._GRUPPO."</b></td><td><b>Lista</br>Collegata</b></td><td><b>Voti alla lista</b></td></tr>";
 	$totl=0;$totg=0;$totsg=0;
 	while(list($id_gruppo,$votigruppo,$sologruppo)=$res->fetch(PDO::FETCH_NUM))
@@ -90,4 +90,5 @@
 		$resl->execute();	
 		$numliste=$resl->rowCount();
+		if(!$numliste) $numliste=1;
 		$sql="SELECT num_gruppo,descrizione FROM ".$prefix."_ele_gruppo where id_gruppo='$id_gruppo'";
 		$resg2 = $dbi->prepare("$sql");
@@ -95,5 +96,5 @@
 		list($num_gruppo,$descrg)=$resg2->fetch(PDO::FETCH_NUM);
 
-		echo "<tr><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>".number_format($sologruppo,0,',','.')."</h2></td>";
 		$currlst=0;
 		while (list($id_lista,$num_lista,$descrl)=$resl->fetch(PDO::FETCH_NUM))
@@ -107,6 +108,7 @@
 			echo "<td>$num_lista) $descrl</td><td align=\"right\"><h2>".number_format($votilista,0,',','.')."</h2></td></tr>";
 		}
+		if(!$currlst) echo "<td></td><td></td></tr>";
 	}
-	echo "<tr><td><b>Totale</b></td><td align=\"right\"><h1>".number_format($totg,0,',','.')."</h1></td><td align=\"right\"><h1>".number_format($totsg,0,',','.')."</h1></td><td></td><td align=\"right\"><h1>".number_format($totl,0,',','.')."</h1></td></tr>";
+	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 361)
+++ trunk/admin/modules/Elezioni/ele_spoglio.php	(revision 362)
@@ -590,7 +590,8 @@
 					$errcolor="style=\"background-color: rgb(255, 0, 0);\""; 
 					$bordcolor="border-color:red;";
-				}elseif(!$errcolor && $numrec) $errcolor="style=\"background-color: #99CC33;\""; 
+				}elseif(!$errcolor && $numrec) $errcolor="style=\"background-color: #99CC33;\"";
+				if($genere>=4 and !$votoc) $stilcur="style=\"cursor: pointer;\""; else $stilcur='';
 				echo "<td align=\"center\" $errcolor><b> $num_lista </b></td>"
-				."<td align=\"left\" style=\"cursor: pointer;\" onClick=\"vai_lista('id_rif$i');\"><b>$descr_lista</b></td>";
+				."<td align=\"left\" $stilcur onClick=\"vai_lista('id_rif$i');\"><b>$descr_lista</b></td>";
 ##				$cond_sele="and id_lista=$id_lista3";
 				echo "<td align=\"right\"><input  name=\"voti$i\" value=\"".$voti."\" size=\"7\" onfocus=\"select();\" style=\"text-align:right; $bordcolor;\"><input id=\"id_rif$i\" type=\"hidden\" name=\"id_lista$i\" value=\"$id_lista3\">";
@@ -979,7 +980,7 @@
 					else 
 						echo "<tr style=\"background-color:$bgcolor2; text-align:center\">";
-					$descr = explode('.',$descr_gruppo, 100);
+#					$descr = explode('.',$descr_gruppo, 100);
 					echo "<td colspan=\"6\" align=\"center\"><input type=\"hidden\" name=\"id_gruppo$i\" value=\"$id_gruppo\"><b>$num_gruppo) </b>"
-					."<b> $descr[0] </b></td></tr>";
+					."<b> $descr_gruppo </b></td></tr>";
 					$pro['si']=(isset($pro['si']) and $pro['si']>=0) ? $pro['si']:'';
 					$pro['no']=(isset($pro['no']) and $pro['no']>=0) ? $pro['no']:'';
Index: trunk/admin/modules/Elezioni/ele_voti.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_voti.php	(revision 361)
+++ trunk/admin/modules/Elezioni/ele_voti.php	(revision 362)
@@ -336,4 +336,6 @@
 if($genere==2 and $votog)
 	echo "<td bgcolor=\"$bgcolorg\" align=\"center\" $bordog onClick=\"vai_scelta('admin.php?op=voti&amp;id_comune=$id_comune&amp;id_sez=$id_sez&amp;id_cons_gen=$id_cons_gen&amp;do=spoglio&amp;ops=4');\"><p style=\"margin-left:10px;margin-right:10px;\"><b><font color=\"$tcolorg\">"._GRUPPO."</font></b></p></td>\n";
+elseif($genere>=4 and !$votoc)
+	echo "<td bgcolor=\"$bgcolorl\" align=\"center\"$bordol onClick=\"vai_scelta('admin.php?op=voti&amp;id_comune=$id_comune&amp;id_sez=$id_sez&amp;id_cons_gen=$id_cons_gen&amp;do=spoglio&amp;ops=3');\"><p style=\"margin-left:10px;margin-right:10px;\"><b><font color=\"$tcolorl\">"._LISTAPREF."</font></b></p></td>\n";
 elseif(($genere>2 or $votog)){ //if(($genere>2 or $tipo_cons==10 or $tipo_cons==11)){
 	echo "<td bgcolor=\"$bgcolorl\" align=\"center\"$bordol onClick=\"vai_scelta('admin.php?op=voti&amp;id_comune=$id_comune&amp;id_sez=$id_sez&amp;id_cons_gen=$id_cons_gen&amp;do=spoglio&amp;ops=3');\"><p style=\"margin-left:10px;margin-right:10px;\"><b><font color=\"$tcolorl\">"._LISTA."</font></b></p></td>\n";
Index: trunk/admin/modules/Elezioni/ele_widget.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_widget.php	(revision 361)
+++ trunk/admin/modules/Elezioni/ele_widget.php	(revision 362)
@@ -192,5 +192,5 @@
 //Funzione crea db se non esiste
 //**********************************************************************
-
+/*
 function make_db_widget(){
 global $dbi,$prefix;
@@ -209,5 +209,5 @@
 
 }
-
+*/
 
 ?>
Index: trunk/admin/modules/Elezioni/importa.php
===================================================================
--- trunk/admin/modules/Elezioni/importa.php	(revision 361)
+++ trunk/admin/modules/Elezioni/importa.php	(revision 362)
@@ -21,49 +21,48 @@
 include("modules/Elezioni/ele.php");
 
-
 function insgruppo()
 {
-global $prefix, $dbi;
-global $ar_gruppo,$ar_lista,$ar_candi,$idcns;
-
-foreach ($ar_gruppo as $rigagruppo){
-	$newidg=0;
-	$oldidg=0;
-	$isnew=0;
-	foreach($rigagruppo as $key=>$campo){
-		if ($key==0) $valori="'$idcns',";
-		elseif ($key==1) {$valori.= "null"; $oldidg=$campo;}
-		elseif ($key==6) $valori.= ",0";
-		elseif($key==4 || $key==8) $valori.=",'".utf8_encode($campo)."'";
-		elseif($key==9) $valori.=",''";
-		else $valori.= ",'".$campo."'";
-		if ($key==2) $numgruppo= $campo;
-		if ($key==8) $isnew=1;
-	}
-	if (!$isnew and isset($valori)) $valori.=",null,null"; 
-	if(isset($valori)){
-
-		$sql="insert into ".$prefix."_ele_gruppo values($valori)";
-	try {
-		$res_gruppo = $dbi->prepare("$sql");
-		$res_gruppo->execute();	
-	}
-	catch(PDOException $e)
-	{
-		echo $sql . "<br>" . $e->getMessage();
-	}                  
-		$sql="select id_gruppo from ".$prefix."_ele_gruppo where num_gruppo='$numgruppo' and id_cons='$idcns'";
-		$resnew = $dbi->prepare("$sql");
-		$resnew->execute();	
-		list ($newidg) = $resnew->fetch(PDO::FETCH_NUM);
-		unset($valori);
-		if($oldidg)
-			$_SESSION['gruppi']['idg_'.$oldidg]=$newidg; 
-#		inslista($oldidg,$newidg);
-	}
-}
-}
-
-function inslista()#$oldidg,$newidg
+	global $prefix, $dbi;
+	global $ar_gruppo,$ar_lista,$ar_candi,$idcns;
+
+	foreach ($ar_gruppo as $rigagruppo){
+		$newidg=0;
+		$oldidg=0;
+		$isnew=0;
+		$numcampi=count($rigagruppo);
+		foreach($rigagruppo as $key=>$campo){
+			if ($key==0) $valori="'$idcns',";
+			elseif ($key==1) {$valori.= "null"; $oldidg=$campo;}
+			elseif ($key==6) $valori.= ",0";
+			elseif($key==4) $valori.=",'".utf8_encode($campo)."'";
+			elseif($key==7) {if($numcampi==9) $valori.=",0"; $valori.= ",'".$campo."'";}
+			elseif($key==8)  {$valori.=",'".utf8_encode($campo)."'";$isnew=1;}
+			elseif($key==9) {$valori.=",''";} 
+			else $valori.= ",'".$campo."'";
+			if ($key==2) $numgruppo= $campo;
+		}
+		if (!$isnew and isset($valori)) $valori.=",null,null"; 
+			if(isset($valori)){
+				$sql="insert into ".$prefix."_ele_gruppo values($valori)";
+				try {
+					$res_gruppo = $dbi->prepare("$sql");
+					$res_gruppo->execute();	
+				}
+				catch(PDOException $e)
+				{
+					echo $sql . "<br>" . $e->getMessage();
+				}                  
+				$sql="select id_gruppo from ".$prefix."_ele_gruppo where num_gruppo='$numgruppo' and id_cons='$idcns'";
+				$resnew = $dbi->prepare("$sql");
+				$resnew->execute();	
+				list ($newidg) = $resnew->fetch(PDO::FETCH_NUM);
+				unset($valori);
+				if($oldidg)
+					$_SESSION['gruppi']['idg_'.$oldidg]=$newidg; 
+		}
+	}
+}
+
+function inslista()
 {
 global $prefix, $dbi;
@@ -78,12 +77,4 @@
 		foreach($rigalista as $key=>$campo){
 			if ($key==0) $valori=$idcns.",";
-/*			elseif ($key==1) {$oldidl=$campo;} 
-			elseif ($key==2) {$num_lista=$campo;$numlista=$campo;}
-			elseif ($key==3) {$id_gruppo=$newidg; if ($campo!=$oldidg) $okl=1;}
-			elseif ($key==5) $id_circ=$campo;			
-			elseif ($key==7) $descr_lista=$campo;			
-			elseif ($key==8) $stemmanome=$campo;			
-			elseif ($key==9) $stemmablob=$campo;			
-*/			
 			elseif ($key==1) {$valori.= "null,";$oldidl=$campo;}
 			elseif ($key==2) {$valori.="'$campo',";$numlista= $campo;}
@@ -91,70 +82,60 @@
 			elseif ($key==4) $valori.= "0,"; 
 			elseif ($key==9 ) $valori.= "'$campo'"; 
-#			else $valori.= "'$campo',"; # htmlentities(stripslashes(utf8_decode($_POST['parola'])));
 			else $valori.="'".utf8_encode($campo)."',";
-#			else $valori.= "'".htmlentities($campo, ENT_QUOTES, "UTF-8")."',";  htmlspecialchars($str, ENT_QUOTES)
 		}
 		if($key==9){
-		if ($okl) {$okl=0;continue;}
-#		$valori2=htmlentities($valori);
-#			$sql="insert into ".$prefix."_ele_lista (id_cons,num_lista,id_gruppo,id_circ,descrizione,simbolo,stemma) values ('$id_cons','$num_lista','$id_gruppo','$id_circ','$descr_lista','$stemmanome','$stemmablob')";
-		$sql="insert into ".$prefix."_ele_lista values($valori)";
-	try {
-		$res_lista = $dbi->prepare("$sql");
-		$res_lista->execute();
-	}
-	catch(PDOException $e)
-	{
-		echo $sql . "<br>" . $e->getMessage();
-	}                  
-			
-		$sql="select id_lista from ".$prefix."_ele_lista where num_lista='$numlista' and id_cons='$idcns'";
-		$reslnew = $dbi->prepare("$sql");
-		$reslnew->execute();	
-		list ($newidl) = $reslnew->fetch(PDO::FETCH_NUM);
-		unset($valori);
-		if($oldidl){
-			$_SESSION['liste']['idl_'.$oldidl]=$newidl; 
-echo "id_lista:$oldidl:$newidl<br>";
-		}
-#		inscandi($oldidl,$newidl);
-		}
-	}
-}
-
-function inscandi()#$oldidl,$newidl
-{
-global $prefix, $dbi;
-global $ar_candi,$idcns;
-
-		foreach ($ar_candi as $rigacandi){
-			if(!isset($rigacandi[2])) continue;
-			$okc=0;
-			$oldidl=$rigacandi[2];
-			$newidl=$_SESSION['liste']['idl_'.$oldidl];
-			foreach($rigacandi as $key=>$campo){#echo "$key -- $campo<br>";
-				if (count($rigacandi)!=9) {unset($valori);continue;}
-				if ($key==0) $valori= "null,";
-				elseif ($key==1) $valori.="'$idcns',";
-				elseif ($key==2) {$valori.= "'$newidl'"; if ($campo!=$oldidl) $okc=1;}
-				else $valori.= ",'".utf8_encode($campo)."'";
-			}
-			if(isset($valori) and $valori!=''){
-				if ($okc) {$okc=0;continue;}
-#				$valori2=addslashes($valori);
-				$sql="insert into ".$prefix."_ele_candidati values($valori)";
-#				$res_lista = $dbi->prepare("$sql");
-#				$res_lista->execute();	
-				try {
-					$res_lista = $dbi->prepare("$sql");
-					$res_lista->execute();
-				}
-				catch(PDOException $e)
-				{
-					echo "<br>key:$key sql:".$sql . "<br>" . $e->getMessage();
-				}                  
-			}
-		}
-#foreach($_SESSION['liste'] as $key=>$val) echo "$key -- $val<br>"; 
+			if ($okl) {$okl=0;continue;}
+			$sql="insert into ".$prefix."_ele_lista values($valori)";
+			try {
+				$res_lista = $dbi->prepare("$sql");
+				$res_lista->execute();
+			}
+			catch(PDOException $e)
+			{
+				echo $sql . "<br>" . $e->getMessage();
+			}                  
+				
+			$sql="select id_lista from ".$prefix."_ele_lista where num_lista='$numlista' and id_cons='$idcns'";
+			$reslnew = $dbi->prepare("$sql");
+			$reslnew->execute();	
+			list ($newidl) = $reslnew->fetch(PDO::FETCH_NUM);
+			unset($valori);
+			if($oldidl){
+				$_SESSION['liste']['idl_'.$oldidl]=$newidl; 
+			}
+		}
+	}
+}
+
+function inscandi()
+{
+	global $prefix, $dbi;
+	global $ar_candi,$idcns;
+
+	foreach ($ar_candi as $rigacandi){
+		if(!isset($rigacandi[2])) continue;
+		$okc=0;
+		$oldidl=$rigacandi[2];
+		$newidl=$_SESSION['liste']['idl_'.$oldidl];
+		foreach($rigacandi as $key=>$campo){
+			if (count($rigacandi)!=9) {unset($valori);continue;}
+			if ($key==0) $valori= "null,";
+			elseif ($key==1) $valori.="'$idcns',";
+			elseif ($key==2) {$valori.= "'$newidl'"; if ($campo!=$oldidl) $okc=1;}
+			else $valori.= ",'".utf8_encode($campo)."'";
+		}
+		if(isset($valori) and $valori!=''){
+			if ($okc) {$okc=0;continue;}
+			$sql="insert into ".$prefix."_ele_candidati values($valori)";
+			try {
+				$res_lista = $dbi->prepare("$sql");
+				$res_lista->execute();
+			}
+			catch(PDOException $e)
+			{
+				echo "<br>key:$key sql:".$sql . "<br>" . $e->getMessage();
+			}                  
+		}
+	}
 }
 
@@ -167,8 +148,8 @@
 $res->execute();	
 list($id_cons,$descrizione) = $res->fetch(PDO::FETCH_NUM);
- if (!isset($_FILES['datafile']['tmp_name']) or !is_uploaded_file($_FILES['datafile']['tmp_name'])) 
-	{
+if (!isset($_FILES['datafile']['tmp_name']) or !is_uploaded_file($_FILES['datafile']['tmp_name'])) 
+{
 	ele();
-if (isset($_GET['help'])) $help=intval($_GET['help']);
+	if (isset($_GET['help'])) $help=intval($_GET['help']);
    	global $help,$language;
 	if (isset($help)) include("language/$language/ele_importa.html");
@@ -179,142 +160,135 @@
 	echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"1\"><tr class=\"bggray\"><td colspan=\"2\" align=\"center\">"._SEL_DATA_FILE2."</td></tr><tr><td><input name=\"datafile\" type=\"file\"></td>";
 	echo "<td align=\"center\"><input type=\"submit\" name=\"add\" value=\""._OK."\"></td></tr></table></form>";
-////////////////////////////
 }else{
-$idcns=$id_cons; 
-$sql="delete from ".$prefix."_ele_voti_ref where id_cons=$idcns";
-$res_del = $dbi->prepare("$sql");
-$res_del->execute();	
-$sql="delete from ".$prefix."_ele_voti_candidati where id_cons=$idcns";
-$res_del = $dbi->prepare("$sql");
-$res_del->execute();	
-$sql="delete from ".$prefix."_ele_voti_lista where id_cons=$idcns";
-$res_del = $dbi->prepare("$sql");
-$res_del->execute();	
-$sql="delete from ".$prefix."_ele_voti_gruppo where id_cons=$idcns";
-$res_del = $dbi->prepare("$sql");
-$res_del->execute();	
-$sql="update ".$prefix."_ele_sezioni set validi='0', contestati='0', validi_lista='0', nulli='0',bianchi='0',contestati_lista='0', voti_nulli_lista='0'  where id_cons=$idcns";
-$res_del = $dbi->prepare("$sql");
-$res_del->execute();	
-$sql="delete from ".$prefix."_ele_voti_parziale where id_cons=$idcns";
-$res_del = $dbi->prepare("$sql");
-$res_del->execute();	
-$sql="delete from ".$prefix."_ele_candidati where id_cons=$idcns";
-$res_del = $dbi->prepare("$sql");
-$res_del->execute();	
-$sql="delete from ".$prefix."_ele_lista where id_cons=$idcns";
-$res_del = $dbi->prepare("$sql");
-$res_del->execute();	
-$sql="delete from ".$prefix."_ele_gruppo where id_cons=$idcns";
-$res_del = $dbi->prepare("$sql");
-$res_del->execute();	
-$datafile=$_FILES['datafile']['tmp_name'];
-$arrFile = file($datafile);
-$handle = fopen($datafile, "r");
-$test=array();
-$errore=0;
-$fine=0;
-$numgruppo=0;
-$numlista=0;
+	$idcns=$id_cons; 
+	$sql="delete from ".$prefix."_ele_voti_ref where id_cons=$idcns";
+	$res_del = $dbi->prepare("$sql");
+	$res_del->execute();	
+	$sql="delete from ".$prefix."_ele_voti_candidati where id_cons=$idcns";
+	$res_del = $dbi->prepare("$sql");
+	$res_del->execute();	
+	$sql="delete from ".$prefix."_ele_voti_lista where id_cons=$idcns";
+	$res_del = $dbi->prepare("$sql");
+	$res_del->execute();	
+	$sql="delete from ".$prefix."_ele_voti_gruppo where id_cons=$idcns";
+	$res_del = $dbi->prepare("$sql");
+	$res_del->execute();	
+	$sql="update ".$prefix."_ele_sezioni set validi='0', contestati='0', validi_lista='0', nulli='0',bianchi='0',contestati_lista='0', voti_nulli_lista='0'  where id_cons=$idcns";
+	$res_del = $dbi->prepare("$sql");
+	$res_del->execute();	
+	$sql="delete from ".$prefix."_ele_voti_parziale where id_cons=$idcns";
+	$res_del = $dbi->prepare("$sql");
+	$res_del->execute();	
+	$sql="delete from ".$prefix."_ele_candidati where id_cons=$idcns";
+	$res_del = $dbi->prepare("$sql");
+	$res_del->execute();	
+	$sql="delete from ".$prefix."_ele_lista where id_cons=$idcns";
+	$res_del = $dbi->prepare("$sql");
+	$res_del->execute();	
+	$sql="delete from ".$prefix."_ele_gruppo where id_cons=$idcns";
+	$res_del = $dbi->prepare("$sql");
+	$res_del->execute();	
+	$datafile=$_FILES['datafile']['tmp_name'];
+	$arrFile = file($datafile);
+	$handle = fopen($datafile, "r");
+	$test=array();
+	$errore=0;
+	$fine=0;
+	$numgruppo=0;
+	$numlista=0;
 // Set counters
     $currentLine = 0;
     $cntFile = count($arrFile);
-$tabs=array($prefix."_ele_gruppo",$prefix."_ele_lista",$prefix."_ele_candidati",$prefix."_ele_circoscrizione");
-$x=0;$k=0;
-$scarto=0;
-$primog=0;
-$primol=0;
-$conta=array();
-   $currentLine = 0;
+	$tabs=array($prefix."_ele_gruppo",$prefix."_ele_lista",$prefix."_ele_candidati",$prefix."_ele_circoscrizione");
+	$x=0;$k=0;
+	$scarto=0;
+	$primog=0;
+	$primol=0;
+	$conta=array();
+	$currentLine = 0;
 	$x=0;$k=0;
 	$y=0;
-$ar_gruppo=array(array());
-$ar_lista=array(array());
-$ar_candi=array(array());
-		$z=0;
-		$tab=substr($arrFile[$currentLine],1,-2);
-		$conf=$tabs[$x];
-if($k==0) {while (substr($arrFile[$currentLine],1,-2)!=$conf and $currentLine <= $cntFile) $currentLine++; $k++;}
+	$ar_gruppo=array(array());
+	$ar_lista=array(array());
+	$ar_candi=array(array());
+	$z=0;
+	$tab=substr($arrFile[$currentLine],1,-2);
+	$conf=$tabs[$x];
+	if($k==0) {while (substr($arrFile[$currentLine],1,-2)!=$conf and $currentLine <= $cntFile) $currentLine++; $k++;}
+	$currentLine++;
+	while($currentLine <= $cntFile and $fine==0){
+		if(isset($arrFile[$currentLine])) 
+			$appo=substr($arrFile[$currentLine],1,-2);
+		else $appo='';
+		if (isset($tabs[($x+1)]) and $appo==$tabs[($x+1)]){ $x++;$conf=$tabs[$x];$currentLine++; continue;}
+		$test=explode(':',$appo); 
+		if(!is_array($test)) {die("errore di import<br>");}
+		foreach($test as $key=>$val) 
+			if ($conf==$prefix."_ele_gruppo"){
+				$ar_gruppo[$z][$key]=addslashes(base64_decode($val));
+			}
+			elseif ($conf==$prefix."_ele_lista"){
+				if($primog==0){
+					$gruppofil= array_filter($ar_gruppo);
+					$numgruppo=count($gruppofil);
+					insgruppo();
+					$primog=1;
+					unset($ar_gruppo);
+				}
+				$ar_lista[$z][$key]=addslashes(base64_decode($val));
+			}
+			elseif ($conf==$prefix."_ele_candidati"){
+				if($primog==0){
+					$gruppofil= array_filter($ar_gruppo);
+					$numgruppo=count($gruppofil);
+					insgruppo();
+					$primog=1;
+					unset($ar_gruppo);
+				}
+				elseif($primol==0){
+					$listafil= array_filter($ar_lista);
+					$numlista=count($listafil);
+					inslista();
+					$primol=1;
+					unset($ar_lista);
+				}
+				$ar_candi[$z][$key]=addslashes(base64_decode($val));
+			}
+			elseif ($conf==$prefix."_ele_circoscrizione"){
+				if($primog==0){
+					$gruppofil= array_filter($ar_gruppo);
+					$numgruppo=count($gruppofil);
+					insgruppo();
+					$primog=1;
+					unset($ar_gruppo);
+				}
+				elseif($primol==0){
+					$listafil= array_filter($ar_lista);
+					$numlista=count($listafil);
+					inslista();
+					$primol=1;
+					unset($ar_lista);
+				}else{
+					inscandi();
+					unset($ar_candi);
+					$fine=1;
+					break;
+				}
+			}
 			$currentLine++;
-			while($currentLine <= $cntFile and $fine==0){
-#				$appo=substr($arrFile[$currentLine],1,-2);
-				if(isset($arrFile[$currentLine])) 
-					$appo=substr($arrFile[$currentLine],1,-2);
-				else $appo='';
-				if (isset($tabs[($x+1)]) and $appo==$tabs[($x+1)]){ $x++;$conf=$tabs[$x];$currentLine++; continue;}
-				$test=explode(':',$appo); if(!is_array($test)) {die("errore di import<br>");}
-				foreach($test as $key=>$val) 
-						if ($conf==$prefix."_ele_gruppo"){
-							$ar_gruppo[$z][$key]=addslashes(base64_decode($val));}
-						elseif ($conf==$prefix."_ele_lista"){
-							if($primog==0){
-								$gruppofil= array_filter($ar_gruppo);
-								$numgruppo=count($gruppofil);
-								insgruppo();
-								$primog=1;
-								unset($ar_gruppo);
-							}
-							$ar_lista[$z][$key]=addslashes(base64_decode($val));}
-						elseif ($conf==$prefix."_ele_candidati"){
-							if($primog==0){
-								$gruppofil= array_filter($ar_gruppo);
-								$numgruppo=count($gruppofil);
-								insgruppo();
-								$primog=1;
-								unset($ar_gruppo);
-							}
-							elseif($primol==0){
-								$listafil= array_filter($ar_lista);
-								$numlista=count($listafil);
-								inslista();
-								$primol=1;
-								unset($ar_lista);
-							}
-							$ar_candi[$z][$key]=addslashes(base64_decode($val));
-						}
-						elseif ($conf==$prefix."_ele_circoscrizione"){
-							if($primog==0){
-								$gruppofil= array_filter($ar_gruppo);
-								$numgruppo=count($gruppofil);
-								insgruppo();
-								$primog=1;
-								unset($ar_gruppo);
-							}
-							elseif($primol==0){
-								$listafil= array_filter($ar_lista);
-								$numlista=count($listafil);
-								inslista();
-								$primol=1;
-								unset($ar_lista);
-							}else{
-								inscandi();
-								unset($ar_candi);
-								$fine=1;
-								break;
-							}
-						}
-				$currentLine++;
-				$z++;
-			}
-fclose($handle);
-
-
-
-if ($numgruppo){
-#	insgruppo();
-	Header("Location: admin.php?op=gruppo&id_cons_gen=$id_cons_gen");
-	}
-elseif ($numlista) {
-#	inslista();
-	Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen");
-	}
-else Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen");
-
-}
-
+			$z++;
+	}
+	fclose($handle);
+	if ($numgruppo){
+		Header("Location: admin.php?op=gruppo&id_cons_gen=$id_cons_gen");
+	}
+	elseif ($numlista) {
+		Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen");
+	}
+	else Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen");
+
+}
 echo"</td></tr></table>";
 include("footer.php");
 
- 
-
 ?>
Index: trunk/admin/modules/Elezioni/language/lang-en.php
===================================================================
--- trunk/admin/modules/Elezioni/language/lang-en.php	(revision 361)
+++ trunk/admin/modules/Elezioni/language/lang-en.php	(revision 362)
@@ -35,7 +35,12 @@
 		define("_SOLO_GRUPPO","Ballots for candidate Mayor only");
 		define("_VOTI_LISTA","Ballots for the list");
+		define("_LISTA","List");
+		define("_LISTAPREF","List and Candidate");
+		
 		break;
 	case 4:
 		define("_GRUPPO","Candidate President");
+		define("_LISTA","List");
+		define("_LISTAPREF","List and Candidate");
 		break;
 	case 5: 
@@ -60,4 +65,5 @@
 		define("_GRUPPO","List");
 		define("_LISTA","List");
+		define("_LISTAPREF","List and Candidate");
 		define("_GRUPPOLOGO","List Logo");
 		define("_CONSI","List Candidate");
@@ -67,4 +73,6 @@
 		define("_GRUPPO","Candidate for President");
 		define("_CONSI","List Candidate");
+		define("_LISTA","List");
+		define("_LISTAPREF","List and Candidate");
 		break;
 	case 10: //dal 2006 per senato e camera si ha un raggruppamento delle liste ma senza possibilità di voto per il gruppo (solo in italia!)
@@ -96,4 +104,6 @@
 		define("_GRUPPOLOGO","List Logo");
 		define("_CONSI","List Candidate");
+		define("_LISTA","List");
+		define("_LISTAPREF","List and Candidate");
 		break;
 	case 15:
@@ -108,4 +118,6 @@
 		define("_CONSULTAZIONE","Regional Parliament Election"); 
 		define("_GRUPPO","Candidate for President");
+		define("_LISTA","List");
+		define("_LISTAPREF","List and Candidate");
 		break;
 	case 18: 
@@ -114,4 +126,5 @@
 		define("_SOLO_GRUPPO","Ballots for Group Candidate only");
 		define("_LISTA","Linked List");
+		define("_LISTAPREF","List and Candidate");
 		define("_CANDIDATO","Blocked List");
 
@@ -123,4 +136,5 @@
 		define("_SOLO_GRUPPO","Ballots for Group Candidate only");
 		define("_LISTA","Linked List");
+		define("_LISTAPREF","List and Candidate");
 		define("_CANDIDATO","Blocked List");
 
Index: trunk/admin/modules/Elezioni/language/lang-it.php
===================================================================
--- trunk/admin/modules/Elezioni/language/lang-it.php	(revision 361)
+++ trunk/admin/modules/Elezioni/language/lang-it.php	(revision 362)
@@ -38,4 +38,5 @@
 		define("_CONSI","Consigliere");
 		define("_LISTA","Lista");
+		define("_LISTAPREF","Lista e Preferenza");
 		define("_CANDIDATO","Candidato");
 		define("_SOLO_GRUPPO","Voti al solo candidato Sindaco");
@@ -48,4 +49,5 @@
 		define("_CANDIDATO","Candidato");
 		define("_LISTA","Lista");
+		define("_LISTAPREF","Lista e Preferenza");
 		break;
 	case 5: 
@@ -77,4 +79,5 @@
 		define("_CANDIDATO","Candidato");
 		define("_LISTA","Lista");
+		define("_LISTAPREF","Lista e Preferenza");
 		define("_GRUPPOLOGO","Logo della Lista");
 		define("_CONSI","Candidato Lista");
@@ -86,4 +89,5 @@
 		define("_CONSI","Candidato Lista");
 		define("_LISTA","Lista");
+		define("_LISTAPREF","Lista e Preferenza");
 		define("_CANDIDATO","Candidato");
 		define("_SOLO_GRUPPO","Voti al solo candidato Presidente");
@@ -125,5 +129,4 @@
 		break;
 	case 14:
-		define("_SOLO_GRUPPO","Voti al solo candidato Sindaco");
 		define("_CONSULTAZIONE","Consultazione Parlamentare Europea"); //genere 4
 		define("_GRUPPO","Lista");
@@ -131,9 +134,9 @@
 		define("_CONSI","Candidato Lista");
 		define("_LISTA","Lista");
+		define("_LISTAPREF","Lista e Preferenza");
 		define("_CANDIDATO","Candidato");
 		define("_DESCRCONS","EUROPEE");
 		break;
 	case 15:
-		define("_SOLO_GRUPPO","Voti al solo candidato Sindaco");
 		define("_CONSULTAZIONE","Consultazione Camera"); //genere 2 
 		define("_GRUPPO","Coalizione");
@@ -151,16 +154,17 @@
 		break;
 	case 17:
-		define("_SOLO_GRUPPO","Voti al solo candidato Sindaco");
 		define("_CONSULTAZIONE","Consultazione Elezioni Regionali"); //genere 5
 		define("_GRUPPO","Candidato Presidente");
 		define("_LISTA","Lista");
+		define("_LISTAPREF","Lista e Preferenza");
 		define("_CANDIDATO","Candidato");
 		define("_DESCRCONS","REGIONALI");
 		break;
-        case 18:
+    case 18:
 		define("_CONSULTAZIONE","Consultazione Camera dei deputati"); //genere 5
 		define("_GRUPPO","Candidato Uninominale");
 		define("_SOLO_GRUPPO","Voti al solo Candidato Uninominale");
 		define("_LISTA","Lista collegata");
+		define("_LISTAPREF","Lista e Preferenza");
 		define("_CANDIDATO","Listino bloccato");
 		define("_ATT_UNI","Attenzione! Il dettaglio dei voti");
@@ -169,9 +173,10 @@
 		define("_NULLISTA",0);
 		break;
-        case 19:
+    case 19:
 		define("_CONSULTAZIONE","Consultazione Senato della Repubblica"); //genere 5
 		define("_GRUPPO","Candidato Uninominale");
 		define("_SOLO_GRUPPO","Voti al solo Candidato Uninominale");
 		define("_LISTA","Lista collegata");
+		define("_LISTAPREF","Lista e Preferenza");
 		define("_CANDIDATO","Listino bloccato");
 		define("_ATT_UNI","Attenzione! Il dettaglio dei voti");
Index: trunk/admin/modules/Elezioni/restore.php
===================================================================
--- trunk/admin/modules/Elezioni/restore.php	(revision 361)
+++ trunk/admin/modules/Elezioni/restore.php	(revision 362)
@@ -18,4 +18,5 @@
 $param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
 if (isset($param['datafile'])) $datafile=addslashes($param['datafile']); else $datafile='';
+$id_cons_gen=intval($param['id_cons_gen']);
 include("modules/Elezioni/ele.php");
 ele();
@@ -46,5 +47,5 @@
 $scarto=0;
 $conta=array();
-    while( $currentLine <= $cntFile ){
+while( $currentLine <= $cntFile ){
 	$appo=substr($arrFile[$currentLine],1,-2);
 	$conta[$x]=0; 
@@ -63,5 +64,5 @@
 		}
 	}else {$scarto++;$currentLine++;}
-	}
+}
 if ($scarto==0){
    $currentLine = 0;
@@ -83,7 +84,8 @@
 					$appo=substr($arrFile[$currentLine],1,-2);
 				else $appo='';
-				if(isset($tabs[($x+1)]))
-					if ($appo==$tabs[($x+1)]){ $x++; break;}
-				elseif($appo=='') { $x++; break;}
+				if(isset($tabs[($x+1)])){
+					if ($appo==$tabs[($x+1)]){ $x++; break;}}
+					elseif($appo=='') { $x++; break;}
+				
 				if(isset($arrFile[$currentLine]))				
 					$test=explode(':',$arrFile[$currentLine]); if(!is_array($test)) {die("errore di import<br>");}
@@ -99,9 +101,18 @@
 							} 
 						}
-						if(!$res_del->rowCount()) die ("delete $tbs where id_cons=$idcns--- errore di cancellazione");
+					#	if(!$res_del->rowCount()) die ("delete $tbs where id_cons=$idcns--- errore di cancellazione");
 					}else $valori.= ",'".addslashes(base64_decode($val))."'";
-				$sql="insert into $tab values($valori)";	
+					if($tab=='soraldo_ele_cons_comune') $valori.=",'0'";
+				$sql="insert into $tab values($valori)";
+			try {				
 				$res_comune = $dbi->prepare("$sql");
 				$res_comune->execute();	
+        }
+	catch(PDOException $e)
+	{
+	    echo $sql . "<br>" . $e->getMessage();
+	}                                                                                       	
+
+#echo "TAB: $tbs -- $sql<br>";
 				$currentLine++;
 			}
@@ -111,8 +122,9 @@
 } else $errore=1;
 fclose($handle);
+die("finito");
 }
 if (isset($errore))
 	if ($errore) die( _MEX_RESTORE_FAILED);
-	else echo _MEX_RESTORE_OK;
+	else die( _MEX_RESTORE_OK );
 echo"</td></tr></table>";
 include("footer.php");
Index: trunk/admin/versione.php
===================================================================
--- trunk/admin/versione.php	(revision 361)
+++ trunk/admin/versione.php	(revision 362)
@@ -1,7 +1,7 @@
 <?php
 
-$versione = "3.0 rev 361";
+$versione = "3.0 rev 362";
 $version_number = $versione;
-$datarel = "17 marzo 2022";
+$datarel = "27 marzo 2022";
 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
 
Index: trunk/client/modules.php
===================================================================
--- trunk/client/modules.php	(revision 361)
+++ trunk/client/modules.php	(revision 362)
@@ -99,8 +99,19 @@
 
 
-$dbi = new PDO("mysql:host=$dbhost;charset=latin1", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, 
+$dbi = new PDO("mysql:host=$dbhost;charset=utf8", $dbuname, $dbpass, array(PDO::ATTR_EMULATE_PREPARES => false, 
                                                                                                 PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));	
 $sql = "use $dbname";
 $dbi->exec($sql);
+	$sth = $dbi->prepare("SET SESSION character_set_connection = 'utf8' ");
+	$sth->execute();
+	$sth = $dbi->prepare("SET SESSION character_set_client = 'utf8' ");
+	$sth->execute();
+	$sth = $dbi->prepare("SET SESSION character_set_database = 'utf8' ");
+	$sth->execute();
+	$sth = $dbi->prepare("SET CHARACTER SET utf8");
+	$sth->execute();
+
+	$sth = $dbi->prepare("SET NAMES 'utf8'");
+	$sth->execute();
 
 # protezione csrf ottobre 2012 - by l.apolito
Index: trunk/client/modules/Elezioni/consiglieri.php
===================================================================
--- trunk/client/modules/Elezioni/consiglieri.php	(revision 361)
+++ trunk/client/modules/Elezioni/consiglieri.php	(revision 362)
@@ -16,24 +16,17 @@
 	die();
 }
-
 $param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
-
 if (isset($param['gruppo'])) $gruppo=intval($param['gruppo']); else $gruppo='';
 if (isset($param['numgruppo'])) $numgruppo=intval($param['numgruppo']); else $numgruppo='';
 if (isset($param['listecol'])) $listecol=intval($param['listecol']); else $listecol=0;
-
 $sql = "select id_conf,id_fascia from ".$prefix."_ele_cons_comune where id_cons='$id_cons'";
 $result = $dbi->prepare("$sql");
 $result->execute();
-
 list($id_conf,$fascia) = $result->fetch(PDO::FETCH_NUM);
-
 $sql = "SELECT limite,consin,infpremio,supsbarramento,suppremio,listinfsbar,listinfconta,listsupconta,supminpremio,infminpremio from ".$prefix."_ele_conf where id_conf='$id_conf'";
 $res = $dbi->prepare("$sql");
 $res->execute();
-
 list($limite,$consin,$infpremio,$supsbarramento,$suppremio,$listinfsbar,$listinfconta,$listsupconta,$supminpremio,$infminpremio) = $res->fetch(PDO::FETCH_NUM);
 $numcons=0;
-
 echo "<table><tr><td align=\"center\">"._PROIEZCONS."</td></tr></table>";
 
@@ -362,6 +355,4 @@
 }
 
-
-
 function calcoloseggi($gruppi,$num_cons,$flag){
 global $ultimo,$mex,$sorteggio,$quozienti,$num_cand,$num_candlst;
@@ -477,68 +468,66 @@
 
 function conssup($fascia,$gruppo,$collegate,$collperd,$primoturno) {
-global $id_cons, $id_cons_gen, $id_comune, $prefix,$dbi;
-global $groups,$lists,$eletti,$ultimo,$quozienti,$num_candlst,$mex,$PNE,$CSEC,$consin;
-global $supsbarramento, $supminpremio, $suppremio;
-global $listsupconta,$numcons;
-#funzione di calcolo per comuni oltre 15.000 abitanti
-#carica il numero di consiglieri da eleggere$groups=array();
-$PNE=_PRIMONON;
-$CSEC=_SINDCONS;
-$lists=array();
-$eletti=array();
-$num_candlst=array();
-#$quozienti = array();
-$oldlists=array();
-$oldlstgrp=array();
-$premio=0;
-/* "Ai fini della determinazione nel secondo turno, della cifra elettorale complessiva delle liste collegate deve tenersi conto anche del collegamento intervenuto in vista del ballottaggio" (Cons. St. Sez. V 4 maggio 2001 n. 2519; 20 settembre 2000 n. 4894; 19 marzo 1996 n. 290)   
- */
-
-if (!isset($_SESSION['ballo1'])) $_SESSION['ballo1']='';
-if (!isset($_SESSION['ballo2'])) $_SESSION['ballo2']='';
-$gruppoperd= ($gruppo==$_SESSION['ballo1']) ? $_SESSION['ballo2'] : $_SESSION['ballo1'];
-
-#per voti validi non si intendono i voti validi alle liste ma i voti validi espressi
-#$res_val = mysql_query("SELECT sum(validi_lista) from ".$prefix."_ele_sezioni where id_cons='$id_cons'",$dbi); 
-$sql = "SELECT sum(voti) from ".$prefix."_ele_voti_gruppo where id_cons='$id_cons'";
-$res_val = $dbi->prepare("$sql");
-$res_val->execute();
- 
-list($validi) = $res_val->fetch(PDO::FETCH_NUM);
-
-$sbarra=($validi*$supsbarramento)/100; 
-$sql = "SELECT t1.descrizione,t1.num_gruppo,t2.id_lista,t2.num_lista,t2.descrizione,sum(t3.voti) as voti from ".$prefix."_ele_gruppo as t1,  ".$prefix."_ele_lista as t2, ".$prefix."_ele_voti_lista as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t2.id_lista=t3.id_lista group by t1.descrizione,t1.num_gruppo,t2.num_lista,t2.descrizione order by voti desc";
-$res_per = $dbi->prepare("$sql");
-$res_per->execute();
-
-$groups=array();
-$premio=0;
-//10-05-2009 gestione differenziata delle norme elettorali
-#carica l'array dei gruppi e della cifra di gruppo
-while (list($descr,$num_gruppo,$id_lista,$num_lista,$descr_lista,$voti)= $res_per->fetch(PDO::FETCH_NUM)){
- if ($listsupconta or $voti>=$sbarra){
-    if (! isset($groups[($num_gruppo)])) $groups[($num_gruppo)]=0;
-    $desgruppi[$num_gruppo]=$descr;
-    $desliste[$num_lista]=$num_lista.") ".$descr_lista;
-    $idlst[$num_lista]=$id_lista;
-    $listagruppo[$num_lista]=$num_gruppo;
-    $lists[$num_lista]=$voti;
-    $groups[($num_gruppo)]+=$voti;
-  }
-}   
+	global $id_cons, $id_cons_gen, $id_comune, $prefix,$dbi;
+	global $groups,$lists,$eletti,$ultimo,$quozienti,$num_candlst,$mex,$PNE,$CSEC,$consin;
+	global $supsbarramento, $supminpremio, $suppremio;
+	global $listsupconta,$numcons;
+	#funzione di calcolo per comuni oltre 15.000 abitanti
+	#carica il numero di consiglieri da eleggere$groups=array();
+	$PNE=_PRIMONON;
+	$CSEC=_SINDCONS;
+	$lists=array();
+	$eletti=array();
+	$num_candlst=array();
+	#$quozienti = array();
+	$oldlists=array();
+	$oldlstgrp=array();
+	$premio=0;
+	/* "Ai fini della determinazione nel secondo turno, della cifra elettorale complessiva delle liste collegate deve tenersi conto anche del collegamento intervenuto in vista del ballottaggio" (Cons. St. Sez. V 4 maggio 2001 n. 2519; 20 settembre 2000 n. 4894; 19 marzo 1996 n. 290)   
+	 */
+
+	if (!isset($_SESSION['ballo1'])) $_SESSION['ballo1']='';
+	if (!isset($_SESSION['ballo2'])) $_SESSION['ballo2']='';
+	$gruppoperd= ($gruppo==$_SESSION['ballo1']) ? $_SESSION['ballo2'] : $_SESSION['ballo1'];
+
+	#per voti validi non si intendono i voti validi alle liste ma i voti validi espressi
+	#$res_val = mysql_query("SELECT sum(validi_lista) from ".$prefix."_ele_sezioni where id_cons='$id_cons'",$dbi); 
+	$sql = "SELECT sum(voti) from ".$prefix."_ele_voti_gruppo where id_cons='$id_cons'";
+	$res_val = $dbi->prepare("$sql");
+	$res_val->execute();
+	 
+	list($validi) = $res_val->fetch(PDO::FETCH_NUM);
+
+	$sbarra=($validi*$supsbarramento)/100; 
+	$sql = "SELECT t1.descrizione,t1.num_gruppo,t2.id_lista,t2.num_lista,t2.descrizione,sum(t3.voti) as voti from ".$prefix."_ele_gruppo as t1,  ".$prefix."_ele_lista as t2, ".$prefix."_ele_voti_lista as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t2.id_lista=t3.id_lista group by t1.descrizione,t1.num_gruppo,t2.num_lista,t2.descrizione order by voti desc";
+	$res_per = $dbi->prepare("$sql");
+	$res_per->execute();
+
+	$groups=array();
+	$premio=0;
+	//10-05-2009 gestione differenziata delle norme elettorali
+	#carica l'array dei gruppi e della cifra di gruppo
+	while (list($descr,$num_gruppo,$id_lista,$num_lista,$descr_lista,$voti)= $res_per->fetch(PDO::FETCH_NUM)){
+	 if ($listsupconta or $voti>=$sbarra){
+		if (! isset($groups[($num_gruppo)])) $groups[($num_gruppo)]=0;
+		$desgruppi[$num_gruppo]=$descr;
+		$desliste[$num_lista]=$num_lista.") ".$descr_lista;
+		$idlst[$num_lista]=$id_lista;
+		$listagruppo[$num_lista]=$num_gruppo;
+		$lists[$num_lista]=$voti;
+		$groups[($num_gruppo)]+=$voti;
+	  }
+	}   
 ################### carica array ... 25  maggio 2014
-foreach($collegate as $key=>$val){	
-	$sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$val' and id_cons='$id_cons'";
-$res = $dbi->prepare("$sql");
-$res->execute();
-
+	foreach($collegate as $key=>$val){	
+		$sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$val' and id_cons='$id_cons'";
+		$res = $dbi->prepare("$sql");
+		$res->execute();
 		list($tempig)=$res->fetch(PDO::FETCH_NUM);
 		$sql = "SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'";
-$res = $dbi->prepare("$sql");
-$res->execute();
-
+		$res = $dbi->prepare("$sql");
+		$res->execute();
 		list($tempng)=$res->fetch(PDO::FETCH_NUM);
 		$grpinc[$val]=$tempng;
-}
+	}
 	$elencog=array();
 	$sindseggiopre=array();
@@ -547,22 +536,21 @@
 	foreach($testseggio as $testk=>$valk) { $sindseggiopre[]=$testk;}
 ##################
-$descrsind=$desgruppi[$gruppo];
-foreach ($groups as $key=>$val){
-       #controlla se un gruppo di liste, tra quelle perdenti, ha superato il 50%
-    if ($key!=$gruppo and $val> $validi/2) $premio=2;
-    #elimina gruppi che non hanno superato lo sbarramento
-    if ($val<$sbarra){
-    	foreach ($listagruppo as $lst=>$grp)
-    		if ($grp==$key){
-    			unset($listagruppo[$lst]);
-    			unset($desliste[$lst]);
-    			unset($lists[$lst]);
-    		}    	
-    	unset($groups[($key)]);
-    	unset($desgruppi[($key)]);
-
-    }
-}
-
+	$descrsind=$desgruppi[$gruppo];
+	foreach ($groups as $key=>$val){
+#controlla se un gruppo di liste, tra quelle perdenti, ha superato il 50%
+		if ($key!=$gruppo and $val> $validi/2) $premio=2;
+#elimina gruppi che non hanno superato lo sbarramento
+		if ($val<$sbarra){
+			foreach ($listagruppo as $lst=>$grp)
+				if ($grp==$key){
+					unset($listagruppo[$lst]);
+					unset($desliste[$lst]);
+					unset($lists[$lst]);
+				}    	
+			unset($groups[($key)]);
+			unset($desgruppi[($key)]);
+
+		}
+	}
     foreach ($collegate as $lst) 
     	if (isset($lists[$lst])){
@@ -575,281 +563,236 @@
     		 $groups[$gruppo]+=$lists[$lst];
     	}
- ////maggio 2011: da qui   
- 
 #controlla se la percentuale del gruppo vincente e' tra il 40 e il 60% o il sindaco e' eletto al secondo turno
 #e se nessun altro gruppo ha superato il 50% assegna il premio di maggioranza
 #e se nessun altro gruppo ha superato il 50% e nessuno ha ottenuto piu' del 60% dei seggi, assegna il premio di maggioranza
-$consmin=$numcons;
-$gruppomin=calcoloseggi($groups,$consmin,0);
-$nopremio=1;
-#die("qui:".($numcons*60/100)."<$val");
-if (($groups[$gruppo]>=(($validi*$supminpremio)/100) or ! $primoturno) and $groups[$gruppo]<(($validi*$suppremio)/100) and !$premio and $nopremio) $premio=1;
-else $premio=0;
+	$consmin=$numcons;
+	$gruppomin=calcoloseggi($groups,$consmin,0);
+	$nopremio=1;
+	if (($groups[$gruppo]>=(($validi*$supminpremio)/100) or ! $primoturno) and $groups[$gruppo]<(($validi*$suppremio)/100) and !$premio and $nopremio) $premio=1;
+	else $premio=0;
 	$consel=array();
 	$consel[]=array(_LISTA,_VOTI,_SEGGI,_CANDIDATO,_CIFRAELE,_QUOZIENTI);
-$groupsappo=$groups;
-$candidati=array();
-$grpperd=$gruppoperd;
+	$groupsappo=$groups;
+	$candidati=array();
+	$grpperd=$gruppoperd;
 //maggio 2011: a qui viene spostato in modo da aggiungere i voti di lista delle collegate per il perdente solo dopo aver controllato se supera il 50%, in questo modo si evita che il collegamento tra perdenti faccia decadere il premio di maggioranza se solo insieme superano il 50% 
 //maggio 2011: da qui
-if(!isset($groups[$gruppoperd])) $groups[$gruppoperd]=0;
-    foreach ($collperd as $lst) 
-    	if (isset($lists[$lst])){ 
-    		$oldlstgrp[$lst]=$listagruppo[$lst];
-    		 $listagruppo[$lst]=$gruppoperd;
-    		 $oldlists[$lst]=$lists[$lst];
-    		 $groups[$gruppoperd]+=$lists[$lst];
-    		 $groups[$oldlstgrp[$lst]]-=$lists[$lst];
-    	}   
-
+	if(!isset($groups[$gruppoperd])) $groups[$gruppoperd]=0;
+		foreach ($collperd as $lst) 
+			if (isset($lists[$lst])){ 
+				$oldlstgrp[$lst]=$listagruppo[$lst];
+				 $listagruppo[$lst]=$gruppoperd;
+				 $oldlists[$lst]=$lists[$lst];
+				 $groups[$gruppoperd]+=$lists[$lst];
+				 $groups[$oldlstgrp[$lst]]-=$lists[$lst];
+	}   
 ////maggio 2011: a qui (mettendolo dopo Ãš come se l'avessi tolto ma possono esserci altre implicazioni visto che si modificano le percentuali del gruppo, cosÃ¬ per ora non lo tolgo) va tolto se non vanno sommati i voti delle liste collegate al secondo turno con quelli del gruppo che perde il ballottaggio, se non si collegano viene favorita l'elezione del candidato sindaco con cui era collegata al primo turno mentre se si collegano viene favorito il principio di aggregazione. Per ora i perdenti sono considerati con la situazione al primo turno. Implementiamo cosï¿œ: il 50% deve essere superato dalla minoranza nel primo turno, quindo senza somma dei voti delle liste aggiunte nel secondo turno - la suddivisione dei seggi viene fatta considerando i collegamenti al secondo turno, le liste collegate partecipano alla suddivisione dei seggi con questo gruppo quindi si confronta con le liste del gruppo in cui era al primo turno e valutando i coefficienti si stabilisce quale lista cede il seggio al candidato sindaco non acceduto al ballottaggio.
-
-if ($premio) {
-#########
-################### carica array ...
-/*	$elencog=array();
-	$sindseggiopre=array();
-	foreach($groups as $testk=>$valk) if($testk!=$grpperd) {$elencog[$testk]=$valk;}
-	$testseggio=calcoloseggi($elencog,ceil($numcons*($suppremio)/100),0);
-	foreach($testseggio as $testk=>$valk) {if($valk) $sindseggio[]=$testk; echo "<br>testkpre: $testk - $valk";}
-*/#foreach ($gruppomin as $key=>$val) {if (($numcons*60/100)<$val) $nopremio=0;if($key!=$gruppo){echo "<br>gruppomin: $key -- $val";}}
-##################
+	if ($premio) {
 ################### nell'array sindseggio vengono inseriti i candidati sindaco che restano senza seggio per gli apparentamenti
-	$elencog=array();
-	$testseggio=array();
-	$sindseggio=array();
-	foreach($groups as $testk=>$valk) {if($testk!=$gruppo) $elencog[$testk]=$valk;}
-	$perdente[$gruppoperd]=$groups[$gruppoperd];
-	$testseggio=calcoloseggi($elencog,floor($numcons-$numcons*($suppremio)/100),0);
-	foreach($testseggio as $testk=>$valk) 
-	foreach($sindseggiopre as $testk=>$valk){ if(isset($testseggio[$valk]) and $testseggio[$valk]) continue; $sindseggio[$valk]=$valk;} #foreach ($sindseggiopre as $keyl=>$vall) echo "<br> seggi: $keyl - $vall";
-########### 
-    $sindaco[$gruppo]=$groups[$gruppo]; $groups[$gruppo]=0;
-    $gruppomag=calcoloseggi($sindaco,ceil($numcons*$suppremio/100),0);
+		$elencog=array();
+		$testseggio=array();
+		$sindseggio=array();
+		foreach($groups as $testk=>$valk) {if($testk!=$gruppo) $elencog[$testk]=$valk;}
+		$perdente[$gruppoperd]=$groups[$gruppoperd];
+		$testseggio=calcoloseggi($elencog,floor($numcons-$numcons*($suppremio)/100),0);
+		foreach($testseggio as $testk=>$valk) 
+		foreach($sindseggiopre as $testk=>$valk){ if(isset($testseggio[$valk]) and $testseggio[$valk]) continue; $sindseggio[$valk]=$valk;} 
+		$sindaco[$gruppo]=$groups[$gruppo]; $groups[$gruppo]=0;
+		$gruppomag=calcoloseggi($sindaco,ceil($numcons*$suppremio/100),0);
 #######calcola i seggi per lista
-foreach ($gruppomag as $key=>$val){
-	foreach($listagruppo as $lst=>$grp){
-		if($grp!=$key) continue;
-		$id_lista=$idlst[$lst];
-		$x=$lst;
-		$y=$lists[$x];
-		$pos=0;
-		$z=0;
-		$arvin[$x][$pos++]=$desliste[$lst]; 
-		$sql = "SELECT concat(substring(concat('0',t1.num_cand),-2),') ',t1.cognome,' ',substring(t1.nome from 1 for 1),'.') as descr,sum(t2.voti) as voti from ".$prefix."_ele_candidati as t1, ".$prefix."_ele_voti_candidati as t2 where t1.id_lista='$id_lista' and t1.id_cand=t2.id_cand GROUP BY descr order by voti desc,t1.num_cand";
-$res_can = $dbi->prepare("$sql");
-$res_can->execute();
-
-		$num_candlst[$x]=$res_can->rowCount();
-		while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)){ 
-			$cifra[$x][$pos]=$y+$pre;
-			$arvin[$x][$pos++]=$cand;
-		}	
-		$listemag[$x]=$y;
-		$desliste[$x]=$descr;
-		$percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)";
-		$z++;
-##	}
-	$seggimag=array();
-	$x=0;#foreach($listemag as $kkk=>$vvv) echo "<br> listemag: $kkk - $vvv - $grp - $gruppo -val=$val";
+		foreach ($gruppomag as $key=>$val){
+			foreach($listagruppo as $lst=>$grp){
+				if($grp!=$key) continue;
+				$id_lista=$idlst[$lst];
+				$x=$lst;
+				$y=$lists[$x];
+				$pos=0;
+				$z=0;
+				$arvin[$x][$pos++]=$desliste[$lst]; 
+				$sql = "SELECT concat(substring(concat('0',t1.num_cand),-2),') ',t1.cognome,' ',substring(t1.nome from 1 for 1),'.') as descr,sum(t2.voti) as voti from ".$prefix."_ele_candidati as t1, ".$prefix."_ele_voti_candidati as t2 where t1.id_lista='$id_lista' and t1.id_cand=t2.id_cand GROUP BY descr order by voti desc,t1.num_cand";
+				$res_can = $dbi->prepare("$sql");
+				$res_can->execute();
+				$num_candlst[$x]=$res_can->rowCount();
+				while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)){ 
+					$cifra[$x][$pos]=$y+$pre;
+					$arvin[$x][$pos++]=$cand;
+				}	
+				$listemag[$x]=$y;
+				$desliste[$x]=$descr;
+				$percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)";
+				$z++;
+				$seggimag=array();
+				$x=0;
 #####25 maggio 2014 - il candidato sindaco non eletto ha diritto al seggio anche se di maggioranza
 ### individua ultimi seggi assegnati a liste collegate
-if($grp==$gruppo){
-	$listdec =array(); 
-	$seggitmp=calcoloseggi($listemag,$val,1); 
-	foreach ($seggitmp as $keyl=>$vall){#echo "<br> lista: $vall - $keyl - $grp - $gruppo";
-	if($vall==0) continue; 
-
-		$sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$keyl' and id_cons='$id_cons'";
-$res = $dbi->prepare("$sql");
-$res->execute();
-
-		list($tempig)=$res->fetch(PDO::FETCH_NUM);
-		$sql = "SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'";
-$res = $dbi->prepare("$sql");
-$res->execute();
-
-		list($tempng)=$res->fetch(PDO::FETCH_NUM); #foreach ($sindseggio as $keyl=>$vall) echo "<br> listdecseggi: $keyl - $vall - $tempng";
-		if (isset($sindseggio[$tempng])) {$listdec[$tempng][]=$keyl;}
-#		if (in_array($tempng,$sindseggio)) {$listdec[$tempng][]=$keyl;}
-} 
-}
-}
-##########
-	$seggimag=calcoloseggi($listemag,$val,1);
-
+				if($grp==$gruppo){
+					$listdec =array(); 
+					$seggitmp=calcoloseggi($listemag,$val,1); 
+					foreach ($seggitmp as $keyl=>$vall){
+						if($vall==0) continue; 
+						$sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$keyl' and id_cons='$id_cons'";
+						$res = $dbi->prepare("$sql");
+						$res->execute();
+						list($tempig)=$res->fetch(PDO::FETCH_NUM);
+						$sql = "SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'";
+						$res = $dbi->prepare("$sql");
+						$res->execute();
+						list($tempng)=$res->fetch(PDO::FETCH_NUM); 
+						if (isset($sindseggio[$tempng])) {$listdec[$tempng][]=$keyl;}
+					} 
+				}
+			}
+			$seggimag=calcoloseggi($listemag,$val,1);
 ####cerca ultimo seggio assegnato per gruppo di liste collegate al primo turno
-	foreach ($seggimag as $key2=>$val2){ if($val2==0) continue;
-	if(isset($grpinc[$key2])) { $tempng=$grpinc[$key2];}
-if(isset($listdec[$tempng]))
-foreach($listdec[$tempng] as $ark=>$arv) {
-		if(!isset($ultquoz[($sindseggio[$tempng])]) and $sindseggio[$tempng]) {$ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[$tempng]=$arv;}
-		elseif ($ultquoz[($sindseggio[$tempng])]>$quozienti[$arv][($val2-1)]) {$ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[($sindseggio[$tempng])]=$arv;
-		}
-	}} 
-
- 	foreach ($seggimag as $key2=>$val2){ 
-	## condizione per esclusione di un seggio da destinare al sindaco non eletto    in_array($key2,$lastlist)
-	if(isset($lastlist))
-		foreach($lastlist as $key3=>$val3){
-		if($key2==$val3) { 
-			$arappo=array_shift($arvin[$key2]);$tpmgrp=0;
-					array_unshift($arvin[$key2],$desgruppi[$key3]); array_unshift($arvin[$key2],$arappo);array_unshift($cifra[$key2],"--");array_unshift($cifra[$key2],"--");
-			}
-		}
-	## fine condizione - impostare variabile in db per differenziare il comportamento per consultazioni diverse
-		for ($z=0;$z<$val2;$z++){ 
-			if ($z) $consel[]=array("","","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
-			else
-			{
-			$consel[]=array($arvin[$key2][0],$percliste[$key2],$val2,$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
-			$arlisdesv[]=$arvin[$key2][0];$arlissegv[]=$val2;$arlisnumv[]=$key2;
-			}
-		}
-	$x++;
-	if($val2)
-	$consel[]=array($arvin[$key2][0],"$PNE","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
-	}
-}
-}
-if ($premio) $consmin=floor($numcons*(100-$suppremio)/100);
-else $consmin=$numcons;
-
+			foreach ($seggimag as $key2=>$val2){ 
+				if($val2==0) continue;
+				if(isset($grpinc[$key2])) { $tempng=$grpinc[$key2];}
+				if(isset($listdec[$tempng]))
+				foreach($listdec[$tempng] as $ark=>$arv) {
+					if(!isset($ultquoz[($sindseggio[$tempng])]) and $sindseggio[$tempng]) {$ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[$tempng]=$arv;}
+					elseif ($ultquoz[($sindseggio[$tempng])]>$quozienti[$arv][($val2-1)]) 
+					{
+						$ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[($sindseggio[$tempng])]=$arv;
+					}
+				}
+			} 
+			foreach ($seggimag as $key2=>$val2){ 
+## condizione per esclusione di un seggio da destinare al sindaco non eletto    in_array($key2,$lastlist)
+				if(isset($lastlist))
+				foreach($lastlist as $key3=>$val3){
+					if($key2==$val3) { 
+						$arappo=array_shift($arvin[$key2]);$tpmgrp=0;
+						array_unshift($arvin[$key2],$desgruppi[$key3]); array_unshift($arvin[$key2],$arappo);array_unshift($cifra[$key2],"--");array_unshift($cifra[$key2],"--");
+					}
+				}
+## fine condizione - impostare variabile in db per differenziare il comportamento per consultazioni diverse
+				for ($z=0;$z<$val2;$z++){ 
+					if ($z) $consel[]=array("","","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
+					else
+					{
+						$consel[]=array($arvin[$key2][0],$percliste[$key2],$val2,$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
+						$arlisdesv[]=$arvin[$key2][0];$arlissegv[]=$val2;$arlisnumv[]=$key2;
+					}
+				}
+				$x++;
+				if($val2)
+				$consel[]=array($arvin[$key2][0],"$PNE","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
+			}
+		}
+	}
+	if ($premio) $consmin=floor($numcons*(100-$suppremio)/100);
+	else $consmin=$numcons;
 #####calcolo per la minoranza o in caso non ci sia premio di maggioranza   
-$gruppomin=calcoloseggi($groups,$consmin,0);
-$ordinati[$gruppo]=$gruppomin[$gruppo];
-foreach ($gruppomin as $key=>$val){
-	if($key!=$gruppo) $ordinati[$key]=$val;
-}
-$gruppomin=$ordinati;
-foreach ($gruppomin as $key=>$val){
+	$gruppomin=calcoloseggi($groups,$consmin,0);
+	$ordinati[$gruppo]=$gruppomin[$gruppo];
+	foreach ($gruppomin as $key=>$val){
+		if($key!=$gruppo) $ordinati[$key]=$val;
+	}
+	$gruppomin=$ordinati;
+	foreach ($gruppomin as $key=>$val){
 		if($premio and $key==$gruppo) continue;
-	$listemin=array();
-	$cifra=array();
-	foreach($listagruppo as $lst=>$grp){
-		if($grp!=$key) continue;
-		
-		$id_lista=$idlst[$lst];
-		$x=$lst;
-		$y=$lists[$x];
-		$pos=0;
-		$z=0;
-		$pos=0;$z=0;
-		if(!$premio and $key==$gruppo) $arvin[$x][$pos++]=$desliste[$lst];
-		else $arper[$x][$pos++]=$desliste[$lst]; 
-		$sql = "SELECT concat(substring(concat('0',t1.num_cand),-2),') ',t1.cognome,' ',substring(t1.nome from 1 for 1),'.') as descr,sum(t2.voti) as voti from ".$prefix."_ele_candidati as t1, ".$prefix."_ele_voti_candidati as t2 where t1.id_lista='$id_lista' and t1.id_cand=t2.id_cand GROUP BY descr order by voti desc,t1.num_cand";
-$res_can = $dbi->prepare("$sql");
-$res_can->execute();
-
-		$num_candlst[$x]=$res_can->rowCount();
-		while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)) {
-			$cifra[$x][$pos]=$y+$pre;
-			if(!$premio and $key==$gruppo)
-			$arvin[$x][$pos++]=$cand;
-			else
-			$arper[$x][$pos++]=$cand;
-		}
-		$listemin[$x]=$y;
-		$desliste[$x]=$descr;
-		$percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)";
-	}
-	$seggimin=array();
-	echo "$mex";
-	$ultimo='';
-
-	$seggimin=calcoloseggi($listemin,$val,1);
-	echo "$mex";#foreach ($seggimin as $lista=>$valc) echo $seggimin[$lista]." key:$lista -val:$valc<br/>";
-	if(!$premio and $key==$gruppo)
+		$listemin=array();
+		$cifra=array();
+		foreach($listagruppo as $lst=>$grp){
+			if($grp!=$key) continue;			
+			$id_lista=$idlst[$lst];
+			$x=$lst;
+			$y=$lists[$x];
+			$pos=0;
+			$z=0;
+			$pos=0;$z=0;
+			if(!$premio and $key==$gruppo) $arvin[$x][$pos++]=$desliste[$lst];
+			else $arper[$x][$pos++]=$desliste[$lst]; 
+			$sql = "SELECT concat(substring(concat('0',t1.num_cand),-2),') ',t1.cognome,' ',substring(t1.nome from 1 for 1),'.') as descr,sum(t2.voti) as voti from ".$prefix."_ele_candidati as t1, ".$prefix."_ele_voti_candidati as t2 where t1.id_lista='$id_lista' and t1.id_cand=t2.id_cand GROUP BY descr order by voti desc,t1.num_cand";
+			$res_can = $dbi->prepare("$sql");
+			$res_can->execute();
+			$num_candlst[$x]=$res_can->rowCount();
+			while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)) {
+				$cifra[$x][$pos]=$y+$pre;
+				if(!$premio and $key==$gruppo)
+				$arvin[$x][$pos++]=$cand;
+				else
+				$arper[$x][$pos++]=$cand;
+			}
+			$listemin[$x]=$y;
+			$desliste[$x]=$descr;
+			$percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)";
+		}
+		$seggimin=array();
+		echo "$mex";
+		$ultimo='';
+		$seggimin=calcoloseggi($listemin,$val,1);
+		echo "$mex";
+		if(!$premio and $key==$gruppo)
 		foreach ($seggimin as $lista=>$valc){
- $arper[$lista]=$arvin[$lista];
-}
-/*		for ($z=0;$z<$valc;$z++){
-			if ($z) $consel[]=array("","","",$arvin[$lista][($z+1)],$cifra[$lista][($z+1)],$quozienti[$lista][$z]);
-			else $consel[]=array($arvin[$lista][0],$percliste[$lista],$valc,$arvin[$lista][($z+1)],$cifra[$lista][($z+1)],$quozienti[$lista][$z]);
-		}
-	}
-		$consel[]=array($arvin[$lista][0],"$PNE","",$arvin[$lista][($z+1)],$cifra[$lista][($z+1)],$quozienti[$lista][$z]);
-	}//else{ 
-*/
-
-	if ($val and $key!=$gruppo and $consin) {$conselsin[]=array("$CSEC",$desgruppi[$key]); $arcansin[]=$desgruppi[$key];}
-foreach ($seggimin as $lista=>$val)
-	if(isset($oldlstgrp[$lista]) and !isset($oldseggi[$lista])) {$oldseggi[$lista]=$val;
-}
+			$arper[$lista]=$arvin[$lista];
+		}
+		if ($val and $key!=$gruppo and $consin) {$conselsin[]=array("$CSEC",$desgruppi[$key]); $arcansin[]=$desgruppi[$key];}
+		foreach ($seggimin as $lista=>$val)
+			if(isset($oldlstgrp[$lista]) and !isset($oldseggi[$lista])) {$oldseggi[$lista]=$val;
+		}
 		if($val==0){
-		if($ultimo==''){
-			foreach($oldlists as $lst=>$vot)
-			{
-if (!isset($quozienti[$lst][($val)])) $quozienti[$lst][($val)]=$vot;
-				if ($oldlstgrp[$lst]!= $key or !isset($oldseggi[$lst]) or $oldseggi[$lst]==0) continue;
-				if($ultimo=='') $ultimo=$lst;
-				if($quozienti[$ultimo][($val)]==$last[$lst]) 
+			if($ultimo==''){
+				foreach($oldlists as $lst=>$vot)
 				{
+					if (!isset($quozienti[$lst][($val)])) $quozienti[$lst][($val)]=$vot;
+					if ($oldlstgrp[$lst]!= $key or !isset($oldseggi[$lst]) or $oldseggi[$lst]==0) continue;
+					if($ultimo=='') $ultimo=$lst;
+					if($quozienti[$ultimo][($val)]==$last[$lst]) 
+					{
 						if($lists[$ultimo]==$lists[$lst] and $ultimo!=$lst) $mex="Per attribuire l'ultimo seggio Ãš necessario un sorteggio tra la lista n. $ultimo e la lista n. $lst";
-	 					elseif($lists[$ultimo]>$lists[$lst]) {$ultimo=$lst;$mex="";}
-	 			}
-	 			if ($quozienti[$ultimo][($val)]> $last[$lst]) {$ultimo=$lst;$mex="";}
-			}$lst=$ultimo;
-		if($ultimo and $consin){
-#			if($conselb[$ttl[($lst-1)]][2]>1) $conselb[$ttl[($lst-1)]][2]--;else $conselb[$ttl[($lst-1)]][2]='';
-#			$daunset[]=$tt[($lst-1)];
-			if($conselb[$ttl[($lst)]][2]>1) $conselb[$ttl[($lst)]][2]--;else $conselb[$ttl[($lst)]][2]='';
-			$daunset[]=$tt[($lst)];
-			$conselsin[]=array("$CSEC",$desgruppi[$key]);
-			$arcansin[]=$desgruppi[$key];
-			}
-		}
-	}
-#if($key!=$gruppo){
-###############
-#foreach($collegate
-	foreach ($seggimin as $lista=>$val){
-		if($ultimo==$lista and $key!=$gruppo and $consin) $val--; 
-	}
-################
-	foreach ($seggimin as $lista=>$val){
-		if($ultimo==$lista and $key!=$gruppo and $consin) $val--; 
-
-
-		for ($z=0;$z<$val;$z++){
-			if ($z) $conselb[]=array("","","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2));
-			else{
-			if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0;
-			if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0;
-			$conselb[]=array($arper[$lista][0],$percliste[$lista],$val,$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2));
-			$ttl[$lista]=(count($conselb)-1);
-########
-#		echo "<br>".$tt[$lista]." arper --- $gruppo --$ultimo--$key--".$arper[$lista][0];
-			}
-		}
-	if (isset($oldlists[$lista]))
-	{ 
-		$tt[$lista]=(count($conselb)-1);
-		if($z) $last[$lista]=$quozienti[$lista][($z-1)]; else $last[$lista]=0;
-		
-	} 
-	if($val){
-		if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0;
-		if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0;
-		if(!isset($quozienti[$lista][$z])) $quozienti[$lista][$z]=0;
-		$conselb[]=array($arper[$lista][0],"$PNE","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2)); 
-		}
-	}
-#	}//chiude if $key 
+						elseif($lists[$ultimo]>$lists[$lst]) {$ultimo=$lst;$mex="";}
+					}
+					if ($quozienti[$ultimo][($val)]> $last[$lst]) {$ultimo=$lst;$mex="";}
+				}
+				$lst=$ultimo;
+				if($ultimo and $consin){
+					if($conselb[$ttl[($lst)]][2]>1) $conselb[$ttl[($lst)]][2]--;else $conselb[$ttl[($lst)]][2]='';
+					$daunset[]=$tt[($lst)];
+					$conselsin[]=array("$CSEC",$desgruppi[$key]);
+					$arcansin[]=$desgruppi[$key];
+				}
+			}
+		}
+		foreach ($seggimin as $lista=>$val){
+			if($ultimo==$lista and $key!=$gruppo and $consin) $val--; 
+		}
+		foreach ($seggimin as $lista=>$val){
+			if($ultimo==$lista and $key!=$gruppo and $consin) $val--; 
+			for ($z=0;$z<$val;$z++){
+				if ($z) $conselb[]=array("","","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2));
+				else{
+					if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0;
+					if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0;
+					$conselb[]=array($arper[$lista][0],$percliste[$lista],$val,$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2));
+					$ttl[$lista]=(count($conselb)-1);
+				}
+			}
+			if (isset($oldlists[$lista]))
+			{ 
+				$tt[$lista]=(count($conselb)-1);
+				if($z) $last[$lista]=$quozienti[$lista][($z-1)]; else $last[$lista]=0;				
+			} 
+			if($val){
+				if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0;
+				if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0;
+				if(!isset($quozienti[$lista][$z])) $quozienti[$lista][$z]=0;
+				$conselb[]=array($arper[$lista][0],"$PNE","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2)); 
+			}
+		}
 	}//chiude foreach gruppomin
-#	}
 	echo "<table summary=\"Tabella dei consiglieri eletti\" class=\"table-docs\" cellspacing=\"0\" cellpadding=\"2\" border=\"1\" rules=\"all\">";
 	echo "<tr class=\"bggray\"><td scope=\"row\"><b>";
 	echo _SINDACO.": ".$desgruppi[$gruppo]."</b></td></tr></table>";
 	if(isset($daunset)){
-	if ((sort($daunset,SORT_NUMERIC))==false) echo "Errore di programma!";
-	ELSE { 
-		$tmpda=array_reverse($daunset); 
-		foreach($tmpda as $key=>$val) {
-			$conselb[$val][0]=$conselb[($val+1)][0];$conselb[$val][1]=$conselb[($val+1)][1];
-			unset($conselb[($val+1)]);
-			}
-		}
-	}#foreach($conselb as $key=>$val) if($val[2]) echo "$x) ".$val[0]."--".$val[2]."<br/>"; else echo "passa".$x++;
+		if ((sort($daunset,SORT_NUMERIC))==false) echo "Errore di programma!";
+		ELSE { 
+			$tmpda=array_reverse($daunset); 
+			foreach($tmpda as $key=>$val) {
+				$conselb[$val][0]=$conselb[($val+1)][0];$conselb[$val][1]=$conselb[($val+1)][1];
+				unset($conselb[($val+1)]);
+			}
+		}
+	}
 	if (!$premio)
 	{
@@ -865,5 +808,4 @@
 		}
 	}
-	
 	if (isset($conselsin)) foreach($conselsin as $key=>$val) 
 	{
@@ -880,46 +822,7 @@
 		$consel[]=array($val[0],$val[1],$val[2],$val[3],$val[4],$val[5]);
 	}
-	
-//	plotgraf($descrsind,$arlisdesv,$arlissegv,$arlisdesp,$arlissegp,$arcansin); // per grafico
 	stampalista($consel);
 	unset($_SESSION['ballo1']);unset($_SESSION['ballo2']);unset($_SESSION['grp1']);unset($_SESSION['grp2']);
 }
-// Grafico
-function plotgraf($descrsind,$arlisdes,$arlisseg,$arlisdesp,$arlissegp,$arcansin){
-	//echo "sindaco: $descrsind<br/>";
-/*	foreach($arlisdes as $key=>$val){
-		echo "key:$key -- val:$val seggi:".$arlisseg[$key]."<br/>";
-	}	
-	echo "<br/><br/>";
-	foreach($arlisdesp as $key=>$val){
-		echo "key:$key -- val:$val seggi:".$arlissegp[$key]."<br/>";
-	}	*/
-	foreach($arlisdes as $key=>$val){
-		if($arlisseg[$key]=='1') $vocale="o"; else $vocale='';
-
-	$lista[]="$val \n [  ".$arlisseg[$key]." seggi".$vocale."  ]";  
-	$seggin[]=$arlisseg[$key]." seggi".$vocale."";
-	//echo "La lista $val ottiene ".$arlisseg[$key]." seggi.<br/>";
-	}
-	foreach($arcansin as $val) {
-	$seggin[]="1 seggio";
-	$arlisseg[]=1;
-	$lista[]=$val ."\n [ 1 seggio ]" ;
-    //echo "Il candidato sindaco $val e' eletto consigliere.<br/>";
-}
-$sindaco=urlencode($descrsind);
-
-$seggi=serialize($arlisseg);
-$seggi=urlencode($seggi);
-$seggin=serialize($seggin);
-$seggin=urlencode($seggin);
-$lista=serialize($lista);
-$lista=urlencode($lista);
-$title="Proiezione Composizione Consiglio Comunale";
-echo "<table><tr><td>
-		<img src='modules/Elezioni/grafici/consiglio.php?title=$title&amp;seggi=$seggi&amp;seggin=$seggin&amp;lista=$lista&amp;sindaco=$sindaco'  alt=\"Grafico\" /></td></tr></table>";
-
-
-
-}
+
 ?>
Index: trunk/client/temi/Futura2/function_theme.php
===================================================================
--- trunk/client/temi/Futura2/function_theme.php	(revision 361)
+++ trunk/client/temi/Futura2/function_theme.php	(revision 362)
@@ -1238,5 +1238,5 @@
 	$res = $dbi->prepare("$sql");
 	$res->execute();
-	list($tot_aventi)  = $res->rowCount();
+	list($tot_aventi) = $res->fetch(PDO::FETCH_NUM);
 
 	$sql="select sum(t1.validi+t1.nulli+t1.bianchi+t1.contestati) as tot,
@@ -1250,5 +1250,5 @@
 	$res = $dbi->prepare("$sql");
 	$res->execute();
-	list($tot_aventi)  = $res->fetch(PDO::FETCH_NUM);
+	list($tot_aventi) = $res->fetch(PDO::FETCH_NUM);
 	$sql="SELECT  sum(validi+nulli+bianchi+contestati) as tot,
 		sum(validi),sum(nulli),sum(bianchi),sum(contestati), id_gruppo, sum(si), sum(no)
Index: trunk/client/versione.php
===================================================================
--- trunk/client/versione.php	(revision 361)
+++ trunk/client/versione.php	(revision 362)
@@ -1,7 +1,7 @@
 <?php
 
-$versione = "3.0 rev 361";
+$versione = "3.0 rev 362";
 $version_number = $versione;
-$datarel = "17 marzo 2022";
+$datarel = "27 marzo 2022";
 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
 
Index: trunk/install/sql/eleonline.sql
===================================================================
--- trunk/install/sql/eleonline.sql	(revision 361)
+++ trunk/install/sql/eleonline.sql	(revision 362)
@@ -101,6 +101,5 @@
   `editor` enum('0','1') NOT NULL DEFAULT '1',
   `tema_on` enum('0','1') NOT NULL DEFAULT '1',
-  `ed_user` varchar(25) NOT NULL DEFAULT '',
-  `secret` varchar(30) DEFAULT NULL
+  `ed_user` varchar(25) NOT NULL DEFAULT ''
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
@@ -110,5 +109,5 @@
 
 INSERT INTO `soraldo_config` (`sitename`, `siteurl`, `site_logo`, `slogan`, `startdate`, `adminmail`, `tema`, `foot`, `language`, `blocco`, `testata`, `nome_testata`, `fileout`, `copyright`, `Versione`, `patch`, `siteistat`, `multicomune`, `flash`, `displayerrors`, `gkey`, `googlemaps`, `editor`, `tema_on`, `ed_user`) VALUES
-('', 'https://www.eleonline.it', '', 'Sito istituzionale', 'Maggio 2022', 'admin@localhost', 'facebook', '<b>Comune di Test</b><br>\r\nvia  - \r\nTel:  Fax: \r\n<hr>', 'it', '1', '', '', '', 'Gpl v3', 2, 0, 84023, '1', '1', '0', '', '0', '1', '1', 'Admin');
+('', 'https://www.eleonline.it', '', 'Sito istituzionale', 'Maggio 2022', 'admin@localhost', 'facebook', '<b>Comune di Test</b><br>\r\nvia  - \r\nTel:  Fax: \r\n<hr>', 'it', '1', '', '', '', 'Gpl v3', 2, 0, 84023, '1', '0', '0', '', '0', '1', '1', 'Admin');
 
 -- --------------------------------------------------------
@@ -770,5 +769,5 @@
 (3, '02_risultati.php', '02_risultati.php', 1, 0, 0),
 (4, '04_sezioni.php', '04_sezioni.php', 1, 0, 0),
-(5, 'bar_affluenze.php', 'bar_affluenze.php', 1, 0, 0),
+(5, 'privacy.php', 'privacy.php', 1, 0, 0),
 (6, 'bloccocand.php', 'bloccocand.php', 1, 0, 0),
 (7, 'bloccogen.php', 'bloccogen.php', 1, 0, 0),
@@ -776,6 +775,8 @@
 (9, 'bloccoref.php', 'bloccoref.php', 1, 0, 0),
 (10, 'gom_affluenze.php', 'gom_affluenze.php', 1, 0, 0),
-(11, 'off_Votanti.php', 'off_Votanti.php', 1, 0, 0),
-(12, 'pie_affluenze.php', 'pie_affluenze.php', 1, 0, 0);
+(11, 'pie_affluenze.php', 'pie_affluenze.php', 1, 0, 0),
+(12, 'social.php', 'social.php', 1, 0, 0),
+(13, 'cerca_candidato.php', 'cerca_candidato.php', 1, 0, 0),
+(14, 'cookie_law.php', 'cookie_law.php', 1, 0, 0);
 
 --
