source: trunk/client/modules/Elezioni/rss.php@ 420

Last change on this file since 420 was 420, checked in by roby, 6 months ago
  • CLIENT

-- modifica alla funzione della proiezione di assegnazione dei seggi
-- modifica alla funzione rss
-- modifica ai widget pie_affluenze e gom_affluenze

File size: 6.8 KB
RevLine 
[2]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/* Ultima modifica 22 aprile 2008 */
10
11$param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ?
12 $_GET : $_POST;
13
14
[390]15#header('Content-Type: text/html;');
[2]16header("Content-Type: text/xml");
17
18// data
19$gmtdiff = date("O", time());
20$gmtstr = substr($gmtdiff, 0, 3) . ":" . substr($gmtdiff, 3, 9);
21$now = date("Y-m-d\TH:i:s", time());
22$now = $now . $gmtstr;
23// comune
[265]24$sql="SELECT descrizione FROM ".$prefix."_ele_comuni where id_comune='$id_comune' ";
25$res = $dbi->prepare("$sql");
26$res->execute();
[2]27
[265]28 list($descr_com) = $res->fetch(PDO::FETCH_NUM);
[418]29//URL
30$PHP_SELF=$_SERVER['PHP_SELF'];
31$siteurl.=$PHP_SELF;
[2]32
[418]33echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
[2]34echo "<rss version=\"2.0\" \n";
35echo " xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n";
36echo " xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"\n";
37echo " xmlns:admin=\"http://webns.net/mvcb/\"\n";
[418]38echo " xmlns:atom=\"http://www.w3.org/2005/Atom\"\n";
[2]39echo " xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n\n";
40echo "<channel>\n";
41echo "<title>".htmlspecialchars($descr_com)." - $descr_cons</title>\n";
[418]42echo "<link>https://".htmlspecialchars($siteurl)."</link>\n";
[2]43echo "<description>".$sitename."</description>\n";
44echo "<dc:language>it-IT</dc:language>\n";
45echo "<dc:creator>".$adminmail."</dc:creator>\n";
46echo "<dc:date>".$now."</dc:date>\n\n";
47echo "<sy:updatePeriod>hourly</sy:updatePeriod>\n";
48echo "<sy:updateFrequency>1</sy:updateFrequency>\n";
49echo "<sy:updateBase>".$now."</sy:updateBase>\n\n";
[418]50echo "<atom:link href=\"https://$siteurl?op=rss&amp;rss=1&amp;name=Elezioni&amp;id_comune=$id_comune&amp;file=index&amp;id_cons_gen=$id_cons_gen\" rel=\"self\" type=\"application/rss+xml\" />\n";
[2]51
[420]52$id_gruppo = isset($param['id_gruppo']) ? intval($param['id_gruppo']) : 0;
[418]53list ($gruppo,$pro,$titolo,$idg)=grupporss();
[420]54#else
55# list ($gruppo,$pro,$titolo,$idg)=grupporss();
[2]56
57
58for($x=0;$x<count($gruppo);$x++){
59
60 // format: 2004-08-02T12:15:23-06:00
[145]61 //$date = date("Y-m-d\TH:i:s", strtotime($time));
62 //$date = $date . $gmtstr;
[2]63
64 echo "<item>\n";
65 echo "<title>".$gruppo[$x]." ".$pro[$x] ."% </title>\n";
[420]66 if ($genere==4){
67 echo "<link>https://$siteurl?op=rss&amp;rss=1&amp;name=Elezioni&amp;id_comune=$id_comune&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_lista=$idg[$x]</link>\n";
68 echo "<guid>https://$siteurl?op=rss&amp;rss=1&amp;name=Elezioni&amp;id_comune=$id_comune&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_lista=$idg[$x]</guid>\n";
69 }else{
70 echo "<link>https://$siteurl?op=rss&amp;rss=1&amp;name=Elezioni&amp;id_comune=$id_comune&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_gruppo=$idg[$x]</link>\n";
71 echo "<guid>https://$siteurl?op=rss&amp;rss=1&amp;name=Elezioni&amp;id_comune=$id_comune&amp;file=index&amp;id_cons_gen=$id_cons_gen&amp;id_gruppo=$idg[$x]</guid>\n";
72 }
[390]73# echo "<description><![CDATA['aa']]></description>\n";
[2]74
75
76
77
78
79 //echo "<guid isPermaLink=\"false\">noreply@ciao.it</guid>\n";
[390]80 echo "<dc:subject>$titolo</dc:subject>\n";
[145]81 echo "<dc:date>".$now."</dc:date>\n";
[2]82 echo "<dc:creator>Postato da ".$sitename."</dc:creator>\n";
83 echo "</item>\n\n";
84}
85
86echo "</channel>\n";
87echo "</rss>\n";
88
89
90
91
92// gruppo
93function grupporss(){
[420]94global $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,$lang,$id_gruppo;
[2]95 if ($genere!=0){$tab="ele_voti_gruppo";}
96 if ($genere==4){$tab="ele_voti_lista";}
[420]97 if ($votog or $id_gruppo){$tab="ele_voti_lista";}
98 if($id_gruppo) $idgrp="and t1.id_gruppo='$id_gruppo'"; else $idgrp='';
[418]99 $sql="select id_sez from ".$prefix."_$tab where id_cons='$id_cons' group by id_sez ";
[265]100 $res = $dbi->prepare("$sql");
101 $res->execute();
102 if ($res) $numero=$res->rowCount();else $numero=0;
103 $sql="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";
104 $res = $dbi->prepare("$sql");
105 $res->execute();
106 if ($res) $sezioni=$res->rowCount();else $sezioni=0;
[2]107 if ($numero>0){
108 if ($genere!=0){
109 // tot voti
110 if (!$circo)
[265]111 $sql="select sum(voti) from ".$prefix."_$tab where id_cons=$id_cons ";
[2]112 if ($votog)
[265]113 $sql="select sum(voti) from ".$prefix."_ele_voti_lista where id_cons=$id_cons ";
114 $restotv = $dbi->prepare("$sql");
115 $restotv->execute();
116 list($tot) = $restotv->fetch(PDO::FETCH_NUM);
[2]117 $i=0;
118 // lista o gruppo
[420]119 if ($genere!=4 and !$id_gruppo){
[2]120 if ($votog){
[420]121 $sql="select t1.id_gruppo, t1.num_gruppo, t1.descrizione, sum(t2.voti) as somma
122 from ".$prefix."_ele_gruppo as t1,
123 ".$prefix."_ele_voti_lista as t2,
124 ".$prefix."_ele_lista as t3
125 where t1.id_cons='$id_cons'
126 and t2.id_lista=t3.id_lista
127 and t1.id_gruppo=t3.id_gruppo
128 group by t1.id_gruppo
129 order by somma desc";
130 $res = $dbi->prepare("$sql");
131 $res->execute();
132 $cosa='id_gruppo';
[2]133 }else{
[420]134 $sql="select t1.id_gruppo, t1.num_gruppo, t1.descrizione, sum(t2.voti) as somma
135 from ".$prefix."_ele_gruppo as t1
136 left join ".$prefix."_$tab as t2 on (t1.id_gruppo=t2.id_gruppo)
137 where t1.id_cons='$id_cons' and t1.id_cons=t2.id_cons $circondt1
138 group by t1.id_gruppo,t1.num_gruppo,t1.descrizione
139 order by somma desc";
140 $res = $dbi->prepare("$sql");
141 $res->execute();
142 $cosa='id_gruppo';
143 }
[2]144 }else{
[265]145 $sql="select t1.id_lista, t1.num_lista, t1.descrizione, sum(t2.voti) as somma
[2]146 from ".$prefix."_ele_lista as t1
[420]147 left join ".$prefix."_$tab as t2 on (t1.id_lista=t2.id_lista)
148 where t1.id_cons='$id_cons' and t1.id_cons=t2.id_cons $idgrp
[418]149 group by t1.id_lista,t1.num_lista,t1.descrizione
[265]150 order by somma desc";
151 $res = $dbi->prepare("$sql");
152 $res->execute();
153 $cosa='id_lista';
[2]154 }
155
[420]156# $gruppinum=$res->fetch(PDO::FETCH_NUM);
157 $altrivoti=0;
158 while (list($id,$num,$descrizione,$voti) = $res->fetch(PDO::FETCH_NUM)){
159 // funz per il taglio corretto della frase 13 feb 2007
160 $gruppo[$i]=substr($descrizione,0,25);
161 //if (strlen($descrizione)>25) $gruppo[$i].="...";
162 $pro[$i]=number_format($voti*100/$tot,2);
163 $idg[$i]=$id;
[2]164 $i++;
165 }
[390]166 include_once("language/lang-$lang.php");
[2]167 $titolo=""._PERCE." "._VOTIE."";
[418]168 return array($gruppo,$pro,$titolo,$idg);
[2]169 }
170 }
171}
172
173?>
Note: See TracBrowser for help on using the repository browser.