Index: trunk/client/modules/Elezioni/consiglieri.php
===================================================================
--- trunk/client/modules/Elezioni/consiglieri.php	(revision 220)
+++ trunk/client/modules/Elezioni/consiglieri.php	(revision 221)
@@ -210,5 +210,5 @@
     {
 $seggimag[$lisvin]=number_format($numcons*($gruppo[$listagruppo[$lisvin]]*100/$validi)/100);
-echo "<br> seggimag:".$seggimag[$lisvin];
+##echo "<br> seggimag:".$seggimag[$lisvin];
 $num_cons=number_format($numcons-$seggimag[$lisvin]);
 #    	$num_cons=$numcons;
@@ -435,10 +435,17 @@
   }
 }   
-###################
+################### carica array ... 25  maggio 2014
+foreach($collegate as $key=>$val){	
+	$res = mysql_query("SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$val' and id_cons='$id_cons'",$dbi);
+		list($tempig)=mysql_fetch_row($res);
+		$res = mysql_query("SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'",$dbi);
+		list($tempng)=mysql_fetch_row($res);
+		$grpinc[$val]=$tempng;
+}
 	$elencog=array();
 	$sindseggiopre=array();
 	foreach($groups as $testk=>$valk) if($testk!=$gruppo) {$elencog[$testk]=$valk;}
 	$testseggio=calcoloseggi($elencog,floor($numcons*(100-$suppremio)/100),0);
-	foreach($testseggio as $testk=>$valk) if($valk) {$sindseggiopre[]=$testk;}
+	foreach($testseggio as $testk=>$valk) {if($valk) $sindseggiopre[]=$testk; }
 #foreach ($gruppomin as $key=>$val) {if (($numcons*60/100)<$val) $nopremio=0;if($key!=$gruppo){echo "<br>gruppomin: $key -- $val";}}
 ##################
@@ -486,4 +493,5 @@
 $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
@@ -502,11 +510,21 @@
 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";}}
+##################
 ################### 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;}
-	$testseggio=calcoloseggi($elencog,floor($numcons*(100-$suppremio)/100),0);
-	foreach($sindseggiopre as $testk=>$valk) {if(!$testseggio[$valk]) $sindseggio[$valk]=$valk;}
+	foreach($groups as $testk=>$valk) {if($testk!=$gruppo) $elencog[$testk]=$valk;}
+	$perdente[$gruppoperd]=$groups[$gruppoperd];
+	$testseggio=calcoloseggi($perdente,floor($numcons*($suppremio)/100),0);
+#	foreach($testseggio as $testk=>$valk) echo "<br>testgruppo: $valk - $testk - $gruppoperd";
+	foreach($sindseggiopre as $testk=>$valk){ if(!$testseggio[$valk]) $sindseggio[$valk]=$valk;}
 ########### 
     $sindaco[$gruppo]=$groups[$gruppo]; $groups[$gruppo]=0;
@@ -532,44 +550,63 @@
 		$percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)";
 		$z++;
-	}
+##	}
 	$seggimag=array();
-	$x=0;
+	$x=0;#foreach($listemag as $kkk=>$vvv) echo "<br> listemag: $kkk - $vvv - $grp - $gruppo -val=$val";
 #####25 maggio 2014 - il candidato sindaco non eletto ha diritto al seggio anche se di maggioranza
 ### individua ultimi seggi assegnati a liste collegate
-	$listdec =array();
-	$seggitmp=calcoloseggi($listemag,$val,1);
-	foreach ($seggitmp as $keyl=>$vall){ #echo "<br>sindseggio: $key - $val";
+if($grp==$gruppo){
+	$listdec =array(); 
+	$seggitmp=calcoloseggi($listemag,$val,1); ## foreach ($grpinc as $keyl=>$vall) echo "<br> seggi: $keyl - $vall";
+	foreach ($seggitmp as $keyl=>$vall){#echo "<br> lista: $vall - $keyl - $grp - $gruppo";
+	if($vall==0) continue; 
 #	foreach ($sindseggio as $key=>$val){
-		if (in_array($keyl,$collegate) and ! isset($tempo[$keyl])) $tempo[$keyl]=number_format($quozienti[$keyl][$vall-1],2);
-#		echo "<br>lista:$key";
+#		if (in_array($keyl,$collegate) and ! isset($tempo[$keyl])) $tempo[$keyl]=number_format($quozienti[$keyl][$vall-1],2);
+
 		$res = mysql_query("SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$keyl' and id_cons='$id_cons'",$dbi);
 		list($tempig)=mysql_fetch_row($res);
 		$res = mysql_query("SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'",$dbi);
-		list($tempng)=mysql_fetch_row($res);
-		if (in_array($tempng,$sindseggio)) $listdec[]=$keyl;
-}
-
-		/*		while(){
+		list($tempng)=mysql_fetch_row($res); 
+		if (in_array($tempng,$grpinc)) {$listdec[$tempng][]=$keyl;}
+} 
+}
+}		/*		while(){
 			if(isset($tempo[$tempnl])) echo "<br> tempnl: $tempnl -- key:$key".$tempo[$key];
 		}
 */
 ##########
-	$seggimag=calcoloseggi($listemag,$val,1);
-
-	foreach ($seggimag as $key=>$val){
-	## condizione per esclusione di un seggio da destinare al sindaco non eletto
-		if(in_array($key,$listdec)) $val--;
+#echo "<br> key: $key2 - $val2";
+	$seggimag=calcoloseggi($listemag,$val,1);#foreach ($grpinc as $keyl=>$vall) 
+
+####cerca ultimo seggio assegnato per gruppo di liste collegate al primo turno
+	foreach ($seggimag as $key2=>$val2){ if($val2==0) continue;
+#	echo "<br>quozienti - $key2:".$quozienti[$key2][($val2)];
+	if(!isset($ultquoz[($grpinc[$key2])]) and $grpinc[$key2]) {$ultquoz[($grpinc[$key2])]=$quozienti[$key2][($val2-1)];$lastlist[($grpinc[$key2])]=$key2;}
+	elseif ($ultquoz[($grpinc[$key2])]>$quozienti[$key2][($val2-1)]) {$ultquoz[($grpinc[$key2])]=$quozienti[$key2][($val2-1)];$lastlist[($grpinc[$key2])]=$key2;}
+	#	if(in_array($key,$listdec)) $val--;
+} #foreach($lastlist as $keyl=>$vall) echo "<br> seggi: $keyl - $vall";
+	#####
+	foreach ($seggimag as $key2=>$val2){
+	## condizione per esclusione di un seggio da destinare al sindaco non eletto    in_array($key2,$lastlist)
+		foreach($lastlist as $key3=>$val3){
+		if($key2==$val3) { 
+			$arappo=array_shift($arvin[$key2]);
+			foreach($listdec as $kk=>$vv) {foreach($vv as $vvk=>$vvv) if ($vvv==$key2) $tmpgrp=$kk; }
+			if($tmpgrp){
+			array_unshift($arvin[$key2],$desgruppi[$tmpgrp]); array_unshift($arvin[$key2],$arappo);array_unshift($cifra[$key2],"--");array_unshift($cifra[$key2],"--");
+			} 
+			}}
+		#$val--;
 	## fine condizione - impostare variabile in db per differenziare il comportamento per consultazioni diverse
-		for ($z=0;$z<$val;$z++){ 
-			if ($z) $consel[]=array("","","",$arvin[$key][($z+1)],$cifra[$key][($z+1)],number_format($quozienti[$key][$z],2));
+		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[$key][0],$percliste[$key],$val,$arvin[$key][($z+1)],$cifra[$key][($z+1)],number_format($quozienti[$key][$z],2));
-			$arlisdesv[]=$arvin[$key][0];$arlissegv[]=$val;$arlisnumv[]=$key;
+			$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($val)
-	$consel[]=array($arvin[$key][0],"$PNE","",$arvin[$key][($z+1)],$cifra[$key][($z+1)],number_format($quozienti[$key][$z],2));
+	if($val2)
+	$consel[]=array($arvin[$key2][0],"$PNE","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
 	}
 }
@@ -724,8 +761,4 @@
 		}
 	}
-#### condizione di aggiunta candidato sindaco non eletto in elenco consiglieri	
-	foreach($sindseggio as $key=>$val) 	if ($consin) {$conselsin[]=array("$CSEC",$desgruppi[$key]); $arcansin[]=$desgruppi[$key];}
-####
-
 	
 	if (isset($conselsin)) foreach($conselsin as $key=>$val) 
