source: trunk/client/modules/Elezioni/consiglieri.php@ 371

Last change on this file since 371 was 371, checked in by roby, 21 months ago

In client:

  • rivista la funzione di esportazione pdf, xls e stampe
  • tema futura2: eliminato il taglio a 30 caratteri del nome della consultazione
  • modificata la barra da 2D a 3D per i grafici di affluenza e votanti

In admin:

  • corretta la segnalazione di errore per rosatellum su incongruità di voti al solo gruppo diversi dalla somma dei viti alle liste collegate
  • inserito check box per eliminazione del file della mappa nella riga di inserimento sede
File size: 37.4 KB
Line 
1<?php
2/************************************************************************/
3/* Eleonline - Raccolta e diffusione dei dati elettorali */
4/* by Roberto Gigli & Luciano Apolito */
5/* http://www.eleonline.it */
6/* info@eleonline.it luciano@aniene.net rgigli@libero.it */
7/************************************************************************/
8/* Modulo previsione seggi */
9/* Amministrazione */
10/************************************************************************/
11if (!defined('MODULE_FILE')) {
12 die ("You can't access this file directly...");
13}
14# controllo
15if ($hondt<=0){ Header("Location: index.php");
16 die();
17}
18$param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
19if (isset($param['gruppo'])) $gruppo=intval($param['gruppo']); else $gruppo='';
20if (isset($param['numgruppo'])) $numgruppo=intval($param['numgruppo']); else $numgruppo='';
21if (isset($param['listecol'])) $listecol=intval($param['listecol']); else $listecol=0;
22$sql = "select id_conf,id_fascia from ".$prefix."_ele_cons_comune where id_cons='$id_cons'";
23$result = $dbi->prepare("$sql");
24$result->execute();
25list($id_conf,$fascia) = $result->fetch(PDO::FETCH_NUM);
26$sql = "SELECT limite,consin,infpremio,supsbarramento,suppremio,listinfsbar,listinfconta,listsupconta,supminpremio,infminpremio from ".$prefix."_ele_conf where id_conf='$id_conf'";
27$res = $dbi->prepare("$sql");
28$res->execute();
29list($limite,$consin,$infpremio,$supsbarramento,$suppremio,$listinfsbar,$listinfconta,$listsupconta,$supminpremio,$infminpremio) = $res->fetch(PDO::FETCH_NUM);
30$numcons=0;
31echo "<table><tr><td align=\"center\">"._PROIEZCONS."</td></tr></table>";
32
33
34function consiglio(){
35global $param,$id_cons_gen, $dbi, $prefix, $id_comune, $gruppo, $numgruppo, $listecol, $id_comune, $limite,$numcons,$id_conf,$fascia,$id_cons;
36$collegate= array();
37$collperd= array();
38$x=1;
39$primoturno=0;
40while (isset($param['num_lista'.$x])) {
41 if ($param['num_lista'.$x]==$gruppo) array_push($collegate,$_SESSION['num_lista'.$x]);
42# elseif ($param['num_lista'.$x]!=0) array_push($collperd,$_SESSION['num_lista'.$x]);
43 $x++;
44}
45$sql = "SELECT t1.tipo_cons,t2.id_cons,t2.id_fascia,t2.id_conf 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'";
46$res = $dbi->prepare("$sql");
47$res->execute();
48
49if ($res->rowCount()){
50 list($tipo_cons,$id_cons,$fascia,$conf) = $res->fetch(PDO::FETCH_NUM);
51 $sql = "select capoluogo from ".$prefix."_ele_comuni where id_comune='$id_comune'";
52$result = $dbi->prepare("$sql");
53$result->execute();
54
55 list($capoluogo) = $result->fetch(PDO::FETCH_NUM);
56 $sql = "select fascia_capoluogo from ".$prefix."_ele_conf where id_conf='$conf'";
57$result = $dbi->prepare("$sql");
58$result->execute();
59
60 list($fascia2) = $result->fetch(PDO::FETCH_NUM);
61 if($fascia<$fascia2 and $capoluogo) $fascia=$fascia2;
62
63 $sql = "SELECT seggi from ".$prefix."_ele_fasce where id_fascia='$fascia' and id_conf=$id_conf";
64$result = $dbi->prepare("$sql");
65$result->execute();
66
67 list($numcons) = $result->fetch(PDO::FETCH_NUM);
68$sql = "SELECT id_cand, sum(voti) from ".$prefix."_ele_voti_candidati where id_cons='$id_cons' group by id_cand";
69$res_val = $dbi->prepare("$sql");
70$res_val->execute();
71
72$num_cons= $res_val->rowCount();
73if ($num_cons<$numcons){
74 echo "Il numero di candidati al consiglio inseriti con preferenza ($num_cons) e' inferiore al numero di seggi previsti ($numcons). Non e' possibile procedere con il calcolo";
75 include("footer.php");
76 die();
77}
78 if (!$gruppo){
79 $sql = "SELECT sum(validi) from ".$prefix."_ele_sezioni where id_cons='$id_cons'";
80$res_val = $dbi->prepare("$sql");
81$res_val->execute();
82
83 list($validi) = $res_val->fetch(PDO::FETCH_NUM);
84 $sql = "SELECT t1.num_gruppo,sum(t2.voti) as voti from ".$prefix."_ele_gruppo as t1, ".$prefix."_ele_voti_gruppo as t2 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo group by t1.num_gruppo order by voti desc limit 0,2";
85$res_lis = $dbi->prepare("$sql");
86$res_lis->execute();
87
88 $test=0;$flag=0;
89 while (list($num_gruppo,$voti)= $res_lis->fetch(PDO::FETCH_NUM)){
90 if ($voti>($validi/2)) {$gruppo=$num_gruppo;$primoturno=1;}
91 if ($voti==$test) $flag=1; else $test=$voti;
92 }
93 }
94 if ($fascia<=$limite){
95 $sql = "SELECT t1.num_gruppo,sum(t2.voti) as voti from ".$prefix."_ele_gruppo as t1, ".$prefix."_ele_voti_gruppo as t2 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo group by t1.num_gruppo order by voti desc limit 0,2";
96 $res_lis = $dbi->prepare("$sql");
97 $res_lis->execute();
98 if($res_lis->rowCount()==1)
99 {
100 list($num_gruppo1,$voti1)= $res_lis->fetch(PDO::FETCH_NUM);
101 $voti2=0;
102 $sql = "SELECT sum(maschi+femmine) from ".$prefix."_ele_sezioni where id_cons='$id_cons'";
103 $res_val = $dbi->prepare("$sql");
104 $res_val->execute();
105 list($elettori)=$res_val->fetch(PDO::FETCH_NUM);
106 $sql = "select sum(voti_complessivi) from ".$prefix."_ele_voti_parziale where id_cons='$id_cons' group by data,orario order by data desc, orario desc limit 0,1";
107 $res_val = $dbi->prepare("$sql");
108 $res_val->execute();
109 list($votanti)=$res_val->fetch(PDO::FETCH_NUM);
110 if($votanti<($elettori/2) || $voti1<($votanti/2))
111 {
112 include(ele.php);
113 echo "<div>Non Ú possibile assegnare i seggi, la consultazione Ú nulla</div>";
114 include(footer.php);
115 die();
116 }
117 }else{
118 list($num_gruppo1,$voti1)= $res_lis->fetch(PDO::FETCH_NUM);
119 list($num_gruppo2,$voti2)= $res_lis->fetch(PDO::FETCH_NUM);
120 }
121 if ($voti1>$voti2)
122 $numgruppo=$num_gruppo1;
123 }
124 if ($fascia<=$limite and $numgruppo) consmin($fascia,$numgruppo);
125 elseif ($gruppo>0) conssup($fascia,$gruppo,$collegate,$collperd,$primoturno);
126 elseif ($numgruppo>0){
127 $sqllis = "SELECT t1.id_lista,t1.num_lista,t1.descrizione,t1.id_gruppo from ".$prefix."_ele_lista as t1, ".$prefix."_ele_gruppo as t2 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t2.num_gruppo not in (".$_SESSION['ballo1'].",".$_SESSION['ballo2'].")";
128$res_lis = $dbi->prepare("$sqllis");
129$res_lis->execute();
130
131 $yy=$res_lis->rowCount();
132 $sql = "select sum(voti) from ".$prefix."_ele_voti_lista where id_cons='$id_cons'";
133$res_voti = $dbi->prepare("$sql");
134$res_voti->execute();
135
136 list($validilista) = $res_voti->fetch(PDO::FETCH_NUM);
137 if ($yy){
138while(list($id_lista,$num_lista,$descr,$pgrup) = $res_lis->fetch(PDO::FETCH_NUM)) {
139 $sql = "select sum(voti) from ".$prefix."_ele_voti_lista where id_lista='$id_lista'";
140$res_voti = $dbi->prepare("$sql");
141$res_voti->execute();
142
143 list($votilista) = $res_voti->fetch(PDO::FETCH_NUM);
144 if(!isset($voti[$pgrup])) $voti[$pgrup]=0;
145 $voti[$pgrup]+=$votilista;
146}
147 foreach ($voti as $key=>$val){if($val<($validilista*3/100)) unset($voti[$key]);} ##################################################
148 $res_lis = $dbi->prepare("$sqllis");
149 $res_lis->execute();
150 echo "<br/>";
151 echo "<form id=\"gruppo\" action=\"modules.php\">";
152 echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"1\"><tr class=\"bggray\"><td colspan=\"4\">"._COLLEGAMENTI."</td></tr><tr class=\"bggray\"><td>";
153 echo "<input type=\"hidden\" name=\"op\" value=\"consiglieri\"/>";
154 echo "<input type=\"hidden\" name=\"id_cons_gen\" value=\"$id_cons_gen\"/>";
155 echo "<input type=\"hidden\" name=\"id_comune\" value=\"$id_comune\"/></td>";
156
157echo "<td><b>".$_SESSION['grp1']."</b></td>";
158 echo "<td><b>".$_SESSION['grp2']."</b></td>";
159 echo "<td><b>"._NONCOLLE."</b></td></tr>";
160
161 $z=1;
162 while(list($id_lista,$num_lista,$descr,$pgrup) = $res_lis->fetch(PDO::FETCH_NUM)) {
163 if(!isset($voti[$pgrup])) continue;
164 $x=$_SESSION['ballo1'];
165 echo "<tr><td>$descr</td><td><input type=\"radio\" name=\"num_lista$z\" value=\"$x\"/></td>";
166 $x=$_SESSION['ballo2'];
167 $_SESSION['num_lista'.$z]=$num_lista;
168 echo "<td><input type=\"radio\" name=\"num_lista$z\" value=\"$x\"/></td>";
169 echo "<td><input type=\"radio\" name=\"num_lista$z\" value=\"0\" checked=\"checked\"/></td></tr>";
170 $z++;
171 }
172
173 echo "<tr><td colspan=\"4\"><input type=\"hidden\" name=\"listecol\" value=\"$x\"/><input type=\"hidden\" name=\"gruppo\" value=\"$numgruppo\"/>";
174 echo "<input type=\"submit\" name=\"invia\" value=\""._OK."\"/></td></tr></table></form>";
175 }else conssup($fascia,$numgruppo,$collegate,$collperd,$primoturno);
176 }else {
177 echo "<br/>";
178 echo "<form id=\"numgruppo\" action=\"modules.php\">";
179 echo "<table><tr class=\"bggray\"><td>"._SCELTASIN.":</td><td align=\"left\">";
180 echo "<input type=\"hidden\" name=\"op\" value=\"consiglieri\"/>";
181 echo "<input type=\"hidden\" name=\"id_cons_gen\" value=\"$id_cons_gen\"/>";
182 echo "<input type=\"hidden\" name=\"id_comune\" value=\"$id_comune\"/>";
183 $sql = "SELECT t1.id_gruppo,t1.num_gruppo,t1.descrizione, sum(t2.voti) as pref FROM ".$prefix."_ele_gruppo as t1, ".$prefix."_ele_voti_gruppo as t2 where t1.id_gruppo=t2.id_gruppo and t1.id_cons='$id_cons' group by t1.id_gruppo,t1.num_gruppo,t1.descrizione order by pref desc limit 0,2";
184$res = $dbi->prepare("$sql");
185$res->execute();
186
187 while(list($id_gruppo,$num_gruppo, $descr_gruppo,$pref) = $res->fetch(PDO::FETCH_NUM)) {
188 if (!isset($_SESSION['ballo1'])) {
189 $_SESSION['ballo1']=$num_gruppo;
190 $_SESSION['grp1']=$descr_gruppo;
191 $_SESSION['idgrp1']=$id_gruppo;
192 }else{
193 $_SESSION['ballo2']=$num_gruppo;
194 $_SESSION['grp2']=$descr_gruppo;
195 $_SESSION['idgrp2']=$id_gruppo;
196 }
197 echo "<input type=\"radio\" name=\"numgruppo\" value=\"$num_gruppo\"/>$descr_gruppo<br/>";
198 }
199 echo "</td>";
200 echo "<td><input type=\"submit\" name=\"invia\" value=\""._OK."\"/></td></tr></table></form>";
201
202 }
203 }
204}
205
206function consmin($fascia,$grp) {
207global $id_cons, $prefix,$dbi,$num_candlst,$quozienti,$PNE,$CSEC,$consin,$numcons;
208global $infpremio,$fisso,$sincons, $votol;
209if (!isset($fisso)) $fisso=0; #se fisso=1 il premio di maggioranza Ú fisso
210if (isset($votol)) {$votolista=$votol; $fisso=$votol;} #se votolista=1 c'e' voto di lista
211if (!isset($sincons)) $sincons=0; #se sincons=1 il sindaco eletto occupa un posto di consigliere
212$sql="SELECT t1.num_gruppo,sum(t2.voti) as voti from ".$prefix."_ele_gruppo as t1, ".$prefix."_ele_voti_gruppo as t2 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo group by t1.num_gruppo order by voti desc limit 0,2";
213$res = $dbi->prepare("$sql");
214$res->execute();
215$numgruppi=$res->rowCount();
216$PNE=_PRIMONON;
217$CSEC=_SINDCONS;
218$sorteggio=0;
219$num_candlst=array();
220#funzione di calcolo per comuni fino a 15.000 abitanti (più esattamente fino al valore di $limite)
221
222if ($sincons) $numcons--;
223#$numcons--;
224$consel=array();
225$conselcsne=array();
226$conselmin=array();
227//$consel[]=array("Lista","Voti","Seggi","Nominativo","Cifra Elettorale","Quoziente");
228$consel[]=array(_LISTA,_VOTI,_SEGGI,_CANDIDATO,_CIFRAELE,_QUOZIENTI);
229#carica numero di liste e voti, i voti sono quelli del gruppo se non c'e' voto di lista
230if($votolista=='0')
231 $sql = "SELECT sum(validi) from ".$prefix."_ele_sezioni where id_cons='$id_cons'";
232else
233 $sql = "SELECT sum(voti) from ".$prefix."_ele_voti_lista where id_cons='$id_cons'";
234$res_val = $dbi->prepare("$sql");
235$res_val->execute();
236
237list($validi) = $res_val->fetch(PDO::FETCH_NUM);
238#se votolista==1, Ú abilitato il voto di lista ed Ú quello su cui si calcola l'assegnazione dei seggi
239if ($fisso==1){
240 #seleziona il sindaco
241$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_gruppo as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t1.id_gruppo=t3.id_gruppo group by t1.descrizione, t1.num_gruppo,t2.num_lista,t2.descrizione order by voti desc limit 0,1";
242$res_per = $dbi->prepare("$sql");
243$res_per->execute();
244
245 list($descr,$num_gruppo,$id_lista1,$num_lista,$descr_lista,$voti)= $res_per->fetch(PDO::FETCH_NUM);
246$sql = "SELECT t2.id_lista, sum(t2.voti) as voti from ".$prefix."_ele_voti_lista as t2 where t2.id_cons='$id_cons' and t2.id_lista!='$id_lista1' group by t2.id_lista order by voti desc limit 0,1";
247$res_per = $dbi->prepare("$sql");
248$res_per->execute();
249
250 list($id_lista2,$voti)= $res_per->fetch(PDO::FETCH_NUM);
251 #e la lista di minoranza
252 $ordine= $id_lista1>$id_lista2 ? "desc":"";
253$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 (t2.id_lista='$id_lista1' or t2.id_lista='$id_lista2') 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 t2.id_lista $ordine";
254$res_per = $dbi->prepare("$sql");
255$res_per->execute();
256
257 }else{
258$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_gruppo as t3 where t1.id_cons='$id_cons' and t1.id_gruppo=t2.id_gruppo and t1.id_gruppo=t3.id_gruppo group by t1.descrizione,t1.num_gruppo,t2.id_lista,t2.num_lista,t2.descrizione order by voti desc";
259$res_per = $dbi->prepare("$sql");
260$res_per->execute();
261
262}
263$groups=array();
264$seggimag=array();
265$premio=0;
266$x=0;
267#carica l'array dei gruppi e della cifra di gruppo
268while (list($descr,$num_gruppo,$id_lista,$num_lista,$descr_lista,$voti)= $res_per->fetch(PDO::FETCH_NUM)){
269 $desgruppi[$num_gruppo]=$descr;
270 $desliste[$num_lista]=$num_lista.") ".$descr_lista;
271 $idlst[$num_lista]=$id_lista;
272 $listagruppo[$num_lista]=$num_gruppo;
273 $lists[$num_lista]=$voti;
274 if ($grp){
275 if ($grp!=$num_gruppo) {$groups[($num_gruppo)]=$voti;$listemin[$num_lista]=$voti;}
276 else {$gruppo[($num_gruppo)]=$voti;$listemag[$num_lista]=$voti;$lisvin=$num_lista;}
277 }else{
278 if ($x) {$groups[($num_gruppo)]=$voti;$listemin[$num_lista]=$voti;}
279 else {$gruppo[($num_gruppo)]=$voti;$listemag[$num_lista]=$voti;$lisvin=$num_lista;}
280 }
281 $x++;
282 }#controllo del premio di maggioranza
283// if ($gruppo[$listagruppo[$lisvin]]>($validi*2/3))
284 if($numgruppi==1) $fisso=1;
285 if ($gruppo[$listagruppo[$lisvin]]>($validi*$infpremio/100) and $fisso==1)
286 {
287$seggimag[$lisvin]=number_format($numcons*($gruppo[$listagruppo[$lisvin]]*100/$validi)/100);
288##echo "<br> seggimag:".$seggimag[$lisvin];
289$num_cons=number_format($numcons-$seggimag[$lisvin]);
290# $num_cons=$numcons;
291 } else {
292// $seggimag[$lisvin]=number_format($numcons*2/3);
293// $num_cons=number_format($numcons/3);
294 $seggimag[$lisvin]=number_format($numcons*$infpremio/100);
295 $num_cons=number_format($numcons-$seggimag[$lisvin]);
296 }
297 foreach ($listagruppo as $lista=>$val){
298 $id_lista=$idlst[$lista];
299 $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,descr";
300$res_can = $dbi->prepare("$sql");
301$res_can->execute();
302
303
304 $num_candlst[$lista]=$res_can->rowCount();
305 $pos=0;
306 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)){
307 if(!isset($lists[$lista])) $lists[$lista]=0;
308 $cifra[$lista][$pos]=$lists[$lista]+$pre;
309 $arvin[$lista][$pos++]=$cand;
310 }
311 }
312 if ($num_candlst[$lisvin]<$seggimag[$lisvin]) {
313 $num_cons+=$seggimag[$lisvin]-$num_candlst[$lisvin];
314 $seggimag[$lisvin]=$num_candlst[$lisvin];
315 }
316 if (isset($gruppo[$listagruppo[$lisvin]])) $seggimag=calcoloseggi($listemag,$seggimag[$lisvin],1);
317 if(isset($mex))
318 echo "$mex";
319 foreach ($seggimag as $lista=>$val)
320 for ($z=0;$z<$val;$z++){
321 if ($z) $consel[]=array("","","",$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista][$z],2));
322 else $consel[]=array($desliste[$lista],$lists[$lista],$val,$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista][$z],2));
323 }
324 if($arvin[$lista][($z)]) $consel[]=array($desliste[$lista],"$PNE","",$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista][$z],2));
325 $seggimin=array();
326 $seggimin=calcoloseggi($listemin,$num_cons,1);
327 foreach ($seggimin as $lista=>$val){
328 if ($consin and $val>0){
329 $conselcsne[]=array("$CSEC","","",$desgruppi[$listagruppo[$lista]],"","");
330 $val--;
331 }
332 for ($z=0;$z<$val;$z++){
333 if ($z) $conselmin[]=array("","","",$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista][$z],2));
334 else $conselmin[]=array($desliste[$lista],$lists[$lista],$val,$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista][$z],2));
335 }
336 if($arvin[$lista][($z)]) $conselmin[]=array($desliste[$lista],"$PNE","",$arvin[$lista][($z)],$cifra[$lista][($z)],number_format($quozienti[$lista][$z],2));
337 }
338 foreach($conselcsne as $key=>$val)
339 {
340 $consel[]=array($val[0],$val[3]);
341 }
342 foreach($conselmin as $key=>$val)
343 {
344 $consel[]=array($val[0],$val[1],$val[2],$val[3],$val[4],$val[5]);
345 }
346
347
348
349 echo "<table summary=\"Tabella dei consiglieri eletti\" class=\"table-docs\" cellspacing=\"0\" cellpadding=\"2\" border=\"1\" rules=\"all\">";
350 echo "<tr class=\"bggray\"><td scope=\"row\">";
351 echo _SINDACO.": ".$desgruppi[$listagruppo[$lisvin]]."</td></tr></table>";
352 stampalista($consel);
353
354
355}
356
357function calcoloseggi($gruppi,$num_cons,$flag){
358global $ultimo,$mex,$sorteggio,$quozienti,$num_cand,$num_candlst;
359
360#carica le preferenze
361$pref = array();
362$ultimo=0;
363$mex='';
364$sorteggio=0;
365$eletti = array();
366$ele = array();
367$quozienti = array();
368$num_quoz= $num_cons;
369#inizializza l'array degli eletti
370foreach ($gruppi as $x=>$val){
371 $eletti[$x]=0;
372 }
373#carica gli array dei quozienti
374foreach($gruppi as $y=>$tmp){
375
376 if($flag) $num_quoz= $num_cons<$num_candlst[$y] ? $num_cons:$num_candlst[$y];
377 if(!isset($ele[$y][0])) $ele[$y][0]=0;
378 for ($x=0;$x<=$num_quoz;$x++){
379 $ele[$y][$x]= $tmp/($x+1);
380 $quozienti[$y][$x]= $tmp/($x+1); ###echo "<br>[$y][$x]=".$tmp/($x+1);
381 }
382}
383#estrae i quozienti piu' alti
384for ($y=0;$y<$num_cons;$y++){
385 $temp=0;
386 $cand=0;
387 if(! isset($pref['0'])) $pref['0']='';
388 if(! isset($pref['1'])) $pref['1']='';
389 foreach($gruppi as $x=>$tmp){
390 if(!isset($ele[$x][0])) $ele[$x][0]=0;
391 if(!isset($pref[$x])) $pref[$x]=0;
392 if ($ele[$x][0]==$temp and $pref[$x]==$pref[$cand] and ($y+1)==$num_cons) {$sorteggio=1; $mex="Per attribuire l'ultimo seggio Ú necessario un sorteggio tra la lista n. ".($x+1)." e la lista n. ".($cand+1);}
393 if ($ele[$x][0]>$temp or ($ele[$x][0]==$temp and $pref[$x]>$pref[$cand])) {
394 $temp=$ele[$x][0];
395 $cand=$x;
396 $sorteggio=0;$mex='';
397 }
398 }
399 if (!$sorteggio and $cand){
400 $eletti[$cand]++;
401 $ultimo=$cand;
402 array_shift($ele[$cand]);
403 }
404}
405return ($eletti);
406}
407
408function stampalista($ar) {
409global $PNE,$CSEC;
410$cmin=_SEGGIMIN;
411$csin="";
412 $bg='bgw';
413
414 $tmpbg='bggray2';
415 $tmpbg1='bgw';
416 $tmpbg2='bggray';
417 $tmpbg3='bggray2';
418 $fmin=2;
419 echo "<table summary=\"Tabella dei consiglieri eletti\" class=\"table-docs\" cellspacing=\"0\" cellpadding=\"2\" border=\"1\" rules=\"all\">";
420 $y=1;$i='';$e=0;
421 foreach ($ar as $riga) {
422 $e++;
423 if($riga[0]==$CSEC and $fmin==2)
424 {
425 { $fmin=1;
426 echo "</table>";
427 echo "<table summary=\"Tabella dei candidati sindaco eletti consigliere\" class=\"table-docs\" cellspacing=\"0\" cellpadding=\"2\" border=\"1\" rules=\"all\">";
428 echo "<tr class=\"bggray\"><td scope=\"row\" colspan=\"3\"><b>";
429 echo $csin;
430 echo "</b></td></tr>";
431 echo "<tr class=\"bggray\"><td scope=\"row\"><b>"._CANDIDATO."</b></td><td scope=\"row\"><b>"._NOMINATIVO."</b></td></tr>";
432 }
433 }
434 if($riga[0]!=$CSEC and $fmin==1)
435 { $fmin=0;
436 echo "</table>";
437 echo "<table summary=\"Tabella dei consiglieri di minoranza\" class=\"table-docs\" cellspacing=\"0\" cellpadding=\"2\" border=\"1\" rules=\"all\">";
438 echo "<tr class=\"bggray\"><td scope=\"row\" colspan=\"6\"><b>";
439 echo $cmin;
440 echo "</b></td></tr>";
441 echo "<tr class=\"bggray\"><td scope=\"row\"><b>"._LISTA."</b></td><td scope=\"row\"><b>"._VOTI."</b></td><td scope=\"row\"><b>"._SEGGI."</b></td><td scope=\"row\"><b>"._NOMINATIVO."</b></td><td scope=\"row\"><b>"._CIFRAELE."</b></td><td scope=\"row\"><b>"._QUOZIENTI."</b></td></tr>";
442 }
443 if($riga[1]==$PNE) echo "<tr class=\"red\">";
444 else{
445 $bg= ($riga[1]) ? $tmpbg3:$tmpbg1;
446 if($y) {
447 echo "<tr class=\"bggray\">";
448 }else{
449 echo "<tr class=\"$bg\">";
450 }
451 }
452 foreach ($riga as $cella) {
453 if ($e==1){
454 $t="<th scope=\"colgroup\"";$f="</th>";
455 }else{
456 $t="<td scope=\"row\"";$f="</td>";
457 }
458 echo "$t $i align=\"left\">$cella $f";
459 $i='';
460
461 }
462 if ($y) $y=0;
463 echo "</tr>";
464 }
465 echo "</table>";
466
467}
468
469function conssup($fascia,$gruppo,$collegate,$collperd,$primoturno) {
470 global $id_cons, $id_cons_gen, $id_comune, $prefix,$dbi;
471 global $groups,$lists,$eletti,$ultimo,$quozienti,$num_candlst,$mex,$PNE,$CSEC,$consin;
472 global $supsbarramento, $supminpremio, $suppremio;
473 global $listsupconta,$numcons;
474 #funzione di calcolo per comuni oltre 15.000 abitanti
475 #carica il numero di consiglieri da eleggere$groups=array();
476 $PNE=_PRIMONON;
477 $CSEC=_SINDCONS;
478 $lists=array();
479 $eletti=array();
480 $num_candlst=array();
481 #$quozienti = array();
482 $oldlists=array();
483 $oldlstgrp=array();
484 $premio=0;
485 /* "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)
486 */
487
488 if (!isset($_SESSION['ballo1'])) $_SESSION['ballo1']='';
489 if (!isset($_SESSION['ballo2'])) $_SESSION['ballo2']='';
490 $gruppoperd= ($gruppo==$_SESSION['ballo1']) ? $_SESSION['ballo2'] : $_SESSION['ballo1'];
491
492 #per voti validi non si intendono i voti validi alle liste ma i voti validi espressi
493 #$res_val = mysql_query("SELECT sum(validi_lista) from ".$prefix."_ele_sezioni where id_cons='$id_cons'",$dbi);
494 $sql = "SELECT sum(voti) from ".$prefix."_ele_voti_gruppo where id_cons='$id_cons'";
495 $res_val = $dbi->prepare("$sql");
496 $res_val->execute();
497
498 list($validi) = $res_val->fetch(PDO::FETCH_NUM);
499
500 $sbarra=($validi*$supsbarramento)/100;
501 $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.id_lista,t2.num_lista,t2.descrizione order by voti desc";
502 $res_per = $dbi->prepare("$sql");
503 $res_per->execute();
504
505 $groups=array();
506 $premio=0;
507 //10-05-2009 gestione differenziata delle norme elettorali
508 #carica l'array dei gruppi e della cifra di gruppo
509 while (list($descr,$num_gruppo,$id_lista,$num_lista,$descr_lista,$voti)= $res_per->fetch(PDO::FETCH_NUM)){
510 if ($listsupconta or $voti>=$sbarra){
511 if (! isset($groups[($num_gruppo)])) $groups[($num_gruppo)]=0;
512 $desgruppi[$num_gruppo]=$descr;
513 $desliste[$num_lista]=$num_lista.") ".$descr_lista;
514 $idlst[$num_lista]=$id_lista;
515 $listagruppo[$num_lista]=$num_gruppo;
516 $lists[$num_lista]=$voti;
517 $groups[($num_gruppo)]+=$voti;
518 }
519 }
520################### carica array ... 25 maggio 2014
521 foreach($collegate as $key=>$val){
522 $sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$val' and id_cons='$id_cons'";
523 $res = $dbi->prepare("$sql");
524 $res->execute();
525 list($tempig)=$res->fetch(PDO::FETCH_NUM);
526 $sql = "SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'";
527 $res = $dbi->prepare("$sql");
528 $res->execute();
529 list($tempng)=$res->fetch(PDO::FETCH_NUM);
530 $grpinc[$val]=$tempng;
531 }
532 $elencog=array();
533 $sindseggiopre=array();
534 foreach($groups as $testk=>$valk) if($testk!=$gruppo) {$elencog[$testk]=$valk;}
535 $testseggio=calcoloseggi($elencog,floor($numcons*(100-$suppremio)/100),0);
536 foreach($testseggio as $testk=>$valk) { $sindseggiopre[]=$testk;}
537##################
538 $descrsind=$desgruppi[$gruppo];
539 foreach ($groups as $key=>$val){
540#controlla se un gruppo di liste, tra quelle perdenti, ha superato il 50%
541 if ($key!=$gruppo and $val> $validi/2) $premio=2;
542#elimina gruppi che non hanno superato lo sbarramento
543 if ($val<$sbarra){
544 foreach ($listagruppo as $lst=>$grp)
545 if ($grp==$key){
546 unset($listagruppo[$lst]);
547 unset($desliste[$lst]);
548 unset($lists[$lst]);
549 }
550 unset($groups[($key)]);
551 unset($desgruppi[($key)]);
552
553 }
554 }
555 foreach ($collegate as $lst)
556 if (isset($lists[$lst])){
557 if($premio){
558 $oldlstgrp[$lst]=$listagruppo[$lst];
559 $oldlists[$lst]=$lists[$lst];
560 }
561 $groups[$listagruppo[$lst]]-=$lists[$lst];
562 $listagruppo[$lst]=$gruppo;
563 $groups[$gruppo]+=$lists[$lst];
564 }
565#controlla se la percentuale del gruppo vincente e' tra il 40 e il 60% o il sindaco e' eletto al secondo turno
566#e se nessun altro gruppo ha superato il 50% assegna il premio di maggioranza
567#e se nessun altro gruppo ha superato il 50% e nessuno ha ottenuto piu' del 60% dei seggi, assegna il premio di maggioranza
568 $consmin=$numcons;
569 $gruppomin=calcoloseggi($groups,$consmin,0);
570 $nopremio=1;
571 if (($groups[$gruppo]>=(($validi*$supminpremio)/100) or ! $primoturno) and $groups[$gruppo]<(($validi*$suppremio)/100) and !$premio and $nopremio) $premio=1;
572 else $premio=0;
573 $consel=array();
574 $consel[]=array(_LISTA,_VOTI,_SEGGI,_CANDIDATO,_CIFRAELE,_QUOZIENTI);
575 $groupsappo=$groups;
576 $candidati=array();
577 $grpperd=$gruppoperd;
578//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%
579//maggio 2011: da qui
580 if(!isset($groups[$gruppoperd])) $groups[$gruppoperd]=0;
581 foreach ($collperd as $lst)
582 if (isset($lists[$lst])){
583 $oldlstgrp[$lst]=$listagruppo[$lst];
584 $listagruppo[$lst]=$gruppoperd;
585 $oldlists[$lst]=$lists[$lst];
586 $groups[$gruppoperd]+=$lists[$lst];
587 $groups[$oldlstgrp[$lst]]-=$lists[$lst];
588 }
589////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.
590 if ($premio) {
591################### nell'array sindseggio vengono inseriti i candidati sindaco che restano senza seggio per gli apparentamenti
592 $elencog=array();
593 $testseggio=array();
594 $sindseggio=array();
595 foreach($groups as $testk=>$valk) {if($testk!=$gruppo) $elencog[$testk]=$valk;}
596 $perdente[$gruppoperd]=$groups[$gruppoperd];
597 $testseggio=calcoloseggi($elencog,floor($numcons-$numcons*($suppremio)/100),0);
598 foreach($testseggio as $testk=>$valk)
599 foreach($sindseggiopre as $testk=>$valk){ if(isset($testseggio[$valk]) and $testseggio[$valk]) continue; $sindseggio[$valk]=$valk;}
600 $sindaco[$gruppo]=$groups[$gruppo]; $groups[$gruppo]=0;
601 $gruppomag=calcoloseggi($sindaco,ceil($numcons*$suppremio/100),0);
602#######calcola i seggi per lista
603 foreach ($gruppomag as $key=>$val){
604 foreach($listagruppo as $lst=>$grp){
605 if($grp!=$key) continue;
606 $id_lista=$idlst[$lst];
607 $x=$lst;
608 $y=$lists[$x];
609 $pos=0;
610 $z=0;
611 $arvin[$x][$pos++]=$desliste[$lst];
612 $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 t1.num_cand,t1.cognome,t1.nome order by voti desc,t1.num_cand";
613 $res_can = $dbi->prepare("$sql");
614 $res_can->execute();
615 $num_candlst[$x]=$res_can->rowCount();
616 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)){
617 $cifra[$x][$pos]=$y+$pre;
618 $arvin[$x][$pos++]=$cand;
619 }
620 $listemag[$x]=$y;
621 $desliste[$x]=$descr;
622 $percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)";
623 $z++;
624 $seggimag=array();
625 $x=0;
626#####25 maggio 2014 - il candidato sindaco non eletto ha diritto al seggio anche se di maggioranza
627### individua ultimi seggi assegnati a liste collegate
628 if($grp==$gruppo){
629 $listdec =array();
630 $seggitmp=calcoloseggi($listemag,$val,1);
631 foreach ($seggitmp as $keyl=>$vall){
632 if($vall==0) continue;
633 $sql = "SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$keyl' and id_cons='$id_cons'";
634 $res = $dbi->prepare("$sql");
635 $res->execute();
636 list($tempig)=$res->fetch(PDO::FETCH_NUM);
637 $sql = "SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'";
638 $res = $dbi->prepare("$sql");
639 $res->execute();
640 list($tempng)=$res->fetch(PDO::FETCH_NUM);
641 if (isset($sindseggio[$tempng])) {$listdec[$tempng][]=$keyl;}
642 }
643 }
644 }
645 $seggimag=calcoloseggi($listemag,$val,1);
646####cerca ultimo seggio assegnato per gruppo di liste collegate al primo turno
647 foreach ($seggimag as $key2=>$val2){
648 if($val2==0) continue;
649 if(isset($grpinc[$key2])) { $tempng=$grpinc[$key2];}
650 if(isset($listdec[$tempng]))
651 foreach($listdec[$tempng] as $ark=>$arv) {
652 if(!isset($ultquoz[($sindseggio[$tempng])]) and $sindseggio[$tempng]) {$ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[$tempng]=$arv;}
653 elseif ($ultquoz[($sindseggio[$tempng])]>$quozienti[$arv][($val2-1)])
654 {
655 $ultquoz[($sindseggio[$tempng])]=$quozienti[$arv][($val2-1)];$lastlist[($sindseggio[$tempng])]=$arv;
656 }
657 }
658 }
659 foreach ($seggimag as $key2=>$val2){
660## condizione per esclusione di un seggio da destinare al sindaco non eletto in_array($key2,$lastlist)
661 if(isset($lastlist))
662 foreach($lastlist as $key3=>$val3){
663 if($key2==$val3) {
664 $arappo=array_shift($arvin[$key2]);$tpmgrp=0;
665 array_unshift($arvin[$key2],$desgruppi[$key3]); array_unshift($arvin[$key2],$arappo);array_unshift($cifra[$key2],"--");array_unshift($cifra[$key2],"--");
666 }
667 }
668## fine condizione - impostare variabile in db per differenziare il comportamento per consultazioni diverse
669 for ($z=0;$z<$val2;$z++){
670 if ($z) $consel[]=array("","","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
671 else
672 {
673 $consel[]=array($arvin[$key2][0],$percliste[$key2],$val2,$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
674 $arlisdesv[]=$arvin[$key2][0];$arlissegv[]=$val2;$arlisnumv[]=$key2;
675 }
676 }
677 $x++;
678 if($val2)
679 $consel[]=array($arvin[$key2][0],"$PNE","",$arvin[$key2][($z+1)],$cifra[$key2][($z+1)],number_format($quozienti[$key2][$z],2));
680 }
681 }
682 }
683 if ($premio) $consmin=floor($numcons*(100-$suppremio)/100);
684 else $consmin=$numcons;
685#####calcolo per la minoranza o in caso non ci sia premio di maggioranza
686 $gruppomin=calcoloseggi($groups,$consmin,0);
687 $ordinati[$gruppo]=$gruppomin[$gruppo];
688 foreach ($gruppomin as $key=>$val){
689 if($key!=$gruppo) $ordinati[$key]=$val;
690 }
691 $gruppomin=$ordinati;
692 foreach ($gruppomin as $key=>$val){
693 if($premio and $key==$gruppo) continue;
694 $listemin=array();
695 $cifra=array();
696 foreach($listagruppo as $lst=>$grp){
697 if($grp!=$key) continue;
698 $id_lista=$idlst[$lst];
699 $x=$lst;
700 $y=$lists[$x];
701 $pos=0;
702 $z=0;
703 $pos=0;$z=0;
704 if(!$premio and $key==$gruppo) $arvin[$x][$pos++]=$desliste[$lst];
705 else $arper[$x][$pos++]=$desliste[$lst];
706 $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";
707 $res_can = $dbi->prepare("$sql");
708 $res_can->execute();
709 $num_candlst[$x]=$res_can->rowCount();
710 while(list($cand,$pre)=$res_can->fetch(PDO::FETCH_NUM)) {
711 $cifra[$x][$pos]=$y+$pre;
712 if(!$premio and $key==$gruppo)
713 $arvin[$x][$pos++]=$cand;
714 else
715 $arper[$x][$pos++]=$cand;
716 }
717 $listemin[$x]=$y;
718 $desliste[$x]=$descr;
719 $percliste[$x]="<br/>$y (".number_format($y*100/$validi,2)."%)";
720 }
721 $seggimin=array();
722 echo "$mex";
723 $ultimo='';
724 $seggimin=calcoloseggi($listemin,$val,1);
725 echo "$mex";
726 if(!$premio and $key==$gruppo)
727 foreach ($seggimin as $lista=>$valc){
728 $arper[$lista]=$arvin[$lista];
729 }
730 if ($val and $key!=$gruppo and $consin) {$conselsin[]=array("$CSEC",$desgruppi[$key]); $arcansin[]=$desgruppi[$key];}
731 foreach ($seggimin as $lista=>$val)
732 if(isset($oldlstgrp[$lista]) and !isset($oldseggi[$lista])) {$oldseggi[$lista]=$val;
733 }
734 if($val==0){
735 if($ultimo==''){
736 foreach($oldlists as $lst=>$vot)
737 {
738 if (!isset($quozienti[$lst][($val)])) $quozienti[$lst][($val)]=$vot;
739 if ($oldlstgrp[$lst]!= $key or !isset($oldseggi[$lst]) or $oldseggi[$lst]==0) continue;
740 if($ultimo=='') $ultimo=$lst;
741 if($quozienti[$ultimo][($val)]==$last[$lst])
742 {
743 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";
744 elseif($lists[$ultimo]>$lists[$lst]) {$ultimo=$lst;$mex="";}
745 }
746 if ($quozienti[$ultimo][($val)]> $last[$lst]) {$ultimo=$lst;$mex="";}
747 }
748 $lst=$ultimo;
749 if($ultimo and $consin){
750 if($conselb[$ttl[($lst)]][2]>1) $conselb[$ttl[($lst)]][2]--;else $conselb[$ttl[($lst)]][2]='';
751 $daunset[]=$tt[($lst)];
752 $conselsin[]=array("$CSEC",$desgruppi[$key]);
753 $arcansin[]=$desgruppi[$key];
754 }
755 }
756 }
757 foreach ($seggimin as $lista=>$val){
758 if($ultimo==$lista and $key!=$gruppo and $consin) $val--;
759 }
760 foreach ($seggimin as $lista=>$val){
761 if($ultimo==$lista and $key!=$gruppo and $consin) $val--;
762 for ($z=0;$z<$val;$z++){
763 if ($z) $conselb[]=array("","","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2));
764 else{
765 if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0;
766 if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0;
767 $conselb[]=array($arper[$lista][0],$percliste[$lista],$val,$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2));
768 $ttl[$lista]=(count($conselb)-1);
769 }
770 }
771 if (isset($oldlists[$lista]))
772 {
773 $tt[$lista]=(count($conselb)-1);
774 if($z) $last[$lista]=$quozienti[$lista][($z-1)]; else $last[$lista]=0;
775 }
776 if($val){
777 if(!isset($arper[$lista][($z+1)])) $arper[$lista][($z+1)]=0;
778 if(!isset($cifra[$lista][($z+1)])) $cifra[$lista][($z+1)]=0;
779 if(!isset($quozienti[$lista][$z])) $quozienti[$lista][$z]=0;
780 $conselb[]=array($arper[$lista][0],"$PNE","",$arper[$lista][($z+1)],$cifra[$lista][($z+1)],number_format($quozienti[$lista][$z],2));
781 }
782 }
783 }//chiude foreach gruppomin
784 echo "<table summary=\"Tabella dei consiglieri eletti\" class=\"table-docs\" cellspacing=\"0\" cellpadding=\"2\" border=\"1\" rules=\"all\">";
785 echo "<tr class=\"bggray\"><td scope=\"row\"><b>";
786 echo _SINDACO.": ".$desgruppi[$gruppo]."</b></td></tr></table>";
787 if(isset($daunset)){
788 if ((sort($daunset,SORT_NUMERIC))==false) echo "Errore di programma!";
789 ELSE {
790 $tmpda=array_reverse($daunset);
791 foreach($tmpda as $key=>$val) {
792 $conselb[$val][0]=$conselb[($val+1)][0];$conselb[$val][1]=$conselb[($val+1)][1];
793 unset($conselb[($val+1)]);
794 }
795 }
796 }
797 if (!$premio)
798 {
799 foreach($conselb as $key=>$val)
800 {
801 if ($val[2]){
802 $nlst=intval($val[0]);
803 $arlisdesv[]=$val[0];
804 $arlissegv[]=$val[2];
805 }
806 if($listagruppo[$nlst]!=$gruppo) continue;
807 $consel[]=array($val[0],$val[1],$val[2],$val[3],$val[4],$val[5]);
808 }
809 }
810 if (isset($conselsin)) foreach($conselsin as $key=>$val)
811 {
812 $consel[]=array($val[0],$val[1]);
813 }
814 foreach($conselb as $key=>$val)
815 {
816 if ($val[2]){
817 $nlst=intval($val[0]);
818 $arlisdesp[]=$val[0];
819 $arlissegp[]=$val[2];
820 }
821 if($listagruppo[$nlst]==$gruppo) continue;
822 $consel[]=array($val[0],$val[1],$val[2],$val[3],$val[4],$val[5]);
823 }
824 stampalista($consel);
825 unset($_SESSION['ballo1']);unset($_SESSION['ballo2']);unset($_SESSION['grp1']);unset($_SESSION['grp2']);
826}
827
828?>
Note: See TracBrowser for help on using the repository browser.