source: trunk/admin/modules/Elezioni/ele_lista.php

Last change on this file was 416, checked in by roby, 6 months ago
  • ADMIN

-- Inserita la variabile in config.php per il numero di liste per pagina visualizzate
-- Modificato l'aggiornamento del db per accettare nome personalizzato del superuser

  • CLIENT

-- Inserita la variabile in config.php per il numero di liste per pagina visualizzate
-- Aggiornata una query per la compatibilità con l'impostazione di mysql sql_mode=only_full_group_by

File size: 16.2 KB
Line 
1<?php
2
3/************************************************************************/
4/* Eleonline - Raccolta e diffusione dei dati elettorali */
5/* by Roberto Gigli & Luciano Apolito */
6/* http://www.eleonline.it */
7/* info@eleonline.it luciano@aniene.net rgigli@libero.it */
8/************************************************************************/
9/* Modulo lista */
10/* Amministrazione */
11/************************************************************************/
12if (!defined('ADMIN_FILE')) {
13 die ("You can't access this file directly...");
14}
15
16ob_start();
17$param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
18$id_cons_gen=intval($param['id_cons_gen']);
19$perms=ChiSei($id_cons_gen);
20if ($perms<32 or !$id_cons_gen) die("$id_cons_gen -Non hai i permessi per inserire dati, o non hai scelto la consultazione!");
21$sql="SELECT t1.tipo_cons,t2.id_cons 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'";
22$res = $dbi->prepare("$sql");
23$res->execute();
24list($tipo_cons,$id_cons) = $res->fetch(PDO::FETCH_NUM);
25
26include("modules/Elezioni/funzionidata.php");
27include("modules/Elezioni/ele.php");
28if (isset($param['mex'])) $mex=htmlentities($param['mex'], ENT_QUOTES, "UTF-8"); else $mex='';
29if (isset($param['do'])) $do=htmlentities($param['do'], ENT_QUOTES, "UTF-8"); else $do='';
30if (isset($param['min'])) $min=intval($param['min']); else $min=0;
31if (isset($param['ok'])) $ok=htmlentities($param['ok'], ENT_QUOTES, "UTF-8"); else $ok='';
32if (isset($param['id_lista'])) $id_lista=intval($param['id_lista']); else $id_lista=0;
33if (isset($param['id_circ'])) {$id_circ=intval($param['id_circ']); $_SESSION['id_circ']=$id_circ;} else
34 if (isset($_SESSION['id_circ'])) $id_circ=intval($_SESSION['id_circ']); else $id_circ=0;
35if (isset($param['id_gruppo'])) $id_gruppo=intval($param['id_gruppo']); else $id_gruppo=0;
36if (isset($param['id_gruppo2'])) $id_gruppo2=intval($param['id_gruppo2']); else $id_gruppo2=0;
37if (isset($param['num_lista'])) $num_lista=intval($param['num_lista']); else $num_lista=0;
38#if (isset($param['descr_lista'])) $descr_lista=htmlentities($param['descr_lista']); else $descr_lista='';
39if (isset($param['descr_lista'])) $descr_lista=addslashes($param['descr_lista']); else $descr_lista='';
40if (isset($param['simbolo'])) $simbolo=addslashes($param['simbolo']); else $simbolo='';
41if (isset($param['stemma'])) $stemma=addslashes($param['stemma']); else $stemma='';
42
43// Offset - visualizza il numero di elementi per pagina
44if(isset($offsetliste) and $offsetliste>0) $offset=$offsetliste; else $offset=15;
45$hiddenInfo = "<input type=\"hidden\" name=\"min\" value=\"$min\">";
46
47
48/******************************************************/
49/*Funzione di visualizzazione globale */
50/*****************************************************/
51
52function all() {
53 global $param,$bgcolor1, $bgcolor2, $prefix, $dbi, $offset, $min, $id_cons,$tipo_cons,$id_gruppo,$id_gruppo2,$genere,$id_cons_gen,$do,$id_circ, $mex,$descr_lista,$id_lista;
54 $currentlang=$_SESSION['lang'];
55 $cur_circ=$id_circ;
56
57 $circo='';
58 $sql="SELECT circo FROM ".$prefix."_ele_tipo where tipo_cons='$tipo_cons'";
59 $res = $dbi->prepare("$sql");
60 $res->execute();
61 list($cons_circ)= $res->fetch(PDO::FETCH_NUM);
62 if($cons_circ)
63 {
64 echo "<form name=\"circo\" action=\"admin.php\" method=\"post\">";
65 echo "<br><br><table border=\"1\" width=\"50%\" ><tr bgcolor=\"$bgcolor1\"><td>"._SCEGLI_CIRCO.": </td>";
66 $sql="SELECT * FROM ".$prefix."_ele_circoscrizione where id_cons='$id_cons'";
67 $res = $dbi->prepare("$sql");
68 $res->execute();
69 echo "<input type=\"hidden\" name=\"pag\" value=\"admin.php?op=lista&amp;id_cons_gen=$id_cons_gen&amp;id_circ=\">";
70 echo "<td><select name=\"id_circ\" onChange=\"top.location.href=this.form.pag.value+this.form.id_circ.options[this.form.id_circ.selectedIndex].value;return false\">";
71 echo "<option value=\"\">";
72 while($arr=$res->fetch(PDO::FETCH_BOTH)){
73 if (!$id_circ) $id_circ=$arr['id_circ'];
74 $sel= ($arr['id_circ'] == $id_circ) ? "selected":"";
75 echo "<option value=\"".$arr['id_circ']."\" $sel>".$arr['descrizione'];
76 }
77 echo "</select></td></tr></table></form>";
78 $circo="and id_circ=$id_circ";
79 }
80 echo "<center><font class=\"title\">";
81 if ($mex) echo "<br>$mex";
82 echo "<br><b>"._LISTA."</b></font><br><br><table border=\"0\" width=\"100%\"><tr>"
83 ."<td bgcolor=\"$bgcolor1\" align=\"center\" width=\"5%\"><b>"._NUM."</b></td>"
84 ."<td bgcolor=\"$bgcolor1\" align=\"center\"><b>"._DESCR."</b></td>";
85 echo "<td bgcolor=\"$bgcolor1\" align=\"center\" width=\"5%\"><b>"._SIMBOLO."</b></td>";
86 if ($genere==1 or $genere==3 or $genere==5) { ###prova
87 echo "<td bgcolor=\"$bgcolor1\" align=\"center\"><b>"._GRUPPO."</b></td>";
88 }
89 echo "<td bgcolor=\"$bgcolor1\" align=\"center\"><b>"._FUNZIONI."</b></td></tr>";
90 $sql="SELECT * FROM ".$prefix."_ele_lista where id_cons='$id_cons' $circo ";
91 $res = $dbi->prepare("$sql");
92 $res->execute();
93 $max = $res->rowCount();
94 $nuova_lista=$max+1;
95 //-----------------------visualizza riga superiore per inserimento -
96 echo "<form name=\"lista2\" enctype=\"multipart/form-data\" action=\"admin.php\" method=\"post\">"
97 ."<input type=\"hidden\" name=\"op\" value=\"lista\">";
98 if ($do=='modify') {
99 $sql="SELECT * FROM ".$prefix."_ele_lista where id_lista='$id_lista'";
100 $resl = $dbi->prepare("$sql");
101 $resl->execute();
102 $lis=$resl->fetch(PDO::FETCH_BOTH);
103 $nuova_lista=$lis['num_lista'];
104 echo "<input type=\"hidden\" name=\"do\" value=\"update\">";
105 }else{
106 $lis['id_lista']='';
107 if ($descr_lista) $lis['descrizione']="$descr_lista";else $lis['descrizione']='';
108 echo "<input type=\"hidden\" name=\"do\" value=\"add\">";
109 }
110 //-----------------------fine visualizza riga superiore per inserimento -
111 echo "
112 <input type=\"hidden\" name=\"id_cons_gen\" value=\"$id_cons_gen\">
113 <input type=\"hidden\" name=\"id_circ\" value=\"$id_circ\">
114 <input type=\"hidden\" name=\"id_lista\" value=\"".$lis['id_lista']."\">
115 <tr>
116 <td><input type=\"text\" name=\"num_lista\" value=\"$nuova_lista\" size=\"5\"></td>
117 <td><input type=\"text\" name=\"descr_lista\" size=\"35\" value=\"".$lis['descrizione']."\"></td>
118 <td><input name=\"stemma\" type=\"file\" size=\"10\"></td>";
119
120 if ($genere==1 or $genere==3 or $genere==5) ###prova
121 {
122 echo "
123 <input type=\"hidden\" name=\"pag\" value=\"admin.php?op=lista&amp;id_circ=$id_circ&amp;id_cons_gen=$id_cons_gen&amp;id_gruppo=\">
124 <td><select name=\"id_gruppo\" onChange=\"aggiorna(6)\">
125 <option value=\"\">";
126
127 $sql="select id_gruppo, descrizione from ".$prefix."_ele_gruppo where id_cons=$id_cons $circo";
128 $result1 = $dbi->prepare("$sql");
129 $result1->execute();
130 $id_gruppo2= ($id_gruppo2)?$id_gruppo2:$id_gruppo;
131 if ($result1)
132 while(list($id,$descr)=$result1->fetch(PDO::FETCH_NUM)){
133 $sel= ($id == $id_gruppo2) ? "selected":"";
134 echo "<option value=\"$id\" $sel>$descr";
135 }
136 echo "</select></td>";
137 }
138
139 echo "<input type=\"hidden\" name=\"id_cons_gen\" value=\"$id_cons_gen\">"
140 ."<input type=\"hidden\" name=\"min\" value=\"$min\">";
141 if ($do=='modify')
142 echo "<td align=\"center\"><input type=\"submit\" name=\"add\" value=\""._MODIFY."\"></td>";
143 else
144 echo "<td align=\"center\"><input type=\"submit\" name=\"add\" value=\""._ADD."\"></td>";
145 echo "</form>";
146 echo "<SCRIPT type=\"text/javascript\">\n\n<!--\n"
147 ."document.lista2.descr_lista.focus()\n"
148 ."//-->\n";
149 echo "function vai_a() {\n";
150 echo "window.document.location.href=document.lista2.pag.value+document.lista2.id_gruppo.value\n";
151 echo "}\n";
152 echo "function aggiorna(id_ele) {\n";
153 echo "if (document.lista2.elements[id_ele].value==\"\") {vai_a()}\n";
154 echo "}\n";
155 echo "</script>\n";
156 $grup= $id_gruppo ? "and id_gruppo='$id_gruppo'":"";
157 $sql="select count(id_lista) from ".$prefix."_ele_lista where id_cons='$id_cons' $circo";
158 $result = $dbi->prepare("$sql");
159 $result->execute();
160 list($numero) = $result->fetch(PDO::FETCH_NUM);
161 $sql="select * from ".$prefix."_ele_lista where id_cons='$id_cons' $grup $circo ORDER BY num_lista LIMIT $min,$offset";
162 $result = $dbi->prepare("$sql");
163 $result->execute();
164 while(list($id_cons2,$id_lista,$num_lista, $id_gruppo,$num_gruppo,$id_circ,$num_circ, $descr_lista, $simbolo) = $result->fetch(PDO::FETCH_NUM)) {
165 $bgcolor1=($bgcolor1==$_SESSION['bgcolor1'])?$_SESSION['bgcolor2']:$_SESSION['bgcolor1'];
166 // dati gruppo
167 if ($genere==1 or $genere==3 or $genere==5){ ###prova
168 $sql="select descrizione,simbolo from ".$prefix."_ele_gruppo where id_cons='$id_cons' and id_gruppo='$id_gruppo'";
169 $result1 = $dbi->prepare("$sql");
170 $result1->execute();
171 list($descr_gruppo,$simb_gruppo)=$result1->fetch(PDO::FETCH_NUM);
172 }
173 $sql="select count(0) from ".$prefix."_ele_candidati where id_lista='$id_lista'";
174 $restemp = $dbi->prepare("$sql");
175 $restemp->execute();
176 list($numtemp)=$restemp->fetch(PDO::FETCH_NUM);
177
178 echo "<tr bgcolor=\"$bgcolor1\"><td align=\"right\"><b>$num_lista</b>"
179 ."</td><td align=\"left\"><b>$descr_lista</b>"
180 ."</td><td align=\"center\"><img class=\"stemma\" src=\"admin.php?op=foto&amp;id_lista=$id_lista&amp;prefix=$prefix\" width=\"50\">";
181 if ($genere==1 or $genere==3 or $genere==5) { ###prova
182 echo "</td><td align=\"left\"><b>$descr_gruppo</b></td>";
183 }
184 echo "<td align=\"center\" nowrap>[<a
185 href=\"admin.php?op=lista&amp;do=modify&amp;id_lista=$id_lista&amp;id_gruppo2=$id_gruppo&amp;id_cons_gen=$id_cons_gen&amp;min=$min&amp;id_circ=$id_circ\"><img src=\"modules/Elezioni/images/edit.gif\"
186 border=\"0\" align=\"center\"> "._EDIT."</a>]";
187 if (!$numtemp)
188 echo "[<a href=\"admin.php?op=lista&amp;do=delete&amp;id_lista=$id_lista&amp;id_gruppo=$id_gruppo&amp;descr_lista=$descr_lista&amp;min=$min&amp;id_cons_gen=$id_cons_gen&amp;id_circ=$id_circ\">"._DELETE." <img src=\"modules/Elezioni/images/delete.gif\" border=\"0\" align=\"center\"></a>]";
189 else
190 echo "["._DELETE." <img src=\"modules/Elezioni/images/delete.gif\" border=\"0\" align=\"center\">]";
191
192 echo "</td></tr>";
193 }
194 echo "</table></center>";
195
196
197 #'Pagina precedente' e 'Pagina Successiva'
198 echo"<table align=\"center\" width=\"100%\" ><tr>";
199 $prev=$min-$offset;
200 if ($prev>=0) {
201 echo "<td colspan=\"5\" align=\"center\" bgcolor=\"$bgcolor1\"><a href=\"admin.php?op=lista&amp;id_lista=$id_lista&amp;id_gruppo=$id_gruppo&amp;id_circ=$cur_circ&amp;min=$prev&amp;id_cons_gen=$id_cons_gen\">";
202 echo "<b>$offset "._PREV_MATCH."</b></a></td>";
203 }
204
205 $next=$min+$offset;
206 if ($next>=($offset-1)) {
207 if($next>=$max) $next = $max;
208 else {
209 echo "<td colspan=\"5\" align=\"center\" bgcolor=\"$bgcolor1\"><a href=\"admin.php?op=lista&amp;id_lista=$id_lista&amp;id_gruppo=$id_gruppo&amp;id_circ=$cur_circ&amp;min=$next&amp;id_cons_gen=$id_cons_gen\">";
210 echo "<b>$offset "._NEXT_MATCH."</b></a></td>";
211 }
212 }
213 echo "</tr></table><br>";
214
215}
216
217function lista($ok, $do,$id_lista, $num_lista, $id_gruppo,$id_circ, $descr_lista, $simbolo,$stemma) {
218 global $param,$bgcolor1, $bgcolor2, $prefix, $dbi, $descr_cons, $id_cons,$simbolo2,$tipo_cons,$min,$genere,$id_cons_gen;
219 $aid=$_SESSION['aid'];
220 $perms=ChiSei($id_cons_gen);
221 if (!$id_gruppo) $id_gruppo=0;
222 $sql="select num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$id_gruppo'";
223 $result1 = $dbi->prepare("$sql");
224 $result1->execute();
225 list($num_gruppo)=$result1->fetch(PDO::FETCH_NUM);
226 if (!$num_gruppo) $num_gruppo=0;
227 if ($perms >16) {
228 if ($do == "delete") {
229 if ($ok !="1") {
230 ele();
231 echo "<center><br><br>"._DOMCANCELLA." "._LISTA." $descr_lista ?<br>";
232 echo "[ <a href=\"admin.php?op=lista&amp;id_cons_gen=$id_cons_gen&amp;min=$min&amp;id_circ=$id_circ\">"._NO."</a> ] - [<a href=\"admin.php?op=lista&amp;do=delete&amp;id_lista=$id_lista&amp;id_gruppo=$id_gruppo&amp;id_circ=$id_circ&amp;ok=1&amp;min=$min&amp;id_cons_gen=$id_cons_gen\">"._YES."</a> ]";exit;
233 }else{
234 $sql="delete from ".$prefix."_ele_lista where id_lista='$id_lista'";
235 $result = $dbi->prepare("$sql");
236 $result->execute();
237 Header("Location: admin.php?op=lista&id_circ=$id_circ&id_cons_gen=$id_cons_gen&min=$min");
238 }
239 }elseif ($do == "add") {
240 if ($descr_lista and ($id_gruppo or ($genere!=3 and $genere!=5))) {
241 $stemmablob='';
242 $stemmanome='';
243 $STEMM=$_FILES['stemma'];
244 $filestemma=$STEMM['tmp_name'];
245 #### Controllo della dimensione del file immagine
246 $lungh=filesize($filestemma);
247 if($lungh>60000){
248 $exploded = explode('.',$filestemma);
249 $allowedTypes = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF);
250 $ext = exif_imagetype($filestemma);
251 if ($ext==1)
252 $imageTmp=imagecreatefromgif($filestemma);
253 elseif ($ext==2)
254 $imageTmp=imagecreatefromjpeg($filestemma);
255 elseif ($ext==3)
256 $imageTmp=imagecreatefrompng($filestemma);
257 elseif ($ext==6)
258 $imageTmp=imagecreatefrombmp($filestemma);
259 $x=100;$y=10;
260 while(filesize($filestemma)>60000 and $x>0){
261 imagejpeg($imageTmp, $filestemma, $x);
262 $x=$x-$y;
263 }
264 imagedestroy($imageTmp);
265 }
266 ####
267 $nomestemma=$STEMM['name'];
268 $sqlset='';
269 if ($filestemma){
270 $fdstemma = fopen ("$filestemma", "rb");
271 $stemmacontents = fread ($fdstemma, filesize ("$filestemma"));
272 fclose ($fdstemma);
273 $stemmablob=addslashes($stemmacontents);
274 $stemmanome=addslashes($nomestemma);
275 }
276 $sql="insert into ".$prefix."_ele_lista (id_cons,num_lista,id_gruppo,num_gruppo,id_circ,descrizione,simbolo,stemma) values ('$id_cons','$num_lista','$id_gruppo','$num_gruppo','$id_circ','$descr_lista','$stemmanome','$stemmablob')";
277 $result = $dbi->prepare("$sql");
278 $result->execute();
279 Header("Location: admin.php?op=lista&id_circ=$id_circ&min=$min&id_cons_gen=$id_cons_gen");
280 } else {
281 $mex="";
282 if (!$id_gruppo) $mex.="- Devi collegare la lista ad un gruppo! -";
283 if (!$descr_lista) $mex.="- Devi inserire il nome della lista! -";
284 Header("Location: admin.php?op=lista&id_circ=$id_circ&min=$min&id_cons_gen=$id_cons_gen&descr_lista=$descr_lista&id_gruppo=$id_gruppo&mex=$mex");
285 }
286 }elseif ($do == "update") {
287 $stemmablob='';
288 $stemmanome='';
289 $STEMM=$_FILES['stemma'];
290 $filestemma=$STEMM['tmp_name'];
291 #### Controllo della dimensione del file immagine
292 $lungh=filesize($filestemma);
293 if($lungh>60000){
294 $exploded = explode('.',$filestemma);
295 $allowedTypes = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF);
296 $ext = exif_imagetype($filestemma);
297 if ($ext==1)
298 $imageTmp=imagecreatefromgif($filestemma);
299 elseif ($ext==2)
300 $imageTmp=imagecreatefromjpeg($filestemma);
301 elseif ($ext==3)
302 $imageTmp=imagecreatefrompng($filestemma);
303 elseif ($ext==6)
304 $imageTmp=imagecreatefrombmp($filestemma);
305 $x=100;$y=10;
306 while(filesize($filestemma)>60000 and $x>0){
307 imagejpeg($imageTmp, $filestemma, $x);
308 $x=$x-$y;
309 }
310 imagedestroy($imageTmp);
311 }
312 ####
313 $nomestemma=$STEMM['name'];
314 $sqlset='';
315 if ($filestemma){
316 $fdstemma = fopen ("$filestemma", "rb");
317 $stemmacontents = fread ($fdstemma, filesize ("$filestemma"));
318 fclose ($fdstemma);
319 $stemmablob=addslashes($stemmacontents);
320 $stemmanome=($nomestemma);
321 $cond=", simbolo='$stemmanome', stemma='$stemmablob'";
322 } else {$cond='';}
323 $sql="update ".$prefix."_ele_lista set num_lista='$num_lista' , id_gruppo='$id_gruppo',num_gruppo='$num_gruppo',descrizione='$descr_lista' $cond where id_lista='$id_lista'";
324 #die("TEST: $sql");
325 $result = $dbi->prepare("$sql");
326 $result->execute();
327 Header("Location: admin.php?op=lista&id_circ=$id_circ&min=$min&id_cons_gen=$id_cons_gen");
328 }
329
330
331 }
332}
333
334
335
336
337
338
339
340if ($do and $do!='modify')
341 lista($ok, $do,$id_lista, $num_lista, $id_gruppo,$id_circ,$descr_lista, $simbolo,$stemma);
342ele();
343all();
344echo"</td></tr></table>";
345include("footer.php");
346
347ob_end_flush();
348
349?>
Note: See TracBrowser for help on using the repository browser.