Index: trunk/admin/modules/Elezioni/ele_controlli.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_controlli.php	(revision 332)
+++ trunk/admin/modules/Elezioni/ele_controlli.php	(revision 337)
@@ -144,4 +144,8 @@
 	$resref = $dbi->prepare("$sql");
 	$resref->execute();	
+	$sql="SELECT sum(voti) FROM ".$prefix."_ele_voti_gruppo where id_sez='$id_sez'";
+	$resref = $dbi->prepare("$sql");
+	$resref->execute();
+	list($votig)=$resref->fetch(PDO::FETCH_NUM);
 	$sql="SELECT max(voti_complessivi) FROM ".$prefix."_ele_voti_parziale where id_sez='$id_sez'";
 	$res3 = $dbi->prepare("$sql");
@@ -159,5 +163,5 @@
 		$res4->execute();
 		list($validi, $nulli, $bianchi,$contestati,$votinulli)=$res4->fetch(PDO::FETCH_NUM);
-		if (($validi+$nulli+$bianchi+$contestati+$votinulli)!=$voti)
+		if (($validi+$nulli+$bianchi+$contestati+$votinulli)!=$voti or $validi!=$votig)
 			{$err=1;}
 	} 
@@ -276,14 +280,11 @@
 	global $prefix,$dbi,$id_sede,$id_cons_gen,$validi;
 		##############################
+	$controllo=0;
 	$err=0;
 	$tipo='lista';
-	$sql="SELECT genere FROM ".$prefix."_ele_tipo as t1 left join ".$prefix."_ele_consultazione as t2 on t1.tipo_cons=t2.tipo_cons where id_cons_gen='$id_cons_gen'";
-	$res = $dbi->prepare("$sql");
-	$res->execute();
-	list($genere)=$res->fetch(PDO::FETCH_NUM);
-#	$sql="SELECT supdisgiunto FROM ".$prefix."_ele_conf as t1 left join ".$prefix."_ele_consultazione as t2 on t1.tipo_cons=t2.tipo_cons where id_cons_gen='$id_cons_gen'";
-#	$res = $dbi->prepare("$sql");
-#	$res->execute();
-#	list($genere)=$res->fetch(PDO::FETCH_NUM);
+	$sql="SELECT t1.genere,t1.voto_g FROM ".$prefix."_ele_tipo as t1 left join ".$prefix."_ele_consultazione as t2 on t1.tipo_cons=t2.tipo_cons where id_cons_gen='$id_cons_gen'";
+	$res = $dbi->prepare("$sql");
+	$res->execute();
+	list($genere,$votog)=$res->fetch(PDO::FETCH_NUM);
 	$sql="SELECT preferenze,disgiunto,solo_gruppo,id_fascia FROM ".$prefix."_ele_cons_comune where id_cons='$id_cons'";
 	$res = $dbi->prepare("$sql");
@@ -295,5 +296,5 @@
 	}else{
 
-		if($genere==4)
+		if($genere==4 or $votog)
 			$sql="SELECT id_lista, voti, '0' FROM ".$prefix."_ele_voti_lista where id_sez='$id_sez'";
 		else
@@ -306,5 +307,5 @@
 		$totsl=0;
 		$tnl=0;
-		if($genere==4){
+		if($genere==4 or $votog){
 		    $sql="SELECT validi,contestati,nulli,bianchi,voti_nulli FROM ".$prefix."_ele_sezioni where id_cons='$id_cons' and id_sez='$id_sez'";
 			$res = $dbi->prepare("$sql");
@@ -317,6 +318,6 @@
 			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; break; }
-					$sql="SELECT sum(voti), sum(nulli_lista),sum(solo_lista) FROM ".$prefix."_ele_voti_lista where id_sez='$id_sez' and id_lista='$idg'";
+				if($err){ $tipo='lista'; $id_lista=$idg; $controllo=1; 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");
 				$res2->execute();
@@ -329,9 +330,8 @@
 					$tnl+=$nl;
 					if(($votig+$svl)<($votil+$svg+$nl))
-					{ $err=1; $tipo='lista';$id_lista=$idg; break; }
+					{ $err=1; $tipo='lista';$id_lista=$idg; $controllo=2;  break; }
 				}				
 			}
-			if ($validil+$contestatil+$nullil+$bianchi+$vnulli!=$votit and $validil+$contestatil+$nullil+$bianchi+$vnulli>0) {$err=1;$tipo='lista';}
-#			if(($solog && !$disg && $tnl!=$nullil) || $totsl!=$solol) {$err=1;$tipo='lista';}
+			if (($validil+$contestatil+$nullil+$bianchi+$vnulli!=$votit and $validil+$contestatil+$nullil+$bianchi+$vnulli>0) or ($totlis!=$validil and $totlis>0)) {$err=1;$tipo='lista';}
 		}else{			
 			$sql="SELECT validi,validi_lista,contestati_lista,voti_nulli_lista,solo_gruppo,solo_lista FROM ".$prefix."_ele_sezioni where id_cons='$id_cons' and id_sez='$id_sez'";
@@ -341,4 +341,5 @@
 			$vl=0;
 			$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'";
@@ -347,5 +348,5 @@
 				while(list($id_lista)=$res2->fetch(PDO::FETCH_NUM)){
 					$err=controllo_votic($id_cons,$id_sez,$id_lista);
-					if($err){ $tipo='lista'; break; }
+					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");
@@ -366,11 +367,14 @@
 					$tnl+=$nl;
 					if(($votig+$svl)<($votil+$svg+$nl) and $disg)
-					{ $err=1; $tipo='lista'; break; }
+					{ $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!=$votiv 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) {$err=1;$tipo='lista';}
+			if (($totlis!=$validil or $validil+$contestatil+$nullil+$totsg!=$votiv) and ($validil+$contestatil+$nullil+$solol>0 or $tvl>0)) {$err=1;$tipo='lista';$controllo=5;} include("--- $votog --- $sql --- if (($totlis!=$votiv or $validil+$contestatil+$nullil+$totsg!=$votiv) and ($validil+$contestatil+$nullil+$solol>0 or $tvl>0))");
+			if(($solog && !$disg && ($tnl!=$nullil && $disg)) || $totsl!=$solol) {$err=1;$tipo='lista';$controllo=6;}
 		}
 		
@@ -384,5 +388,5 @@
 
 	if($err){
-		if(!$id_lista) $id_lista=0;
+		if(!$id_lista) $id_lista=0; //$controllo;
 		$sql="insert into ".$prefix."_ele_controlli value('$id_cons','$id_sez','$tipo','$id_lista')";
 		$res = $dbi->prepare("$sql");
