Index: trunk/admin/admin.php
===================================================================
--- trunk/admin/admin.php	(revision 131)
+++ trunk/admin/admin.php	(revision 139)
@@ -511,4 +511,7 @@
     include("modules/Elezioni/ele_widget.php");
     break;
+case "riepilogo":
+    include("modules/Elezioni/ele_riepilogo.php");
+    break;
    
 
Index: trunk/admin/modules/Elezioni/controllo_voti.php
===================================================================
--- trunk/admin/modules/Elezioni/controllo_voti.php	(revision 131)
+++ trunk/admin/modules/Elezioni/controllo_voti.php	(revision 139)
@@ -72,8 +72,8 @@
 	if ($genere>0) {  //se non e' un referendum
 		if (!($genere==4) and $pag==0){  //se non e' una lista uninominale ed e' la prima pagina
-			$tab="SELECT 0,t2.id_sez,t2.num_sez,t2.validi,'0',t2.validi,t2.nulli,t2.bianchi,t2.contestati, t4.id_circ,t2.id_sede,'0',t2.voti_nulli,t2.validi_lista,t2.voti_nulli_lista,t2.contestati_lista,t2.solo_gruppo FROM ".$prefix."_ele_sezioni as t2 left join ".$prefix."_ele_sede as t4 on (t2.id_sede=t4.id_sede) where t2.id_cons='$id_cons' and t2.validi+t2.nulli+t2.bianchi+t2.contestati>0 group by t2.id_sez order by t2.num_sez";
+			$tab="SELECT 0,t2.id_sez,t2.num_sez,t2.validi,'0',t2.validi,t2.nulli,t2.bianchi,t2.contestati, t4.id_circ,t2.id_sede,'0',t2.voti_nulli,t2.validi_lista,t2.voti_nulli_lista,t2.contestati_lista,t2.solo_gruppo,t2.solo_lista FROM ".$prefix."_ele_sezioni as t2 left join ".$prefix."_ele_sede as t4 on (t2.id_sede=t4.id_sede) where t2.id_cons='$id_cons' and t2.validi+t2.nulli+t2.bianchi+t2.contestati>0 group by t2.id_sez order by t2.num_sez";
 
 		}else{ // e' una lista uninominale o la seconda pagina
-			$tab="SELECT '0',t1.id_sez,t1.num_sez,sum(t2.voti),t1.solo_gruppo,t1.validi,t1.nulli,t1.bianchi,t1.contestati, t4.id_circ,t1.id_sede,'0',t1.voti_nulli,t1.validi_lista,t1.voti_nulli_lista,t1.contestati_lista,t1.solo_gruppo
+			$tab="SELECT '0',t1.id_sez,t1.num_sez,sum(t2.voti),t1.solo_gruppo,t1.validi,t1.nulli,t1.bianchi,t1.contestati, t4.id_circ,t1.id_sede,'0',t1.voti_nulli,t1.validi_lista,t1.voti_nulli_lista,t1.contestati_lista,t1.solo_gruppo,t1.solo_lista
 			FROM ".$prefix."_ele_sezioni as t1 left join ".$prefix.$tab3." as t2 on (t1.id_sez=t2.id_sez)
 			left join ".$prefix."_ele_sede as t4 on (t1.id_sede=t4.id_sede)
@@ -82,5 +82,5 @@
 		$riga1="<tr><td>\n<table border=\"0\" width=\"100%\" bgcolor=\"$bgcolor1\" ><tr><td align=\"center\">"._SEZSCR." "._CONSULTAZIONE."</td></tr></table></td></tr>\n";
 	}else{ // e' un referendum
-		$tab="SELECT t1.id_gruppo,t1.id_sez,t2.num_sez,t1.si,t1.no,t1.validi,t1.nulli,t1.bianchi,t1.contestati, t4.id_circ,t2.id_sede,t3.num_gruppo,'0','0','0','0','0'
+		$tab="SELECT t1.id_gruppo,t1.id_sez,t2.num_sez,t1.si,t1.no,t1.validi,t1.nulli,t1.bianchi,t1.contestati, t4.id_circ,t2.id_sede,t3.num_gruppo,'0','0','0','0','0','0'
 		FROM ".$prefix."_ele_voti_ref as t1 left join ".$prefix."_ele_sezioni as t2 on (t1.id_sez=t2.id_sez)
 		left join  ".$prefix."_ele_gruppo as t3 on (t1.id_gruppo=t3.id_gruppo) left join ".$prefix."_ele_sede as t4 on (t2.id_sede=t4.id_sede)
@@ -111,6 +111,6 @@
 	$scrutinate=1;
 //	if ($genere>1 and $pag==1) $ops=3;
-	$tot_u=0;$tot_d=0;$tot_voti=0; $tot_si=0;$tot_no=0;$tot_validi=0;$tot_nulli=0;$tot_bianchi=0;$tot_contestati=0;$tgrup_pref=0;$tot_voti_nulli=0;$tot_val_lista=0;$tot_vot_nul_lis=0;$tot_cont_lis=0;$tot_solog=0;$errors=0;
-	while (list($id_gruppo,$id,$num,$si,$no,$validi,$nulli,$bianchi,$contestati,$id_circ,$id_sede,$gruppo,$voti_nulli,$val_lista,$vot_nul_lis,$cont_lis,$solog) = mysql_fetch_row($res)){
+	$tot_u=0;$tot_d=0;$tot_voti=0; $tot_si=0;$tot_no=0;$tot_validi=0;$tot_nulli=0;$tot_bianchi=0;$tot_contestati=0;$tgrup_pref=0;$tot_voti_nulli=0;$tot_val_lista=0;$tot_vot_nul_lis=0;$tot_cont_lis=0;$tot_solog=0;$tot_solol=0;$errors=0;
+	while (list($id_gruppo,$id,$num,$si,$no,$validi,$nulli,$bianchi,$contestati,$id_circ,$id_sede,$gruppo,$voti_nulli,$val_lista,$vot_nul_lis,$cont_lis,$solog,$solol) = mysql_fetch_row($res)){
 	// inserimento numeri di sez non scrutinate
 		while ($scrutinate < $num) { 
@@ -145,4 +145,5 @@
 		$tot_cont_lis+=$cont_lis;
 		$tot_solog+=$solog;
+		$tot_solol+=$solol;
 		$righe .= "<tr bgcolor=\"$bgcolor2\" align=\"center\"><td>$num</td><td>".number_format($votiu,0,',','.')."</td><td>".number_format($votid,0,',','.')."</td><td>".number_format($voti,0,',','.')."</td>";
 		if ($genere==0 or ((($genere==5) or ($genere==3)) and $pag==1)){$righe .= "<td>".number_format($si,0,',','.')."</td>";}
@@ -156,8 +157,8 @@
 			}
 		}
-		$controllo1=$validi+$nulli+$bianchi+$contestati+$voti_nulli; #prova
+		$controllo1=$validi+$nulli+$bianchi+$contestati+$voti_nulli+$solol; #prova
 		$controllo2=$si+$no;
 		if($genere==5) #$validi+$nulli+$bianchi+$vcont+$vn 
-			if($pag==0 and !$votog or $fascia<=$limite) {$controllo1=$validi+$nulli+$bianchi+$contestati+$voti_nulli;} else { $controllo1=$val_lista+$nulli+$bianchi+$cont_lis+$vot_nul_lis+$solog;$controllo2=$si+$no-$voti_nulli-$contestati+$cont_lis+$vot_nul_lis;}
+			if($pag==0 and !$votog or $fascia<=$limite) {$controllo1=$validi+$nulli+$bianchi+$contestati+$voti_nulli+$solol;} else { $controllo1=$val_lista+$nulli+$bianchi+$contestati+$voti_nulli+$cont_lis+$vot_nul_lis+$solog;$controllo2=$si+$no-$solol+$cont_lis+$vot_nul_lis;}
 		if ($voti==$controllo1 and $validi==$controllo2 and !$g_err){
 			$righe .= "<td>"._OK."</td></tr>\n";
Index: trunk/admin/modules/Elezioni/ele.php
===================================================================
--- trunk/admin/modules/Elezioni/ele.php	(revision 131)
+++ trunk/admin/modules/Elezioni/ele.php	(revision 139)
@@ -273,4 +273,5 @@
 			echo "<img src=\"modules/Elezioni/images/site.gif\" alt =\" \" align=\"middle\" border=\"0\"> "._STATO." "._VOTI."<br>";
 		}
+		echo "<a href=\"admin.php?op=riepilogo&amp;id_cons_gen=$id_cons_gen\">$bullet "._RIEPILOGO."</a><br>";
 	}
 
Index: trunk/admin/modules/Elezioni/ele_confcons.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_confcons.php	(revision 131)
+++ trunk/admin/modules/Elezioni/ele_confcons.php	(revision 139)
@@ -48,4 +48,6 @@
 if (isset($param['supminpremio'])) get_magic_quotes_gpc() ? $supminpremio=$param['supminpremio']:$supminpremio=addslashes($param['supminpremio']); else $supminpremio='';
 if (isset($param['listsupconta'])) get_magic_quotes_gpc() ? $listsupconta=$param['listsupconta']:$listsupconta=addslashes($param['listsupconta']); else $listsupconta='';
+if (isset($param['infdisgiunto'])) get_magic_quotes_gpc() ? $infdisgiunto=$param['infdisgiunto']:$infdisgiunto=addslashes($param['infdisgiunto']); else $infdisgiunto='';
+if (isset($param['supdisgiunto'])) get_magic_quotes_gpc() ? $supdisgiunto=$param['supdisgiunto']:$supdisgiunto=addslashes($param['supdisgiunto']); else $supdisgiunto='';
 if (isset($param['help'])) $help=intval($param['help']);
 
@@ -75,5 +77,5 @@
 	echo "<input type=\"hidden\" name=\"do\" value=\"update\">";
 	}else{
-	$gru['id_conf']=$nuovo_gruppo;$gru['descrizione']='';$gru['limite']='';$gru['consin']='';$gru['infpremio']='';$gru['listinfsbar']='';$gru['listinfconta']='';$gru['supminpremio']='';$gru['infminpremio']='';$gru['suppremio']='';$gru['supsbarramento']='';$gru['listsupconta']='';
+	$gru['id_conf']=$nuovo_gruppo;$gru['descrizione']='';$gru['limite']='';$gru['consin']='';$gru['infpremio']='';$gru['listinfsbar']='';$gru['listinfconta']='';$gru['supminpremio']='';$gru['infminpremio']='';$gru['suppremio']='';$gru['supsbarramento']='';$gru['listsupconta']='';$gru['infdisgiunto']='';$gru['supdisgiunto']='';
 	echo "<input type=\"hidden\" name=\"do\" value=\"add\">";
 	}
@@ -91,5 +93,7 @@
 	$sel= ($gru['consin']==1) ? "selected":"";
 	echo "<td align=\"center\"><b>"._CONSIN."</b></td><td><select name=\"consin\"><option value=\"0\">No<option value=\"1\" $sel>Si</select></td></tr>"
-	."<tr><td align=\"center\" colspan=\"4\" bgcolor=\"$bgcolor2\"><b>"._SISTEMA_MAGGIORITARIO."</b></td></tr>"
+	."<tr><td align=\"center\" colspan=\"4\" bgcolor=\"$bgcolor2\"><b>"._SISTEMA_MAGGIORITARIO."</b></td></tr>";
+	$sel= ($gru['infdisgiunto']==1) ? "selected":"";
+	echo "<tr><td align=\"center\"><b>"._DISGIUNTO."</b></td><td><select name=\"infdisgiunto\"><option value=\"0\">No<option value=\"1\" $sel>Si</select></td></tr>"
 	."<tr><td align=\"center\"><b>"._INFPREMIO."</b></td><td><input type=\"text\" name=\"infpremio\" value=\"".$gru['infpremio']."\"></td>"
 	."<td align=\"center\"><b>"._LISTINFSBAR."</b></td><td><input type=\"text\" name=\"listinfsbar\" value=\"".$gru['listinfsbar']."\"></td></tr>"
@@ -97,5 +101,7 @@
 	$sel= ($gru['listinfconta']==1) ? "selected":"";
 	echo"<td align=\"center\"><b>"._LISTINFCONTA."</b></td><td><select name=\"listinfconta\"><option value=\"0\">No<option value=\"1\" $sel>Si</select></td></tr>"
-	."<tr><td align=\"center\" colspan=\"4\" bgcolor=\"$bgcolor2\"><b>"._SISTEMA_PROPORZIONALE."</b></td></tr>"
+	."<tr><td align=\"center\" colspan=\"4\" bgcolor=\"$bgcolor2\"><b>"._SISTEMA_PROPORZIONALE."</b></td></tr>";
+	$sel= ($gru['supdisgiunto']==1) ? "selected":"";
+	echo "<tr><td align=\"center\"><b>"._DISGIUNTO."</b></td><td><select name=\"supdisgiunto\"><option value=\"0\">No<option value=\"1\" $sel>Si</select></td></tr>"
 	."<tr><td align=\"center\"><b>"._SUPPREMIO."</b></td><td><input type=\"text\" name=\"suppremio\" value=\"".$gru['suppremio']."\"></td>"
 	."<td align=\"center\"><b>"._SUPSBAR."</b></td><td><input type=\"text\" name=\"supsbarramento\" value=\"".$gru['supsbarramento']."\"></td></tr>"
@@ -117,5 +123,5 @@
 	$max = mysql_num_rows($res);
 	$result = mysql_query("select * from ".$prefix."_ele_conf ORDER BY id_conf  LIMIT $min,$offset", $dbi);
-	while(list($id_conf,$descrizione,$limite, $consin,$infpremio, $supsbarramento, $suppremio, $listinfsbar, $listinfconta, $listsupconta) = mysql_fetch_row($result)) {
+	while(list($id_conf,$descrizione,$limite, $consin,$infpremio, $supsbarramento, $suppremio, $listinfsbar, $listinfconta, $listsupconta, $infdisgiunto, $supdisgiunto) = mysql_fetch_row($result)) {
 		$bgcolor1=($bgcolor1==$_SESSION['bgcolor1'])?$_SESSION['bgcolor2']:$_SESSION['bgcolor1'];
 		echo "<tr bgcolor=\"$bgcolor1\"><td align=\"center\"><b>$id_conf</b></td>"
@@ -167,5 +173,5 @@
 
 function confcons($ok, $do) {
-	global $prefix, $dbi, $id_cons,$simbolo2,$genere,$id_cons_gen,$id_comune,$min,$id_conf,$descrizione, $limite,$consin,$infpremio,$listinfsbar,$infminpremio,$listinfconta,$supsbarramento,$suppremio,$supminpremio,$listsupconta;
+	global $prefix, $dbi, $id_cons,$simbolo2,$genere,$id_cons_gen,$id_comune,$min,$id_conf,$descrizione, $limite,$consin,$infpremio,$listinfsbar,$infminpremio,$listinfconta,$supsbarramento,$suppremio,$supminpremio,$listsupconta,$infdisgiunto,$supdisgiunto;
 	$aid=$_SESSION['aid'];
 	$perms=ChiSei($id_cons_gen);
@@ -184,5 +190,5 @@
       			if ($descrizione) {
 				$sqlset='';
-      				$result = mysql_query("insert into ".$prefix."_ele_conf(id_conf,descrizione, limite,consin,infpremio,supsbarramento,suppremio,listinfsbar,listinfconta,listsupconta,infminpremio,supminpremio) values ('$id_conf','$descrizione','$limite','$consin','$infpremio','$supsbarramento','$suppremio','$listinfsbar','$listinfconta','$listsupconta','$infminpremio','$supminpremio')", $dbi) || die("Errore di aggiornamento dei dati!".mysql_error());
+      				$result = mysql_query("insert into ".$prefix."_ele_conf(id_conf,descrizione, limite,consin,infpremio,supsbarramento,suppremio,listinfsbar,listinfconta,listsupconta,infminpremio,supminpremio,infdisgiunto,supdisgiunto) values ('$id_conf','$descrizione','$limite','$consin','$infpremio','$supsbarramento','$suppremio','$listinfsbar','$listinfconta','$listsupconta','$infminpremio','$supminpremio','$infdisgiunto','$supdisgiunto')", $dbi) || die("Errore di aggiornamento dei dati!".mysql_error());
            			if (!$result) return;
            			Header("Location: admin.php?op=confconsiglio&id_cons_gen=$id_cons_gen&min=$min");
@@ -195,5 +201,5 @@
      			}
    		} elseif ($do == "update") {
-			$result = mysql_query("update  ".$prefix."_ele_conf set descrizione='$descrizione', limite='$limite', consin='$consin', infpremio='$infpremio', supsbarramento='$supsbarramento', suppremio='$suppremio', listinfsbar='$listinfsbar', listinfconta='$listinfconta', listsupconta='$listsupconta', infminpremio='$infminpremio', supminpremio='$supminpremio' where id_conf='$id_conf' ", $dbi) || die("Errore di aggiornamento dei dati!".mysql_error());
+			$result = mysql_query("update  ".$prefix."_ele_conf set descrizione='$descrizione', limite='$limite', consin='$consin', infpremio='$infpremio', supsbarramento='$supsbarramento', suppremio='$suppremio', listinfsbar='$listinfsbar', listinfconta='$listinfconta', listsupconta='$listsupconta', infminpremio='$infminpremio', supminpremio='$supminpremio',infdisgiunto='$infdisgiunto',supdisgiunto='$supdisgiunto' where id_conf='$id_conf' ", $dbi) || die("Errore di aggiornamento dei dati!".mysql_error());
 			Header("Location: admin.php?op=confconsiglio&id_cons_gen=$id_cons_gen&min=$min");
    		}
Index: trunk/admin/modules/Elezioni/ele_riepilogo.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_riepilogo.php	(revision 139)
+++ trunk/admin/modules/Elezioni/ele_riepilogo.php	(revision 139)
@@ -0,0 +1,78 @@
+<?php
+
+/************************************************************************/
+/* Eleonline - Raccolta e diffusione dei dati elettorali                */
+/* by Roberto Gigli & Luciano Apolito                                   */
+/* http://www.eleonline.it                                              */
+/* info@eleonline.it  luciano@aniene.net rgigli@libero.it               */
+/************************************************************************/
+/* Modulo Controllo dei voti                                            */
+/* Amministrazione                                                      */
+/************************************************************************/
+
+if (!defined('ADMIN_FILE')) {
+    die ("You can't access this file directly...");
+}
+
+$aid=$_SESSION['aid'];
+$dbi=$_SESSION['dbi'];
+$prefix=$_SESSION['prefix'];
+$currentlang=$_SESSION['lang'];
+$id_comune=$_SESSION['id_comune'];
+$id_cons_gen=$_GET['id_cons_gen'];
+$bgcolor1=$_SESSION['bgcolor1'];
+$bgcolor2=$_SESSION['bgcolor2'];
+
+$perms=ChiSei($id_cons_gen);
+if ($perms<16 or !$id_cons_gen) die("$perms Non hai i permessi per inserire dati, o non hai scelto la consultazione!");
+$res = mysql_query("SELECT t1.tipo_cons,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'" , $dbi);
+list($tipo_cons,$id_cons) = mysql_fetch_row($res);
+$res = mysql_query("SELECT genere,voto_g,voto_l FROM ".$prefix."_ele_tipo where tipo_cons='$tipo_cons' " , $dbi);
+	list($genere,$votog,$votol) = mysql_fetch_row($res);
+
+include("modules/Elezioni/funzionidata.php");
+include("modules/Elezioni/ele.php");
+if (! get_magic_quotes_gpc()) $magic='addslashes'; else $magic='';
+if (isset($param['ops'])) get_magic_quotes_gpc() ? $ops=$param['ops']:$ops=addslashes($param['ops']); else $ops='';
+if (isset($param['pag'])) $pag=intval($param['pag']); else $pag=0;
+if (isset($param['num_ref'])) $num_ref=intval($param['num_ref']);
+if (isset($param['num_refs'])) $num_refs=intval($param['num_refs']);
+ele();
+//**************************************************************************
+//        ELE
+//**************************************************************************
+ 
+    global $prefix, $dbi,$fascia,$limite;
+	$res = mysql_query("SELECT sum(maschi),sum(femmine) FROM ".$prefix."_ele_sezioni where id_cons='$id_cons'", $dbi);
+	list($totm,$totf) = mysql_fetch_row($res);
+	$totel=$totm+$totf;
+	$res = mysql_query("SELECT data,orario FROM `soraldo_ele_rilaff` where id_cons_gen=$id_cons_gen order by data desc, orario desc limit 0,1", $dbi);
+	list($giorno,$ora)=mysql_fetch_row($res);
+	$res = mysql_query("SELECT sum(voti_donne),sum(voti_uomini),sum(voti_complessivi) FROM ".$prefix."_ele_voti_parziale where id_cons='$id_cons' and data='$giorno' and orario='$ora'", $dbi);
+	list($votm,$votf,$votc) = mysql_fetch_row($res);
+	$res = mysql_query("SELECT sum(solo_gruppo),sum(validi),sum(nulli),sum(bianchi),sum(contestati), sum(voti_nulli),sum(validi_lista),sum(voti_nulli_lista),sum(contestati_lista),sum(solo_lista) FROM ".$prefix."_ele_sezioni where id_cons=$id_cons", $dbi);
+	list($sg,$validi,$nulli,$bianchi,$contestati,$votinulli,$validilista,$nullilista,$contestatilista,$sl)=mysql_fetch_row($res);
+	echo "<center>";
+	echo "<fieldset><legend>"._VOTANTI."</legend>";
+	echo "<table border=\"1\" width=\"100%\"><tr><th>"._ISCRITTI."</TH><TH>"._UOMINI."</TH><TH>"._DONNE."</TH><TH>"._VOTIU."</TH><TH>"._VOTID."</TH><TH>"._VOTIE."</TH></TR>";
+	ECHO "<TR><TH>".number_format($totel,0,',','.')."</TH><TH>".number_format($totm,0,',','.')."</TH><TH>".number_format($totf,0,',','.')."</TH><TH>".number_format($votm,0,',','.')."</TH><TH>".number_format($votf,0,',','.')."</TH><TH>".number_format($votc,0,',','.')."</TH></TR></table><br/>";
+	ECHO "</fieldset><br/><br/><br/>";
+	$totnulli=$nulli+$bianchi+$contestati+$votinulli;
+	echo "<fieldset><legend>"._GRUPPO."</legend>";
+	echo "<table border=\"1\" width=\"100%\"><tr><th><b>"._VALIDI."</b></th><th>"._NULLI."</th><th>"._BIANCHI."</th><th>"._CONTESTATI."</th><th>"._VOTINULLI."</th><th>"._TOTNON."</th></TR>";
+	ECHO "<TR><TH>".number_format($validi,0,',','.')."</TH><TH>".number_format($nulli,0,',','.')."</TH><TH>".number_format($bianchi,0,',','.')."</TH><TH>".number_format($contestati,0,',','.')."</TH><TH>".number_format($votinulli,0,',','.')."</TH><TH>".number_format($totnulli,0,',','.')."</TH></TR></table><br/>";
+	ECHO "</fieldset><br/><br/><br/>";
+	$totnullil=$nullilista+$contestatilista;
+	echo "<fieldset><legend>"._VOTI_LISTA."</legend>";
+	echo "<table border=\"1\" width=\"100%\"><tr><th>"._VALIDI."</th><th>"._VOTINULLI."</th><th>"._CONTESTATI."</th><th>"._SOLO_GRUPPO."</th><th>"._TOTNON."</th></TR>";
+	ECHO "<TR><TH>".number_format($validilista,0,',','.')."</TH><TH>".number_format($nullilista,0,',','.')."</TH><TH>".number_format($contestatilista,0,',','.')."</TH><TH>".number_format($sg,0,',','.')."</TH><TH>".number_format($totnullil,0,',','.')."</TH></TR></table><br/>";
+	ECHO "</fieldset>";
+	echo "</center>";
+	
+	
+	
+echo "</table>\n</td></tr></table>\n";
+
+   include ("footer.php");
+
+?>
Index: trunk/admin/modules/Elezioni/ele_voti.php
===================================================================
--- trunk/admin/modules/Elezioni/ele_voti.php	(revision 131)
+++ trunk/admin/modules/Elezioni/ele_voti.php	(revision 139)
@@ -130,9 +130,9 @@
 			if($validi) {
 					$status=0;
-					$query="SELECT validi,nulli,bianchi,contestati,voti_nulli,solo_gruppo,validi_lista,contestati_lista,voti_nulli_lista FROM ".$prefix."_ele_sezioni as t1 where t1.id_sez='$id_sez'";
+					$query="SELECT validi,nulli,bianchi,contestati,voti_nulli,solo_gruppo,validi_lista,contestati_lista,voti_nulli_lista,solo_lista FROM ".$prefix."_ele_sezioni as t1 where t1.id_sez='$id_sez'";
 					$res4 = mysql_query("$query", $dbi);
-					list($validi, $nulli, $bianchi,$contestati,$votinulli,$sologruppo,$validilista,$contestatilista,$votinullilista)=mysql_fetch_row($res4);
+					list($validi, $nulli, $bianchi,$contestati,$votinulli,$sologruppo,$validilista,$contestatilista,$votinullilista,$sololista)=mysql_fetch_row($res4);
 					if($validi>0) {
-						if (($validi+$nulli+$bianchi+$contestati+$votinulli)==$voti)
+						if (($validi+$nulli+$bianchi+$contestati+$votinulli+$sololista)==$voti)
 							{$status=1;$ops=-4;}
 						else return 4;
@@ -166,5 +166,5 @@
 					list($votils)=mysql_fetch_row($res4);
 					if($votils>0) {
-						if (($votils+$sologruppo+$contestatilista+$votinullilista)==($validi+$votinulli+$contestati))
+						if (($votils+$sologruppo+$contestatilista+$votinullilista)==($validi+$sololista))
 							{$status=1;$ops=-3;}
 						else {return 3;}
@@ -519,6 +519,20 @@
 			}
 			while(list($id_rif,$descrizione,$num_lis) = mysql_fetch_row($res_lis)) {
-				$sel = ($id_rif == $id_lista) ? "selected" : "";
-				echo "<option value=\"$id_rif\" $sel>";
+			$segna='';
+			$result = mysql_query("SELECT sum(t1.voti) from ".$prefix."_ele_voti_candidati as t1 left join ".$prefix."_ele_candidati as t2 on (t1.id_cand=t2.id_cand) where t1.id_sez=$id_sez and t2.id_lista=$id_rif",$dbi);
+			list($votisezcand)=mysql_fetch_row($result);
+			$result = mysql_query("SELECT sum(voti) from ".$prefix."_ele_voti_lista where id_sez='$id_sez' and id_lista='$id_rif'", $dbi);
+			list($votisezlis)=mysql_fetch_row($result);
+			if($votisezcand>$votisezlis)
+				$segna="style=\"background-color: #dd0000;\"";
+
+
+
+
+
+
+
+			$sel = ($id_rif == $id_lista) ? "selected" : "";
+				echo "<option $segna value=\"$id_rif\" $sel>";
 				for ($j=strlen($num_lis);$j<2;$j++) { echo "&nbsp;&nbsp;";}
 				echo $num_lis.") ".substr($descrizione,0,30);
@@ -534,16 +548,25 @@
 		$result = mysql_query("SELECT sum(t1.voti),t2.validi, t2.solo_gruppo,t2.contestati,t2.voti_nulli from ".$prefix."_ele_sezioni as t2 left join ".$prefix.$tab." as t1 on (t1.id_sez=t2.id_sez) where t2.id_sez=$id_sez group by t1.id_sez",$dbi);
 else
-		$result = mysql_query("SELECT sum(t1.voti),t2.validi_lista, t2.solo_gruppo,t2.contestati,t2.voti_nulli from ".$prefix."_ele_sezioni as t2 left join ".$prefix.$tab." as t1 on (t1.id_sez=t2.id_sez) where t2.id_sez=$id_sez group by t1.id_sez",$dbi);
-		list( $voti_sez, $validi2, $sg,$cont2,$vnulli2) = mysql_fetch_row($result);
+		$result = mysql_query("SELECT sum(t1.voti),t2.validi_lista, t2.solo_gruppo,t2.contestati_lista,t2.voti_nulli_lista,t2.bianchi,t2.nulli,t2.contestati,t2.voti_nulli from ".$prefix."_ele_sezioni as t2 left join ".$prefix.$tab." as t1 on (t1.id_sez=t2.id_sez) where t2.id_sez=$id_sez group by t1.id_sez",$dbi);
+		list( $voti_sez, $validi2, $sg,$cont2,$vnulli2,$bia2,$nul2,$con2,$vnul2) = mysql_fetch_row($result);
+		$valista=$validi2;
 		if(!$id_lista or $genere==3){	//controllo di congruenza
 			$res2 = mysql_query("SELECT max(voti_complessivi) FROM ".$prefix."_ele_voti_parziale where id_cons='$id_cons' and id_sez='$id_sez'", $dbi);
 			list($tot) = mysql_fetch_row($res2);
-			if ($validi+$nulli+$bianchi+$contestati+$votinulli+$sg!=$tot and $validi+$sg>0){
-				echo "<table class=\"table-menu\" style=\"width: 50%;\"><tr><td style=\"background-color: rgb(255, 0, 0); text-align: center\"><img src=\"modules/Elezioni/images/alert.gif\" align=\"middle\" alt=\"\"><br><b> "._ATT_VOTANTI." ".$tot." "._NO_TOT_VOTI." ".($validi+$nulli+$bianchi+$contestati+$votinulli+$sg)."</b><br></td></table>";
+			if ($validi2+$vnulli2+$cont2+$sg+$bia2+$nul2+$con2+$vnul2!=$tot and $validi+$sg>0){
+				echo "<table class=\"table-menu\" style=\"width: 50%;\"><tr><td style=\"background-color: rgb(255, 0, 0); color: black; text-align: center\"><img src=\"modules/Elezioni/images/alert.gif\" align=\"middle\" alt=\"\"><br><b> "._ATT_VOTANTI." ".$tot." "._NO_TOT_VOTI." ".($validi2+$vnulli2+$cont2+$sg+$bia2+$nul2+$con2+$vnul2)."</b><br></td></table>";
 			}
 
 			if((($voti_sez)!=$validi2) and ($voti_sez>0)){
-				echo "<table class=\"table-menu\" style=\"width: 50%;\"><tr><td style=\"background-color: rgb(255, 0, 0); align: center\"><img src=\"modules/Elezioni/images/alert.gif\" align=\"middle\" alt=\"\"><br><b> "._ATT_VOTI." ".($voti_sez)." "._NO_VAL_VOTI." ".$validi2."</b><br></td></tr></table>";
-			}
+				echo "<table class=\"table-menu\" style=\"width: 50%;\"><tr><td style=\"background-color: rgb(255, 0, 0); color: black; text-align: center\"><img src=\"modules/Elezioni/images/alert.gif\" align=\"middle\" alt=\"\"><br><b> "._ATT_VOTI." ".($voti_sez)." "._NO_VAL_VOTI." ".$validi2."</b><br></td></tr></table>";
+			}
+		}elseif($genere==5){
+			$result = mysql_query("SELECT sum(t1.voti) from ".$prefix."_ele_voti_candidati as t1 left join ".$prefix."_ele_candidati as t2 on (t1.id_cand=t2.id_cand) where t1.id_sez=$id_sez and t2.id_lista=$id_lista",$dbi);
+			list($votisezcand)=mysql_fetch_row($result);
+			$result = mysql_query("SELECT sum(voti) from ".$prefix."_ele_voti_lista where id_sez='$id_sez' and id_lista='$id_lista'", $dbi);
+			list($votisezlis)=mysql_fetch_row($result);
+			if($votisezcand>$votisezlis)
+				echo "<table class=\"table-menu\" style=\"width: 50%;\"><tr><td style=\"background-color: rgb(255, 0, 0); color: black; text-align: center\"><img src=\"modules/Elezioni/images/alert.gif\" align=\"middle\" alt=\"\"><br/><b> ATTENZIONE!<BR/>I voti di preferenza $votisezcand <br/>superano i voti di lista $votisezlis</b><br></td></tr></table>";
+			
 		}
 
@@ -636,5 +659,6 @@
 		if(!$votog) {
 		   if (($genere==3 OR $genere==5) and (!$id_lista) and ($fascia>$limite)) { //gruppo e liste
-			echo "<tr bgcolor=\"$bgcolor2\"><td></td><td><b>"._SOLO_GRUPPO."</b></td><td align=\"center\"><input type=\"hidden\" name=\"id_sez\" value=\"$id_sez\"><input name=\"sg\" value=\"$sg\" size=\"5\" style=\"text-align:right\"></td></tr>";
+			echo "<tr bgcolor=\"$bgcolor2\"><td></td><td><b>"._VALIDI_LISTA."</b></td><td align=\"center\"><input type=\"hidden\" name=\"id_sez\" value=\"$id_sez\"><input name=\"valista\" value=\"$valista\" size=\"5\" style=\"text-align:right\"></td></tr>";
+			echo "<tr bgcolor=\"$bgcolor2\"><td></td><td><b>"._SOLO_GRUPPO."</b></td><td align=\"center\"><input name=\"sg\" value=\"$sg\" size=\"5\" style=\"text-align:right\"></td></tr>";
 			echo "<tr bgcolor=\"$bgcolor2\"><td></td><td><b>"._NULLI_LISTE."</b></td><td align=\"center\"><input  name=\"votinulli\" value=\"$votinulli\" size=\"5\" style=\"text-align:right\">"
 	."</td></tr><tr bgcolor=\"$bgcolor2\"><td></td><td><b>"._CONTESTATI_LISTE."</b></td><td align=\"center\"><input  name=\"contestati\" value=\"$contestati\" size=\"5\" style=\"text-align:right\"></td></tr>";
@@ -720,6 +744,8 @@
 //		foreach ($arg as $vval) echo $vval." - ";
 	// solo gruppo e preferenze alle liste
+
 	if(!$votog) {
 	   if ((($genere==3) OR ($genere==5)) and !$id_lista and ($fascia>$limite)) {
+			$valista=$arg[$i++]; 
 			$result = mysql_query("update ".$prefix."_ele_sezioni set solo_gruppo='".$arg[$i]."' where id_sez='$id_sez'",$dbi);
 			if ($fileout) fwrite($fp,"update ".$prefix."_ele_sezioni set solo_gruppo='".$arg[$i]."' where id_sez='$id_sez';\n");
@@ -735,5 +761,8 @@
 #					list($val)=mysql_fetch_row($result);
 #					mysql_query("update  ".$prefix."_ele_sezioni set validi_lista='$val' where id_sez='$id_sez'", $dbi);
-					mysql_query("update  ".$prefix."_ele_sezioni set validi_lista=(`validi`+`contestati`+`voti_nulli`-`solo_gruppo`-`voti_nulli_lista`-`contestati_lista`) where id_sez='$id_sez'", $dbi);
+					if($valista) 
+						mysql_query("update  ".$prefix."_ele_sezioni set validi_lista='$valista' where id_sez='$id_sez'", $dbi);
+					else
+						mysql_query("update  ".$prefix."_ele_sezioni set validi_lista=(`validi`-`solo_gruppo`-`voti_nulli_lista`-`contestati_lista`) where id_sez='$id_sez'", $dbi);
 					if ($fileout) fwrite($fp,"update  ".$prefix."_ele_sezioni set validi_lista=(`validi`+`contestati`+`voti_nulli`-`solo_gruppo`-`voti_nulli_lista`-`contestati_lista`) where id_sez='$id_sez';\n");
 				}
@@ -741,4 +770,5 @@
 	   }	
 	}
+
 	
 //	$ops = $arg[$argc];
@@ -952,8 +982,10 @@
     $result = mysql_query("select id_cons,id_sez,validi_lista,nulli,bianchi,contestati_lista,voti_nulli_lista,solo_gruppo,contestati,voti_nulli from ".$prefix."_ele_sezioni where id_cons='$id_cons' and id_sez='$id_sez' ", $dbi);
 else */
-    $result = mysql_query("select id_cons,id_sez,validi,nulli,bianchi,contestati,voti_nulli,'0','0','0' from ".$prefix."_ele_sezioni where id_cons='$id_cons' and id_sez='$id_sez' ", $dbi);
-    list($id_cons2,$id_sez2,$validi, $nulli, $bianchi, $contestati,$votinulli,$sg,$conts,$nullis) = mysql_fetch_row($result);
+    $result = mysql_query("select id_cons,id_sez,validi,nulli,bianchi,contestati,voti_nulli,'0','0','0',solo_lista from ".$prefix."_ele_sezioni where id_cons='$id_cons' and id_sez='$id_sez' ", $dbi);
+    list($id_cons2,$id_sez2,$validi, $nulli, $bianchi, $contestati,$votinulli,$sg,$conts,$nullis,$sololista) = mysql_fetch_row($result);
     $tot_nulli=$nulli+$bianchi+$contestati+$votinulli;
-    $tot_voti=$validi+$tot_nulli+$sg+$conts+$nullis;
+    $tot_voti=$validi+$tot_nulli+$sg+$conts+$nullis+$sololista;
+//	."</td><td><input  name=\"sololista\" value=\"$sololista\" size=\"5\" style=\"text-align:right\">" ---     ."<td><b>"._SOLOLIS."</b></td>"
+
 
 	echo "<tr bgcolor=\"$bgcolor2\" align=\"center\"><td align=\"left\"><input  name=\"validi\" value=\"$validi\" size=\"5\" style=\"text-align:right\">";
@@ -1012,4 +1044,5 @@
 $votinulli = intval($arg[8]);
 $contestati = intval($arg[9]);
+//$sololista = intval($arg[10]);
 $ops = $arg[10];
 $username="$aid";
@@ -1021,6 +1054,8 @@
 list($voti_t) = mysql_fetch_row($result);
    $tot_voti=$validi+$nulli+$bianchi+$contestati+$votinulli;
+$sololista=$voti_t-$tot_voti;
 	$result= mysql_query("select * from ".$prefix."_ele_sezioni where id_cons='$id_cons' and id_sez='$id_sez' ", $dbi);
 	$ar=mysql_fetch_array($result);
+	if ($ar['solo_lista']) $rigasl=''; else $rigasl=", solo_lista='$sololista'";
 #die("qui: if($ops==3 and ($genere==3 or $genere==4 or $genere==5) and $votog){");
 	if($ops==3 and ($genere==3 or $genere==4 or $genere==5) and ($votog or $genere==4)){
@@ -1029,16 +1064,16 @@
 /*		$result = mysql_query("update  ".$prefix."_ele_sezioni set validi='$validi', contestati='$contestati', validi_lista='$validi', nulli='$nulli',bianchi='$bianchi',contestati_lista='$contestati', voti_nulli_lista='$votinulli' where id_cons='$id_cons' and id_sez='$id_sez' ", $dbi);
 		if ($fileout) fwrite($fp,"update  ".$prefix."_ele_sezioni set validi='$validi', contestati='$contestati', validi_lista='$validi', nulli='$nulli',bianchi='$bianchi',contestati_lista='$contestati', voti_nulli_lista='$votinulli' where id_cons='$id_cons' and id_sez='$id_sez';\n"); */
-		$result = mysql_query("update  ".$prefix."_ele_sezioni set validi='$validi', contestati='$contestati', validi_lista='$validi', nulli='$nulli',bianchi='$bianchi',contestati_lista='$contestati', voti_nulli='$votinulli' where id_cons='$id_cons' and id_sez='$id_sez' ", $dbi);
-		if ($fileout) fwrite($fp,"update  ".$prefix."_ele_sezioni set validi='$validi', contestati='$contestati', validi_lista='$validi', nulli='$nulli',bianchi='$bianchi',contestati_lista='$contestati', voti_nulli='$votinulli' where id_cons='$id_cons' and id_sez='$id_sez';\n");
+		$result = mysql_query("update  ".$prefix."_ele_sezioni set validi='$validi', contestati='$contestati', validi_lista='$validi', nulli='$nulli',bianchi='$bianchi',contestati_lista='$contestati', voti_nulli='$votinulli' $rigasl where id_cons='$id_cons' and id_sez='$id_sez' ", $dbi);
+		if ($fileout) fwrite($fp,"update  ".$prefix."_ele_sezioni set validi='$validi', contestati='$contestati', validi_lista='$validi', nulli='$nulli',bianchi='$bianchi',contestati_lista='$contestati', voti_nulli='$votinulli' $rigasl where id_cons='$id_cons' and id_sez='$id_sez';\n");
 	}else{
  	mysql_query("insert into ".$prefix."_ele_log values('$id_cons','$id_sez','$username','$log_data','$orario','validi:$ar[6] nulli:$ar[7] bianchi:$ar[8] contestati:$ar[9] voti_nulli:$ar[13]','validi=$validi, nulli=$nulli,bianchi=$bianchi,contestati=$contestati, voti_nulli=$votinulli','_ele_sezioni')", $dbi);	
 	$valista="";
-	if ($ar['validi_lista']){
-	  $tvalista=$validi+$contestati+$votinulli-$ar['solo_gruppo']-$ar['voti_nulli_lista']-$ar['contestati_lista'];
+	if ($ar['validi_lista']){ 
+	  $tvalista=$validi-$ar['solo_gruppo']-$ar['voti_nulli_lista']-$ar['contestati_lista']+$ar['solo_lista'];
 	  $valista=",validi_lista='$tvalista'";
 	}
 
-		$result = mysql_query("update  ".$prefix."_ele_sezioni set validi='$validi', nulli='$nulli',bianchi='$bianchi',contestati='$contestati',voti_nulli='$votinulli' $valista where id_cons='$id_cons' and id_sez='$id_sez' ", $dbi);
-		if ($fileout) fwrite($fp,"update  ".$prefix."_ele_sezioni set validi='$validi', nulli='$nulli',bianchi='$bianchi',contestati='$contestati',voti_nulli='$votinulli' $valista where id_cons='$id_cons' and id_sez='$id_sez';\n");
+		$result = mysql_query("update  ".$prefix."_ele_sezioni set validi='$validi', nulli='$nulli',bianchi='$bianchi',contestati='$contestati',voti_nulli='$votinulli' $rigasl $valista where id_cons='$id_cons' and id_sez='$id_sez' ", $dbi);
+		if ($fileout) fwrite($fp,"update  ".$prefix."_ele_sezioni set validi='$validi', nulli='$nulli',bianchi='$bianchi',contestati='$contestati',voti_nulli='$votinulli' $rigasl $valista where id_cons='$id_cons' and id_sez='$id_sez';\n");
 	}
 //	}
@@ -1105,6 +1140,6 @@
     	$res = mysql_query("SELECT sum(voti) FROM ".$prefix."_ele_voti_gruppo where id_cons='$id_cons' and id_sez='$id_sez'", $dbi);
        	list($voti_parz) = mysql_fetch_row($res);
-        $res = mysql_query("SELECT validi,nulli,bianchi,contestati,solo_gruppo,voti_nulli FROM ".$prefix."_ele_sezioni where id_cons='$id_cons' and id_sez='$id_sez'", $dbi);
-    	list($validi,$nulli,$bianchi,$contestati,$solo_gruppo,$votinulli) = mysql_fetch_row($res);
+        $res = mysql_query("SELECT validi,nulli,bianchi,contestati,solo_lista,voti_nulli FROM ".$prefix."_ele_sezioni where id_cons='$id_cons' and id_sez='$id_sez'", $dbi);
+    	list($validi,$nulli,$bianchi,$contestati,$solo_lista,$votinulli) = mysql_fetch_row($res);
 		if ($voti_parz!=$validi and $voti_parz>0){
 			echo "<td style=\"background-color: rgb(255, 0, 0); text-align:center\"><img src=\"modules/Elezioni/images/alert.gif\" align=\"middle\" alt=\"\"><br><b> "._ATT_VOTI." ".$voti_parz." "._NO_VAL_VOTI." ".$validi."</b><br></td>";
@@ -1112,5 +1147,5 @@
 		$res2 = mysql_query("SELECT max(voti_complessivi) FROM ".$prefix."_ele_voti_parziale where id_cons='$id_cons' and id_sez='$id_sez'", $dbi);
 		list($tot) = mysql_fetch_row($res2);
-		if ($validi+$nulli+$bianchi+$contestati+$votinulli!=$tot and $validi+$nulli+$bianchi+$contestati+$votinulli>0){
+		if ($validi+$nulli+$bianchi+$contestati+$votinulli+$solo_lista!=$tot and $validi+$nulli+$bianchi+$contestati+$votinulli>0){
 			echo "<td style=\"background-color: rgb(255, 0, 0); text-align:center\"><img src=\"modules/Elezioni/images/alert.gif\" align=\"middle\" alt=\"\"><br><b> "._ATT_VOTANTI." ".$tot." "._NO_TOT_VOTI." ".($validi+$nulli+$bianchi+$contestati+$votinulli)."</b><br></td>";
     	}
@@ -1195,5 +1230,9 @@
    }
 	if ($genere!=0) {
+		$res = mysql_query("SELECT solo_lista FROM ".$prefix."_ele_sezioni where id_sez='$id_sez' ", $dbi);
+		list($sololis)=mysql_fetch_row($res);
 		echo "<tr style=\"background-color: $bgcolor1; text-align:center\"><td></td><td>"._TOTPREF."</td><td>$tot_pref</td></tr>";
+		if(isdisgiunto())
+			echo "<tr style=\"background-color: $bgcolor1; text-align:center\"><td></td><td>"._SOLOLIS."</td><td><input  name=\"sololista\" value=\"".$sololis."\" size=\"7\"  style=\"text-align:right\"></td></tr>";
 	}
 
@@ -1234,4 +1273,6 @@
 	$tab="_ele_voti_gruppo";
 	$y--;
+	$res=mysql_query("update  ".$prefix."_ele_sezioni set solo_lista='".$arg[$y--]."' where id_sez='$id_sez'", $dbi);
+
 }
 
Index: trunk/admin/modules/Elezioni/funzionidata.php
===================================================================
--- trunk/admin/modules/Elezioni/funzionidata.php	(revision 131)
+++ trunk/admin/modules/Elezioni/funzionidata.php	(revision 139)
@@ -91,5 +91,17 @@
         }
 
-	
+function isdisgiunto()
+{
+global $prefix,$dbi,$id_cons,$limite,$fascia,$ops;
+	#voti di lista e di gruppo completamente disgiunti 
+	$result = mysql_query("select infdisgiunto, supdisgiunto from ".$prefix."_ele_conf as t2 left join ".$prefix."_ele_cons_comune as t1 on t1.id_conf=t2.id_conf where id_cons = '$id_cons' ", $dbi);
+	$glsep='';
+	if ($result) {
+		list($infdis,$supdis)=mysql_fetch_row($result);
+		if((($fascia>$limite and $supdis) or ($fascia<$limite and $infdis))) 
+			$glsep='_lista';
+	}
+return $glsep;
+}
 
 ?>
Index: trunk/admin/modules/Elezioni/language/lang-en.php
===================================================================
--- trunk/admin/modules/Elezioni/language/lang-en.php	(revision 131)
+++ trunk/admin/modules/Elezioni/language/lang-en.php	(revision 139)
@@ -127,4 +127,7 @@
 define("_CIRCS","Constituencies");
 }
+define("_DISGIUNTO","One ballot for two separate votes?");
+define("_RIEPILOGO","Totals");
+define("_SOLOLIS","Votes to lists only");
 define("_PROGRAM","Program");
 define("_ELIMINA","DELETE");
Index: trunk/admin/modules/Elezioni/language/lang-it.php
===================================================================
--- trunk/admin/modules/Elezioni/language/lang-it.php	(revision 131)
+++ trunk/admin/modules/Elezioni/language/lang-it.php	(revision 139)
@@ -148,4 +148,8 @@
 define("_CIRCS","Circoscrizioni");
 }
+define("_DISGIUNTO","Unica scheda con voti indipendenti?");
+define("_RIEPILOGO","Scheda di riepilogo");
+define("_SOLOLIS","Voti alle sole liste");
+define("_VALIDI_LISTA","Voti di lista validi");
 define("_SCELTA_LISTA","Devi scegliere una lista.");
 define("_SCELTA_COGNO","Devi inserire il cognome del candidato.");
