1 | <?php
|
---|
2 |
|
---|
3 | /************************************************************************/
|
---|
4 | /* Eleonline - Raccolta e diffusione dei dati elettorali */
|
---|
5 | /* by Luciano Apolito & Roberto Gigli */
|
---|
6 | /* http://www.eleonline.it */
|
---|
7 | /* info@eleonline.it luciano@aniene.net rgigli@libero.it */
|
---|
8 | /************************************************************************/
|
---|
9 |
|
---|
10 |
|
---|
11 | /*******************************************************
|
---|
12 | #'Pagina precedente' e 'Pagina Successiva' #
|
---|
13 | immettere nel file da dividere la lettura
|
---|
14 | del numero complessivo dei dati:
|
---|
15 | Es: $max=sql_num_rows($res);
|
---|
16 |
|
---|
17 | l'offset settato al numero dei dati da
|
---|
18 | visualizzare per pagina:
|
---|
19 | Es: $offset=5;
|
---|
20 |
|
---|
21 | l'azzeramento della variabile $min
|
---|
22 | Es: if (!isset($min)) $min=0;
|
---|
23 |
|
---|
24 | il nome del file (opzione) da ricaricare)
|
---|
25 | Es: $file="gruppopercsez"; // nome op per pagine
|
---|
26 |
|
---|
27 |
|
---|
28 | */
|
---|
29 |
|
---|
30 |
|
---|
31 |
|
---|
32 | function page($id_cons,$go,$max,$min,$prev,$next,$offset,$file){
|
---|
33 | global $lettera,$ordine,$id_comune;
|
---|
34 |
|
---|
35 |
|
---|
36 | echo"<br /><div class=\"modulo\">";
|
---|
37 | $prev=$min-$offset;
|
---|
38 | if ($prev>=0) {
|
---|
39 | echo "<a href=\"modules.php?name=Elezioni&op=$go&min=$prev&id_cons_gen=$id_cons&id_comune=$id_comune&file=$file&lettera=$lettera&ordine=$ordine\">";
|
---|
40 | echo "[ <b>$offset "._PREV_MATCH."</b> ]</a>";
|
---|
41 | }
|
---|
42 |
|
---|
43 | $next=$min+$offset;
|
---|
44 | if ($next>=($offset-1)) {
|
---|
45 | if($next>=$max) $next = $max;
|
---|
46 | else {
|
---|
47 |
|
---|
48 | echo "<a href=\"modules.php?name=Elezioni&op=$go&min=$next&id_cons_gen=$id_cons&id_comune=$id_comune&file=$file&lettera=$lettera&ordine=$ordine\">";
|
---|
49 | echo " [<b>$offset "._NEXT_MATCH."</b> ] </a>";
|
---|
50 | }
|
---|
51 | }
|
---|
52 | echo "</div><br /><br/>";
|
---|
53 |
|
---|
54 | }
|
---|
55 |
|
---|
56 |
|
---|
57 |
|
---|
58 |
|
---|
59 |
|
---|
60 | // *********************************
|
---|
61 | // Funzioni formattazione data
|
---|
62 | // ***********************************
|
---|
63 |
|
---|
64 |
|
---|
65 | function giorno()
|
---|
66 | {
|
---|
67 | $giorni= array('--','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31');
|
---|
68 | foreach($giorni as $gi)
|
---|
69 | $giorno .= "<option value=$gi>$gi</option>";
|
---|
70 | $giorno .= "</select>";
|
---|
71 | echo "$giorno";
|
---|
72 | }
|
---|
73 |
|
---|
74 |
|
---|
75 | function mese()
|
---|
76 | {
|
---|
77 | $mesi= array('--','01','02','03','04','05','06','07','08','09','10','11','12');
|
---|
78 | foreach($mesi as $me)
|
---|
79 | $mese .= "<option value=$me>$me </option>";
|
---|
80 | $mese .= "</select>";
|
---|
81 | echo "$mese";
|
---|
82 | }
|
---|
83 |
|
---|
84 | function anno()
|
---|
85 | {
|
---|
86 | $curr=date("Y",time());
|
---|
87 | $anni=array('--',$curr--,$curr--,$curr--,$curr--,$curr--,$curr--,$curr--);
|
---|
88 | foreach($anni as $an)
|
---|
89 | $anno .= "<option value=$an>$an</option>";
|
---|
90 | $anno .= "</select>";
|
---|
91 | echo "$anno";
|
---|
92 | }
|
---|
93 |
|
---|
94 | function ore()
|
---|
95 | {
|
---|
96 | $ore= array('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24');
|
---|
97 | foreach($ore as $ori)
|
---|
98 | $ore .= "<option value=$ori>$ori</option>";
|
---|
99 | $ore .= "</select>";
|
---|
100 | echo "$ore";
|
---|
101 | }
|
---|
102 |
|
---|
103 |
|
---|
104 | function minuti()
|
---|
105 | {
|
---|
106 | $minuti= array('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14',
|
---|
107 | '15', '16', '17', '18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33',
|
---|
108 | '34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49','50',
|
---|
109 | '51','52','53','54','55','56','57','58','59');
|
---|
110 | foreach($minuti as $minu)
|
---|
111 | $minuti .= "<option value=$minu>$minu </option>";
|
---|
112 | $minuti .= "</select>";
|
---|
113 | echo "$minuti";
|
---|
114 | }
|
---|
115 |
|
---|
116 | function secondi()
|
---|
117 | {
|
---|
118 | $secondi= array('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14',
|
---|
119 | '15', '16', '17', '18','19','20','21','22','23','24','25','26','27','28','29','30','31','32','33',
|
---|
120 | '34','35','36','37','38','39','40','41','42','43','44','45','46','47','48','49','50',
|
---|
121 | '51','52','53','54','55','56','57','58','59');
|
---|
122 | foreach($secondi as $sec)
|
---|
123 | $secondi .= "<option value=$sec>$sec</option>";
|
---|
124 | $secondi .= "</select>";
|
---|
125 | echo "$secondi";
|
---|
126 | }
|
---|
127 |
|
---|
128 |
|
---|
129 |
|
---|
130 | function form_data($data)
|
---|
131 |
|
---|
132 | {
|
---|
133 | list($anno,$mese,$giorno) = explode("-", $data) ;
|
---|
134 | if ($giorno>0)
|
---|
135 | return("$giorno-$mese-$anno");
|
---|
136 | else
|
---|
137 | return(" ");
|
---|
138 | }
|
---|
139 |
|
---|
140 |
|
---|
141 | function taglio($parole,$descrizione)
|
---|
142 | {
|
---|
143 |
|
---|
144 | /* funzione per il taglio di una frase giusta senza
|
---|
145 | troncare le parole by luc 13 febbraio 2007
|
---|
146 | uso:
|
---|
147 | taglio(numero di parole, frase)
|
---|
148 | */
|
---|
149 |
|
---|
150 | $lunghezza=strlen($descrizione);
|
---|
151 | $altra='0';
|
---|
152 | $testo='';
|
---|
153 | $lettera='';
|
---|
154 |
|
---|
155 |
|
---|
156 | for ($x=0;$x<$parole;$x++){
|
---|
157 | if($testo!='')$testo .=" ";
|
---|
158 |
|
---|
159 | for ($j=$altra;$j<$lunghezza;$j++){
|
---|
160 | $lettera=$descrizione{$j};
|
---|
161 | if ($lettera!=" "){
|
---|
162 | $testo .=$lettera;
|
---|
163 | }else{
|
---|
164 | $altra=$j+1; $j=$lunghezza;
|
---|
165 | }
|
---|
166 |
|
---|
167 | }
|
---|
168 | }
|
---|
169 |
|
---|
170 |
|
---|
171 | return "$testo";
|
---|
172 |
|
---|
173 | }
|
---|
174 | #### legge freed rss 1.0
|
---|
175 |
|
---|
176 | function readrss($url) {
|
---|
177 |
|
---|
178 |
|
---|
179 | $rdf = parse_url($url);
|
---|
180 | $fp = fsockopen($rdf['host'], 80, $errno, $errstr, 15);
|
---|
181 | if (!$fp) {
|
---|
182 | $content = "";
|
---|
183 | echo $content;
|
---|
184 | return;
|
---|
185 | }
|
---|
186 |
|
---|
187 | if ($fp) {
|
---|
188 | if (!empty($rdf['query']))
|
---|
189 | $rdf['query'] = "?" . $rdf['query'];
|
---|
190 |
|
---|
191 | fputs($fp, "GET " . $rdf['path'] . $rdf['query'] . " HTTP/1.0\r\n");
|
---|
192 | fputs($fp, "HOST: " . $rdf['host'] . "\r\n\r\n");
|
---|
193 | $string = "";
|
---|
194 |
|
---|
195 | while(!feof($fp)) {
|
---|
196 | $pagetext = fgets($fp,300);
|
---|
197 | $string .= chop($pagetext);
|
---|
198 | }
|
---|
199 |
|
---|
200 |
|
---|
201 |
|
---|
202 |
|
---|
203 | fputs($fp,"Connection: close\r\n\r\n");
|
---|
204 | fclose($fp);
|
---|
205 | $items = explode("</item>",$string);
|
---|
206 | $content ="<h5>Risultati </h5>";
|
---|
207 | $content .= "<span class=\"content\">";
|
---|
208 |
|
---|
209 | for ($i=0;$i<20;$i++) {
|
---|
210 | $link = preg_replace("/.*<link>/","",$items[$i]);
|
---|
211 | $link = preg_replace("/</link>.*/","",$link);
|
---|
212 | $title2 = preg_replace("/.*<title>/","",$items[$i]);
|
---|
213 | $title2 = preg_replace("/</title>.*/","",$title2);
|
---|
214 | $title2 = stripslashes($title2);
|
---|
215 | $descr = preg_replace("/.*<description>/","",$items[$i]);
|
---|
216 | $descr = preg_replace("/</description>.*/","",$descr );
|
---|
217 | $descr = stripslashes($descr );
|
---|
218 |
|
---|
219 | if (empty($items[$i]) AND $cont != 1) {
|
---|
220 | $content = "";
|
---|
221 |
|
---|
222 | $cont = 0;
|
---|
223 |
|
---|
224 | echo $content;
|
---|
225 | return;
|
---|
226 | } else {
|
---|
227 | if (strcmp($link,$title2) AND !empty($items[$i])) {
|
---|
228 | $cont = 1;
|
---|
229 | $content .= "<strong><big>·</big></strong> <a href=\"$link\" target=\"new\">$title2</a> $descr<br />\n";
|
---|
230 | }
|
---|
231 | }
|
---|
232 |
|
---|
233 | }
|
---|
234 |
|
---|
235 |
|
---|
236 | }
|
---|
237 |
|
---|
238 | if (($cont == 0) OR (empty($content))) {
|
---|
239 | $content = "<span class=\"content\">Problema feed rss</span>";
|
---|
240 | }
|
---|
241 |
|
---|
242 | echo $content;
|
---|
243 |
|
---|
244 | }
|
---|
245 | ### legge i risultati e li reinvia
|
---|
246 | ### richiamare con
|
---|
247 | ### list ($gruppo,$pro)=grupporss();
|
---|
248 |
|
---|
249 | function grupporss() {
|
---|
250 | global $admin, $bgcolor1, $bgcolor5, $prefix, $dbi, $offset, $min,$descr_cons,$genere,$votog,$votol,$votoc,$circo, $id_cons,$id_cons_gen,$id_comune,$id_circ,$tipo_cons,$w,$l,$op,$siteistat,$flash,$circondt1 ;
|
---|
251 |
|
---|
252 |
|
---|
253 |
|
---|
254 |
|
---|
255 | //if($genere=='4' || $tipo_cons>='10') $tab="ele_voti_lista";
|
---|
256 | if($genere=='4' || $votog) $tab="ele_voti_lista";
|
---|
257 | else $tab="ele_voti_gruppo";
|
---|
258 |
|
---|
259 |
|
---|
260 |
|
---|
261 | $res = mysql_query("select * from ".$prefix."_$tab where id_cons='$id_cons' group by id_sez ",$dbi);
|
---|
262 |
|
---|
263 | if ($res) $numero=mysql_num_rows($res);else $numero=0;
|
---|
264 | $res = mysql_query("select t2.* from ".$prefix."_ele_sezioni as t2, ".$prefix."_ele_sede as t1 where t2.id_cons='$id_cons' and t1.id_sede=t2.id_sede $circondt1",$dbi);
|
---|
265 | if ($res) $sezioni=mysql_num_rows($res);else $sezioni=0;
|
---|
266 |
|
---|
267 | if ($numero>0){
|
---|
268 | if ($genere!=0){
|
---|
269 | $restotv = mysql_query("select sum(voti) from ".$prefix."_$tab where id_cons='$id_cons' ", $dbi);
|
---|
270 | list($tot) = mysql_fetch_row($restotv);
|
---|
271 |
|
---|
272 | $i=0;
|
---|
273 | // lista o gruppo
|
---|
274 | if ($genere!=4){
|
---|
275 |
|
---|
276 | if ($votog){
|
---|
277 |
|
---|
278 | $res = mysql_query("select t1.id_gruppo, t1.num_gruppo, t1.descrizione, sum(t2.voti) as somma
|
---|
279 | from ".$prefix."_ele_gruppo as t1,
|
---|
280 | ".$prefix."_ele_voti_lista as t2,
|
---|
281 | ".$prefix."_ele_lista as t3
|
---|
282 | where t1.id_cons='$id_cons'
|
---|
283 | and t2.id_lista=t3.id_lista
|
---|
284 | and t1.id_gruppo=t3.id_gruppo
|
---|
285 | group by t1.id_gruppo
|
---|
286 | order by somma desc", $dbi);$cosa='id_gruppo';
|
---|
287 |
|
---|
288 | }else{
|
---|
289 |
|
---|
290 |
|
---|
291 | $res = mysql_query("select t1.id_gruppo, t1.num_gruppo, t1.descrizione, sum(t2.voti) as somma
|
---|
292 | from ".$prefix."_ele_gruppo as t1
|
---|
293 | left join ".$prefix."_$tab as t2 on (t1.id_gruppo=t2.id_gruppo)
|
---|
294 | where t1.id_cons='$id_cons' and t1.id_cons=t2.id_cons $circondt1
|
---|
295 | group by t2.id_gruppo
|
---|
296 | order by somma desc", $dbi);$cosa='id_gruppo';
|
---|
297 | }
|
---|
298 |
|
---|
299 |
|
---|
300 | }else{
|
---|
301 | $res = mysql_query("select t1.id_lista, t1.num_lista, t1.descrizione, sum(t2.voti) as somma
|
---|
302 | from ".$prefix."_ele_lista as t1
|
---|
303 | left join ".$prefix."_$tab as t2 on (t1.id_lista=t2.id_lista)
|
---|
304 | where t1.id_cons='$id_cons' and t1.id_cons=t2.id_cons
|
---|
305 | group by t2.id_lista
|
---|
306 | order by somma desc", $dbi);$cosa='id_lista';
|
---|
307 | }
|
---|
308 |
|
---|
309 |
|
---|
310 |
|
---|
311 | $gruppinum=mysql_num_rows($res);
|
---|
312 | $altrivoti=0;
|
---|
313 | ###### gestione percentuali
|
---|
314 | $arperc=array();
|
---|
315 | $arval=array();
|
---|
316 | $arvaltot=0;
|
---|
317 | while (list($id,$num,$descrizione,$voti) = mysql_fetch_row($res)){
|
---|
318 | $arval[$id]=$voti;
|
---|
319 | $arvaltot+=$voti;
|
---|
320 | }
|
---|
321 | $arperc=arrayperc($arval,$arvaltot);
|
---|
322 | mysql_data_seek($res,0);
|
---|
323 | ######
|
---|
324 | while (list($id,$num,$descrizione,$voti) = mysql_fetch_row($res)){
|
---|
325 |
|
---|
326 |
|
---|
327 |
|
---|
328 | // funz per il taglio corretto della frase 13 feb 2007
|
---|
329 |
|
---|
330 | $descrizione=substr($descrizione,0,20);
|
---|
331 | $gruppo[$i]=ucwords(strtolower($descrizione));
|
---|
332 |
|
---|
333 | //if (strlen($descrizione)>25) $gruppo[$i].="...";
|
---|
334 | if ($tot!='' and $tot!='0')
|
---|
335 | $pro[$i]=number_format($voti*100/$tot,3);
|
---|
336 | $pro[$i]=number_format($arperc[$id],2); // arrotondamento
|
---|
337 |
|
---|
338 |
|
---|
339 |
|
---|
340 |
|
---|
341 |
|
---|
342 |
|
---|
343 |
|
---|
344 |
|
---|
345 | $i++;
|
---|
346 | }
|
---|
347 |
|
---|
348 |
|
---|
349 |
|
---|
350 |
|
---|
351 | $titolo=""._PERCE." "._VOTIE."";
|
---|
352 |
|
---|
353 |
|
---|
354 |
|
---|
355 |
|
---|
356 |
|
---|
357 |
|
---|
358 |
|
---|
359 | return array($gruppo,$pro);
|
---|
360 |
|
---|
361 |
|
---|
362 |
|
---|
363 | }
|
---|
364 |
|
---|
365 | }
|
---|
366 | }
|
---|
367 |
|
---|
368 | function caricablocchi(){
|
---|
369 | #### carica i blocchi presenti in modules/Elezioni/blocchi
|
---|
370 | #### nome del file da carica xx_nome.php
|
---|
371 | #### dove xx sta per un numero per visualizzare in ordine
|
---|
372 | ### 01_votanto.php Ú un nome valido
|
---|
373 | ### off_votanto.php per disabilitare la visualizzazione
|
---|
374 |
|
---|
375 |
|
---|
376 |
|
---|
377 | $list = array();
|
---|
378 | $bl=opendir('modules/Elezioni/blocchi');
|
---|
379 | while ($file = readdir($bl)) {
|
---|
380 | if (!is_dir("modules/Elezioni/blocchi/$file") and (!preg_match('/^\./',$file)) and !stristr($file,"off_")) {
|
---|
381 | array_push($list, $file);
|
---|
382 | }
|
---|
383 | }
|
---|
384 | closedir($bl);
|
---|
385 |
|
---|
386 | if(count($list)>0)
|
---|
387 | sort($list);
|
---|
388 | for ($item_num=0; $item_num < count($list); $item_num++) {
|
---|
389 | $tmp=preg_replace('/^[0-9][0-9]_/i',"",$list[$item_num]);
|
---|
390 | $title=str_replace("_"," ",str_replace(".php","",$tmp));
|
---|
391 | // backward theme compatibility
|
---|
392 |
|
---|
393 | include ("modules/Elezioni/blocchi/$list[$item_num]");
|
---|
394 |
|
---|
395 | //echo "<br />";
|
---|
396 | }
|
---|
397 | }
|
---|
398 |
|
---|
399 | function block($pos){
|
---|
400 |
|
---|
401 | global $prefix,$dbi;
|
---|
402 |
|
---|
403 | if($pos=="dx") $p=0; elseif($pos=="sx")$p=1;else $p='';
|
---|
404 |
|
---|
405 | $resblk = mysql_query("SELECT * FROM ".$prefix."_ele_widget where pos_or='$p' and attivo='1' order by pos_ver asc", $dbi);
|
---|
406 | if($resblk){
|
---|
407 | while ($row = mysql_fetch_array($resblk)) {
|
---|
408 | $nome=$row['nome_file'];
|
---|
409 | include ("modules/Elezioni/blocchi/$nome");
|
---|
410 | }
|
---|
411 | }
|
---|
412 | }
|
---|
413 |
|
---|
414 | function check_block($pos){
|
---|
415 | # verifica se ci sono blocchi nel db
|
---|
416 | global $prefix,$dbi;
|
---|
417 | if($pos=="dx") $p=0; elseif($pos=="sx")$p=1;else $p='';
|
---|
418 |
|
---|
419 | $reschk = mysql_query("SELECT * FROM ".$prefix."_ele_widget where pos_or='$p' and attivo='1' order by pos_ver asc", $dbi);
|
---|
420 | if ($reschk) $numero=mysql_num_rows($reschk);else $numero=0;
|
---|
421 |
|
---|
422 | return $numero;
|
---|
423 |
|
---|
424 | }
|
---|
425 |
|
---|
426 | function arrayperc($temp,$sevaltot)
|
---|
427 | {
|
---|
428 | $temp2tot=0;$temp2=array();$temp3=array();
|
---|
429 | while (list($key,$voti)= each($temp)) {
|
---|
430 | if($sevaltot>0){
|
---|
431 | $temp4=(ceil($voti*10000/$sevaltot)-($voti*10000/$sevaltot));
|
---|
432 | if ($temp4) $temp2[$key]=$temp4;
|
---|
433 | $valperc=number_format($voti*100/$sevaltot,2);
|
---|
434 | $temp3[$key]=$valperc;
|
---|
435 | $temp2tot+=$valperc;
|
---|
436 | }
|
---|
437 | }
|
---|
438 | if($temp2tot>100)
|
---|
439 | while ($temp2tot>100){
|
---|
440 | foreach ($temp2 as $key => $val) {
|
---|
441 | if ($val == max($temp2)) {$temp3[$key]-=0.01;$temp2tot-=0.01;$temp2[$key]=0; break;}
|
---|
442 | }
|
---|
443 | }
|
---|
444 | if("$temp2tot"=="100" or $temp2tot==0) return($temp3);
|
---|
445 | while ($temp2tot<100.00){
|
---|
446 | foreach ($temp2 as $key => $val) {
|
---|
447 | if ($val == min($temp2)) {$temp3[$key]+=0.01;$temp2tot+=0.01;$temp2[$key]=1;break;}
|
---|
448 | }
|
---|
449 |
|
---|
450 | }
|
---|
451 | return($temp3);
|
---|
452 |
|
---|
453 | }
|
---|
454 | ?>
|
---|