Index: trunk/admin/modules/Elezioni/ele_controlli.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_controlli.php	(revision 360)
+++ trunk/admin/modules/Elezioni/ele_controlli.php	(revision 365)
@@ -287,5 +287,15 @@
 	global $prefix,$dbi,$id_sede,$id_cons_gen,$validi;
 		##############################
-	$controllo=0;
+	$sql="select id from ".$prefix."_ele_controlli where tipo='lista' and id_sez='$id_sez' and id>0"; 
+	$res = $dbi->prepare("$sql");
+	$res->execute();
+	while (list($idl)=$res->fetch(PDO::FETCH_NUM)) {
+		$err=controllo_votic($id_cons,$id_sez,$idl);
+		if(!$err){
+			$sql="delete from ".$prefix."_ele_controlli where tipo='lista' and id_sez='$id_sez' and id=$idl"; 
+			$res = $dbi->prepare("$sql");
+			$res->execute();
+		} 
+	}		
 	$err=0;
 	$tipo='lista';
@@ -325,5 +335,5 @@
 			while (list($idg,$votig,$svg)=$resref->fetch(PDO::FETCH_NUM)) {
 				$err=controllo_votic($id_cons,$id_sez,$idg);
-				if($err){ $tipo='lista'; $id_lista=$idg; $controllo=1; break; }
+				if($err){ $tipo='lista'; $id_lista=$idg; break; }
 				$sql="SELECT voti, nulli_lista, solo_lista FROM ".$prefix."_ele_voti_lista where id_sez='$id_sez' and id_lista='$idg'";
 				$res2 = $dbi->prepare("$sql");
@@ -337,5 +347,5 @@
 					$tnl+=$nl;
 					if(($votig+$svl)<($votil+$svg+$nl))
-					{ $err=1; $tipo='lista';$id_lista=$idg; $controllo=2;  break; }
+					{ $err=1; $tipo='lista';$id_lista=$idg; break; }
 				}				
 			}
@@ -349,48 +359,46 @@
 			$tvl=0;
 			if($resref->rowCount()){
-			while (list($idg,$votig,$svg)=$resref->fetch(PDO::FETCH_NUM)) {
-				$sql="SELECT id_lista FROM ".$prefix."_ele_lista where id_gruppo='$idg'";
-				$res2 = $dbi->prepare("$sql");
-				$res2->execute();
-				while(list($id_lista)=$res2->fetch(PDO::FETCH_NUM)){
-					$err=controllo_votic($id_cons,$id_sez,$id_lista);
-					if($err){ $tipo='lista'; $controllo=3; break; }
-					$sql="SELECT voti FROM ".$prefix."_ele_voti_lista where id_lista='$id_lista' and id_sez='$id_sez'";
-					$res3 = $dbi->prepare("$sql");
-					$res3->execute();
-					list($vl)=$res3->fetch(PDO::FETCH_NUM);
-					$tvl+=$vl;
+				while (list($idg,$votig,$svg)=$resref->fetch(PDO::FETCH_NUM)) {
+					$sql="SELECT id_lista FROM ".$prefix."_ele_lista where id_gruppo='$idg'";
+					$res2 = $dbi->prepare("$sql");
+					$res2->execute();
+					while(list($idl)=$res2->fetch(PDO::FETCH_NUM)){
+						$err=controllo_votic($id_cons,$id_sez,$idl);
+						if($err){ $tipo='lista'; break; }
+						$sql="SELECT voti FROM ".$prefix."_ele_voti_lista where id_lista='$idl' and id_sez='$id_sez'";
+						$res3 = $dbi->prepare("$sql");
+						$res3->execute();
+						list($vl)=$res3->fetch(PDO::FETCH_NUM);
+						$tvl+=$vl;
+					}
+					if($err) break;
+					$sql="SELECT sum(voti), sum(nulli_lista),sum(solo_lista) FROM ".$prefix."_ele_voti_lista where id_sez='$id_sez' and id_lista in (select id_lista from ".$prefix."_ele_lista where id_gruppo='$idg')";
+					$res2 = $dbi->prepare("$sql");
+					$res2->execute();
+					$totgru+=$votig;
+					$totsg+=$svg;
+					if($res2->rowCount()){
+						list($votil,$nl,$svl)=$res2->fetch(PDO::FETCH_NUM);
+						$totlis+=$votil;
+						$totsl+=$svl;
+						$tnl+=$nl;
+						if(($votig+$svl)<($votil+$svg+$nl) and $disg)
+						{ $err=1; $tipo='lista'; break; }
+					}				
 				}
-				if($err) break;
-				$sql="SELECT sum(voti), sum(nulli_lista),sum(solo_lista) FROM ".$prefix."_ele_voti_lista where id_sez='$id_sez' and id_lista in (select id_lista from ".$prefix."_ele_lista where id_gruppo='$idg')";
-				$res2 = $dbi->prepare("$sql");
-				$res2->execute();
-				$totgru+=$votig;
-				$totsg+=$svg;
-				if($res2->rowCount()){
-					list($votil,$nl,$svl)=$res2->fetch(PDO::FETCH_NUM);
-					$totlis+=$votil;
-					$totsl+=$svl;
-					$tnl+=$nl;
-					if(($votig+$svl)<($votil+$svg+$nl) and $disg)
-					{ $err=1; $tipo='lista'; $controllo=4; break; }
-				}
-				
-			}
 			}else{
 			#inserire controllo per consultazioni con voto alle liste ma senza voto di gruppo	
 			}
 			if (!$totsg) $totsg=$solog; 
-			if (($totlis!=$validil or $validil+$contestatil+$nullil+$totsg!=$votiv) and ($validil+$contestatil+$nullil+$solol>0 or $tvl>0)) {$err=1;$tipo='lista';$controllo=5;} 
-			if(($solog && !$disg && ($tnl!=$nullil && $disg)) || $totsl!=$solol || ($totsg!=$solog)) {$err=1;$tipo='lista';$controllo=6;}
-		}
-		
-	}
-
-		if(!$err){ 
-			$sql="delete from ".$prefix."_ele_controlli where tipo='lista' and id_sez='$id_sez' and id='$id_lista'"; 
-			$res = $dbi->prepare("$sql");
-			$res->execute();
-		} 
+			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(!$err){
+		if($id_lista) $andlis=" and id='$id_lista' "; else $andlis="";
+		$sql="delete from ".$prefix."_ele_controlli where tipo='lista' and id_sez='$id_sez' $andlis"; 
+		$res = $dbi->prepare("$sql");
+		$res->execute();
+	} 
 
 	if($err){
@@ -399,8 +407,8 @@
 		$res->execute();
 		if(!$res->rowCount()) {
-			if(!$id_lista) $id_lista=0; //$controllo;
+			if(!$id_lista) $id_lista=0;
 			$sql="insert into ".$prefix."_ele_controlli value('$id_cons','$id_sez','$tipo','$id_lista')";
 			$res = $dbi->prepare("$sql");
-			$res->execute();	#die("TEST $sql");
+			$res->execute();
 		}
 	}
