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

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

piccole variazioni

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