source: trunk/client/modules/Elezioni/votanti.php@ 127

Last change on this file since 127 was 127, checked in by eol, 13 years ago

piccole variazioni

File size: 17.3 KB
Line 
1<?php
2/************************************************************************/
3/* Eleonline - Raccolta e diffusione dei dati elettorali */
4/* by Luciano Apolito & Roberto Gigli */
5/* http://www.eleonline.it */
6/* info@eleonline.it luciano@aniene.net rgigli@libero.it */
7/************************************************************************/
8
9if (!defined('MODULE_FILE')) {
10 die ("Non puoi accedere al file direttamente...");
11}
12$param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ?
13 $_GET : $_POST;
14
15
16
17$id_comune= (isset($param['id_comune'])) ? $param['id_comune']:$siteistat;
18if (isset($param['id_cons_gen'])) $id_cons_gen=intval($param['id_cons_gen']); else $id_cons_gen='';
19if (isset($param['op'])) $op=$param['op']; else $op='';
20if (isset($param['minsez'])) $minsez=intval($param['minsez']); else $minsez='';
21if (isset($param['id_lista'])) $id_lista=intval($param['id_lista']); else $id_lista='';
22if (isset($param['id_circ'])) $id_circ=intval($param['id_circ']); else $id_circ='';
23if (isset($param['csv'])) $csv=intval($param['csv']); else $csv='';
24if (isset($param['min'])) $min=intval($param['min']); else $min= 0;
25if (isset($param['orvert'])) $orvert=intval($param['orvert']); else $orvert='';
26if (isset($param['offset'])) $offset=intval($param['offset']); else $offset='';
27if (isset($param['offsetsez'])) $offsetsez=intval($param['offsetsez']); else $offsetsez='';
28if (isset($param['perc'])) $perc=$param['perc']; else $perc='';
29if (isset($param['info'])) get_magic_quotes_gpc() ? $info=$param['info']:$info=addslashes($param['info']); else $info='';
30if (isset($param['files'])) get_magic_quotes_gpc() ? $files=$param['files']:$files=addslashes($param['files']); else $files='';
31if (isset($param['voti_lista'])) $voti_lista=intval($param['voti_lista']); else $voti_lista= 0;
32if (isset($param['perc_lista'])) $perc_lista=$param['perc_lista']; else $perc_lista= 0;
33if (isset($param['lettera'])) get_magic_quotes_gpc() ? $lettera=$param['lettera']:$lettera=addslashes($param['lettera']); else $lettera='';
34if (isset($param['id_gruppo'])) $id_gruppo=intval($param['id_gruppo']); else $id_gruppo='';
35if (isset($param['tipo_cons'])) $tipo_cons=intval($param['tipo_cons']); else $tipo_cons='';
36if (isset($param['xls'])) $xls=intval($param['xls']); else $xls='';
37if (isset($param['pdf'])) $pdf=intval($param['pdf']); else $pdf='';
38
39# anti-xss nov. 2009
40$id_comune=htmlentities($id_comune);
41$perc=floatval($perc);
42$perc_lista=floatval($perc_lista);
43$datipdf= htmlentities($datipdf);
44$op= htmlentities($op);
45$info= htmlentities($info);
46$files=htmlentities($files);
47$lettera=htmlentities($lettera);
48
49$id_comune=intval($id_comune);
50
51
52//$id_cons_gen=$_GET['id_cons_gen'];
53$res = mysql_query("SELECT t1.tipo_cons,t3.genere,t2.id_cons FROM ".$prefix."_ele_consultazione as t1, ".$prefix."_ele_cons_comune as t2, ".$prefix."_ele_tipo as t3 where t1.tipo_cons=t3.tipo_cons and t1.id_cons_gen=t2.id_cons_gen and t2.id_cons_gen='$id_cons_gen' and t2.id_comune='$id_comune'" , $dbi);
54list($tipo_cons,$genere,$id_cons) = mysql_fetch_row($res);
55
56if (isset($param['ops'])) $ops=$param['ops']; else $ops='';
57if (isset($param['pag'])) $pag=$param['pag']; else $pag=0;
58if (isset($param['num_ref'])) $num_ref=$param['num_ref'];
59if (isset($param['num_refs'])) $num_refs=$param['num_refs'];
60$bgcolor2='#cacaca';
61
62
63if (!IsSet($num_ref)) {
64 $num_ref=1;
65 $resg = mysql_query("SELECT id_gruppo from ".$prefix."_ele_gruppo where id_cons=$id_cons", $dbi);
66 $num_refs= mysql_num_rows($resg); //quante pagine?
67 }
68
69
70
71//**************************************************************************
72// ELE
73//**************************************************************************
74//controllo_finale($id_cons);
75
76global $prefix, $dbi,$id_circ,$lang, $fascia, $limite;
77
78include_once("modules/Elezioni/language/lang-$lang.php");
79# testata
80
81if($csv==1){
82 include_once("modules/Elezioni/funzioni.php");
83
84 $res = mysql_query("SELECT descrizione FROM ".$prefix."_ele_comuni where id_comune='$id_comune' ", $dbi);
85 list($descr_com) = mysql_fetch_row($res);
86 $descr_com =stripslashes($descr_com);
87 $datipdf .= "<div style=\"margin:0px auto; text-align:center;\">";
88 $siteistat=$id_comune;
89 # salva sull'hardisk lo stemma del comune
90 $logo=verificasimbolo();
91 $immagine= "<img src=\"modules/Elezioni/images/$logo\" alt=\"logo\" align=\"left\"/>";
92
93
94
95
96
97 if($xls!=1) $datipdf .= "<table><tr><td>$immagine</td><td>";
98 $datipdf .= ""._COMUNE." $descr_com <br/>
99 "._RISULTA." "._CONSULTA."<br/>";
100 $datipdf .= "$descr_cons <br />"._DISCLAIMER."";
101 if($xls!=1) $datipdf .= "</td></tr></table>";
102 $datipdf .="</div>";
103
104
105$html = "<style type=\"text/css\">
106 <!--
107
108 .td-89 {
109 width: 89%;
110 border: 1px;
111 text-align: left;
112 }
113 .td-vuoto {
114
115 width: 100%;
116 border: 1px;
117 text-align: left;
118
119}
120
121
122 .td-5 {
123
124 margin: 0px 0 0 0px;
125 width: 5%;
126 /*border: none;*/
127 padding: 0px;
128
129 text-align: center;
130 }
131
132
133
134 .bggray {
135 background: #ffffff;
136 FONT-SIZE: 13px;
137 FONT-FAMILY: Helvetica;
138 border: 1px;
139 }
140
141 .bggray2 {
142 background: #EFEFEF;
143 FONT-SIZE: 13px;
144 FONT-FAMILY: Helvetica;
145 border: 1px;
146 }
147 -->
148 </style>";
149
150
151
152
153}
154
155
156
157
158
159
160
161
162
163
164
165 // icone stampa e grafici
166 if ($csv!=1){
167 if(isset($num_ref)) $curref="&amp;num_ref=$num_ref"; else $curref='';
168 if (!isset($html)) $html='';
169 $html .= "<div>
170 <a href=\"modules.php?name=Elezioni&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_comune=$id_comune&amp;op=graf_votanti\">
171 "._VER_GRAF." <img class=\"image\" src=\"modules/Elezioni/images/grafici.png\" alt=\"\" /></a>
172
173 <a href=\"modules.php?name=Elezioni&amp;op=come&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_comune=$id_comune&amp;info=votanti&amp;csv=1&amp;pag=$pag&amp;num_ref=$num_ref&amp;num_refs=$num_refs\">"._VER_STAMPA."
174
175
176 <img class=\"image\" src=\"modules/Elezioni/images/printer.png\" alt=\"\" /></a>
177
178 <a href=\"modules.php?name=Elezioni&amp;op=come&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_comune=$id_comune&amp;info=votanti&amp;xls=1&csv=1;&amp;pag=$pag&amp;num_ref=$num_ref&amp;num_refs=$num_refs\">
179
180
181 <img class=\"image\" src=\"modules/Elezioni/images/csv.gif\" alt=\"\" /></a>
182
183<a href=\"modules.php?name=Elezioni&amp;op=come&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_comune=$id_comune&amp;info=votanti&amp;pdf=1&csv=1;&amp;pag=$pag&amp;num_ref=$num_ref&amp;num_refs=$num_refs\">
184<a href=\"modules.php?name=Elezioni&amp;op=come&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_comune=$id_comune&amp;info=votanti&amp;pdf=1&csv=1;&amp;pag=$pag$curref\">
185 <img class=\"image\" src=\"modules/Elezioni/images/pdf.gif\" alt=\"\" /></a>
186
187
188 </div>";
189 }
190
191
192
193 $res = mysql_query("SELECT sum(maschi),sum(femmine) FROM ".$prefix."_ele_sezioni where id_cons='$id_cons'", $dbi);
194 list($totm,$totf) = mysql_fetch_row($res);
195 $totel=$totm+$totf;
196 if (!IsSet($pag)) {$pag=0;} //inizializza il numero di pagina
197 /*
198 if (!IsSet($num_ref)) {
199 $num_ref=1;
200 $resg = mysql_query("SELECT id_gruppo from ".$prefix."_ele_gruppo where id_cons=$id_cons", $dbi);
201 $num_refs= mysql_num_rows($resg); //quante pagine?
202 }
203 */
204 if(($genere!=4) and $pag==0){ //diverso da liste a piu' candidati
205 $ops=4; //gestione gruppi (anche liste uninominali)
206 }else{
207 $ops=3; //gestione liste
208 }
209
210 $resg = mysql_query("SELECT id_gruppo,num_gruppo from ".$prefix."_ele_gruppo where id_cons=$id_cons and num_gruppo=$num_ref", $dbi);
211 list($idg,$numg) = mysql_fetch_row($resg);
212 $res = mysql_query("SELECT id_sez,num_sez,t1.id_sede as id_sede,t2.id_circ as id_circ FROM ".$prefix."_ele_sezioni as t1,".$prefix."_ele_sede as t2 where t1.id_cons='$id_cons' and t1.id_sede=t2.id_sede order by num_sez ", $dbi);
213 $max = mysql_num_rows($res); //quante sezioni?
214 $res = mysql_query("SELECT id_sez,num_sez,t1.id_sede as id_sede,t2.id_circ as id_circ FROM ".$prefix."_ele_sezioni as t1,".$prefix."_ele_sede as t2 where t1.id_cons='$id_cons' and t1.id_sede=t2.id_sede order by num_sez ", $dbi);
215 $num_sez = mysql_num_rows($res); //quante sezioni?
216 for ($i=1;$i<=$num_sez;$i++){
217 $sezione[$i]=mysql_fetch_array($res, 3); //inizializza l'array delle sezioni
218 $ar[$i]=0;
219 }
220 $tab3="_ele_voti_lista";
221 if ($genere>0) { //se non e' un referendum
222 if (!($genere==4) and $pag==0){ //se non e' una lista uninominale ed e' la prima pagina
223 $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' 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 ";
224
225 }else{ // e' una lista uninominale o la seconda pagina
226 $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'
227 FROM ".$prefix."_ele_sezioni as t1 left join ".$prefix.$tab3." as t2 on (t1.id_sez=t2.id_sez)
228 left join ".$prefix."_ele_sede as t4 on (t1.id_sede=t4.id_sede)
229 where t1.id_cons='$id_cons' and t1.id_cons=t2.id_cons group by t2.id_sez order by t1.num_sez ";
230 }
231
232 $riga1 = "";
233 if($pag==0)$riga1 .="<h2>"._DETTAGLIO." "._VOTIE."</h2>";
234 else $riga1 .="<h2>"._DETTAGLIO." "._VOTIE." "._ASOLA_LISTA."</h2>";
235
236 }else{ // e' un referendum
237 $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
238 FROM ".$prefix."_ele_voti_ref as t1 left join ".$prefix."_ele_sezioni as t2 on (t1.id_sez=t2.id_sez)
239 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)
240 where t1.id_cons='$id_cons' and t1.id_gruppo='$idg' order by t2.num_sez ";
241 $riga1 = "<div style=\"margin:0px auto;text-align:center;\">";
242 $riga1 .="<h2>"._DETTAGLIO." "._VOTIE."</h2></div>";
243
244 $des = mysql_query("select descrizione from ".$prefix."_ele_gruppo where id_gruppo='$idg'", $dbi);
245 list($descrizione)=mysql_fetch_array($des);
246 $riga1 .="<h4>$descrizione</h4>";
247 }
248 $res = mysql_query("$tab ", $dbi);
249 $num_scr = mysql_num_rows($res);
250 //$riga2= "<div>"._SEZSCR." $num_scr su $num_sez</div>";//sezioni scrutinate
251
252 $riga2 = "<table style=\"border:1px solid #6A6A6A;\" summary=\"Tabella dei voti espressi\">";
253 $riga3 = "<tr class=\"bggray2\">
254 <td>"._SEZIONI."</td>
255 <td>"._VOTIU."</td>
256 <td>"._VOTID."</td>
257 <td>"._VOTIE."</td>"; //testata con nomi dei campi
258 if ($genere==0) { //se e' un referendum
259 $riga3 .= "<td>"._SI."</td><td>"._NO."</td>";
260 } elseif ((($genere==5) or ($genere==3)) and $pag==1){
261 $riga3 .= "<td>"._ASOLA_LISTA."</td><td>"._ASOLO_GRUPPO."</td>";
262 }
263 $riga3 .= "<td>"._VALIDI."</td><td>"._NULLI."</td><td>"._BIANCHI."</td><td>"._CONTESTATI."</td>"
264 ."</tr>\n";
265 $res = mysql_query("$tab ", $dbi);
266 $num_scr = mysql_num_rows($res);
267 $righe= "";
268 $scrutinate=1;
269 $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;
270 while (list($id_gruppo,$id,$num,$si,$no,$validi,$nulli,$bianchi,$contestati,$id_circ,$id_sede,$gruppo) = mysql_fetch_row($res)){
271 // inserimento numeri di sez non scrutinate
272 while ($scrutinate < $num) {
273 $righe.= "<tr><td><span style=\"color: rgb(255, 0, 0);\">$scrutinate</span></td></tr>\n";
274 $scrutinate++;
275 }
276 $scrutinate++;
277 // fine inserimento
278 $tab2="SELECT max(voti_donne),max(voti_uomini),max(voti_complessivi) FROM ".$prefix."_ele_voti_parziale where id_cons='$id_cons' and id_sez='$id'";
279 if ($genere==0) $tab2 .= " and id_gruppo=$id_gruppo";
280 $res2 = mysql_query($tab2, $dbi);
281 list($votid,$votiu,$voti) = mysql_fetch_row($res2);
282// $voti=$votiu+$votid;
283 $tot_u+=$votiu;
284 $tot_d+=$votid;
285 $tot_voti+=$voti;
286 $tot_si+=$si;
287 $tot_no+=$no;
288 $tot_validi+=$validi;
289 $tot_nulli+=$nulli;
290 $tot_bianchi+=$bianchi;
291 $tot_contestati+=$contestati;
292 $righe .= "<tr class=\"bggray2\">
293 <td>$num</td>
294 <td>".number_format($votiu,0,',','.')."</td>
295 <td>".number_format($votid,0,',','.')."</td>
296 <td>".number_format($voti,0,',','.')."</td>";
297 if ($genere==0 or ((($genere==5) or ($genere==3)) and $pag==1)){$righe
298 .= "<td>".number_format($si,0,',','.')."</td>
299 <td>".number_format($no,0,',','.')."</td>";}
300
301 $righe .= "<td>".number_format($validi,0,',','.')."</td>
302 <td>$nulli</td>
303 <td>$bianchi</td>
304 <td>$contestati</td></tr>";
305 }
306 if ($num<$num_sez) {
307 for (;$scrutinate<=$num_sez;$scrutinate++) {
308 $righe .= "<tr><td>";
309 $righe .="<span style=\"color: rgb(255, 0, 0);\">$scrutinate</span></td></tr>";
310 }
311 }
312 $righet='';
313 if($num_scr){
314 $righet = "<tr class=\"bggray\">
315 <td ></td>
316 <td>"._VOTIU."</td>
317 <td>"._VOTID."</td>
318 <td>"._VOTIE."</td>"; //testata con nomi dei campi
319 if ($genere==0) { //se e' un referendum
320 $righet .= "<td>"._SI."</td><td>"._NO."</td>";
321 } elseif ((($genere==5) or ($genere==3)) and $pag==1){
322 $righet .= "<td>"._ASOLA_LISTA."</td><td>"._ASOLO_GRUPPO."</td>";
323 }
324 if($totel==0) $totelrip="0.00"; else $totelrip=number_format($tot_voti*100/$totel,2);
325 if($totf==0) $totfrip="0.00"; else $totfrip=number_format($tot_d*100/$totf,2);
326 if($totm==0) $totmrip="0.00"; else $totmrip=number_format($tot_u*100/$totm,2);
327 $righet .= "<td>"._VALIDI."</td><td>"._NULLI."</td><td>"._BIANCHI."</td><td>"._CONTESTATI."</td>"
328 ."</tr>
329
330
331
332 <tr class=\"td-vuotoc\"><td><b>"._TOT."</b></td><td><b>".number_format($tot_u,0,',','.')."</b><br /><i>(".$totmrip." %)</i></td><td><b>".number_format($tot_d,0,',','.')."</b><br /><i>(".$totfrip." %)</i></td><td><b>".number_format($tot_voti,0,',','.')."</b><br /><i>(".$totelrip." %)</i></td>";
333
334 // se e' un referendum o una consultazione con raggruppamenti
335
336 if($tot_validi){
337 if ($genere==0 or ((($genere==5) or ($genere==3)) and $pag==1)){$righet .= "<td><b>".number_format($tot_si,0,',','.')."</b><br /><i>(".number_format($tot_si*100/$tot_validi,2)." %)</i></td><td><b>".number_format($tot_no,0,',','.')."</b><br /><i>(".number_format($tot_no*100/$tot_validi,2)." %)</i></td>";}
338 $righet .= "<td><b>".number_format($tot_validi,0,',','.')."</b><br /><i>(".($tot_voti ? number_format($tot_validi*100/$tot_voti,2):'0.00')." %)</i></td><td><b>"
339 .number_format($tot_nulli,0,',','.')."</b><br /><i>(".($tot_voti ? number_format($tot_nulli*100/$tot_voti,2):'0.00')." %)</i></td><td><b>".number_format($tot_bianchi,0,',','.')."</b><br /><i>(".($tot_voti ? number_format($tot_bianchi*100/$tot_voti,2):'0.00')." %)</i></td><td><b>".number_format($tot_contestati,0,',','.')."</b><br /><i>(".($tot_voti ? number_format($tot_contestati*100/$tot_voti,2):'0.00')." %)</i></td></tr>";
340 }else{
341 if ($genere==0 or ((($genere==5) or ($genere==3)) and $pag==1)){$righet .= "<td><b>".number_format($tot_si,0,',','.')."</b><br /><i>(0.00 %)</i></td><td><b>".number_format($tot_no,0,',','.')."</b><br /><i>(0.00 %)</i></td>";}
342 $righet .= "<td><b>0</b><br /><i>(0.00 %)</i></td><td><b>"
343 .number_format($tot_nulli,0,',','.')."</b><br /><i>(".($tot_voti ? number_format($tot_nulli*100/$tot_voti,2):'0,00')." %)</i></td><td><b>".number_format($tot_bianchi,0,',','.')."</b><br /><i>(".($tot_voti ? number_format($tot_bianchi*100/$tot_voti,2):'0,00')." %)</i></td><td><b>".number_format($tot_contestati,0,',','.')."</b><br /><i>(".($tot_voti ? number_format($tot_contestati*100/$tot_voti,2):'0,00')." %)</i></td></tr>";
344 }
345 }
346 $righe .= "</table>";
347 if(!isset($html)) $html='';
348 $html .= "$riga1";
349 $html .= $riga2."";
350 $html .= $righet;
351 $html .= $riga3;
352 $html .= $righe;
353
354
355 $html .="<div>";
356 if($genere==0){ //se e' referendum
357 if ($xls!='1' && $pdf!='1' && $csv!='1'){
358 #'Pagina precedente' e 'Pagina Successiva'
359 $cur=$num_ref;
360 if ($cur>1) {
361 $num_ref--;
362 $html .= "<a href=\"modules.php?name=Elezioni&amp;op=come&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_comune=$id_comune&amp;info=votanti&amp;num_ref=$num_ref&amp;num_refs=$num_refs&amp;csv=$csv&amp;xls=$xls&amp;pdf=$pdf\">";
363 $html .= "[ <b>"._PREV_MATCH."</b> ]</a>";
364 }
365 if ($cur<$num_refs) {
366 $cur++;
367 $html .= "<a href=\"modules.php?name=Elezioni&amp;op=come&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_comune=$id_comune&amp;info=votanti&amp;num_ref=$cur&amp;num_refs=$num_refs&amp;csv=$csv&amp;xls=$xls&amp;pdf=$pdf\">";
368
369 $html .= "[ <b>"._NEXT_MATCH."</b> ]</a>";
370 }
371}
372}
373if($genere==5 or $genere==3){ //se vi sono raggruppamenti
374 if($csv!=1 and $fascia>$limite){
375
376 $pag=($pag==0 ? 1:0);
377 $html .= "<a href=\"modules.php?name=Elezioni&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_comune=$id_comune&amp;op=come&amp;info=votanti&amp;pag=$pag&amp;csv=$csv\"><b>";
378 if($pag) $html .= _VOTIL;
379 //_CONTR_CONS;
380 else $html .= _VOTIE;
381 //_CONTR_ESPR;
382 $html .= "</b></a>";
383 }
384 }
385
386
387if($csv==1){
388 $data=date("d-m-y G:i");
389 $html .="<br/><div style=\"margin:0 auto;text-align:center;\"><i>Stampato: $data</i>";
390 $html .="<br/><i>Eleonline by l. apolito & r. gigli - www.eleonline.it</i></div>";
391 //$html .= $html;
392
393}
394$html .= "</div>";
395
396
397############### stampa
398if ($xls!='1' && $pdf!='1'){
399 echo "$datipdf $html";
400}elseif($xls=="1"){
401 $nomefile="votanti.xls";
402 header ("Content-Type: application/vnd.ms-excel");
403 header ("Content-Disposition: inline; filename=$nomefile");
404
405 echo "$datipdf";
406 echo "$html \n";
407}elseif($pdf=='1'){
408 $nomefile="$descr_cons votanti.pdf";
409
410 $stampa ="$datipdf $html";
411
412 require_once('inc/hpdf403/html2pdf.class.php');
413 $html2pdf = new HTML2PDF('L','A4', 'it');
414 $html2pdf->WriteHTML($stampa, isset($_GET['vuehtml']));
415 $html2pdf->Output($nomefile);
416}
417
418
419if($csv!=1 ) include ("footer.php");
420
421
422
423?>
Note: See TracBrowser for help on using the repository browser.