source: trunk/admin/modules/Elezioni/importa.php@ 35

Last change on this file since 35 was 35, checked in by roby, 14 years ago

corretti notice su importazione liste da altri siti

File size: 9.9 KB
Line 
1<?php
2/************************************************************************/
3/* Eleonline - Raccolta e diffusione dei dati elettorali */
4/* by Roberto Gigli & Luciano Apolito */
5/* http://www.eleonline.it */
6/* info@eleonline.it luciano@aniene.net rgigli@libero.it */
7/************************************************************************/
8/* Modulo Inserimento dati */
9/* Amministrazione */
10/************************************************************************/
11
12if (!defined('ADMIN_FILE')) {
13 die ("You can't access this file directly...");
14}
15$perms=ChiSei(0);
16if ($perms<32) die("Non hai i permessi per effettuare questa operazione!");
17
18$param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
19$id_cons_gen=intval($param['id_cons_gen']);
20if (isset($param['datafile'])) get_magic_quotes_gpc() ? $datafile=$param['datafile']:$datafile=addslashes($param['datafile']); else $datafile='';
21include("modules/Elezioni/ele.php");
22
23
24function insgruppo()
25{
26global $prefix, $dbi;
27global $ar_gruppo,$ar_lista,$ar_candi,$idcns;
28
29foreach ($ar_gruppo as $rigagruppo){
30 $newidg=0;
31 $oldidg=0;
32 foreach($rigagruppo as $key=>$campo){
33 if ($key==0) $valori="'$idcns',";
34 elseif ($key==1) {$valori.= "null"; $oldidg=$campo;}
35 elseif ($key==6) $valori.= ",0";
36 else $valori.= ",'$campo'";
37 if ($key==2) $numgruppo= $campo;
38 }
39 if(isset($valori)){
40 $res_gruppo = mysql_query("insert into ".$prefix."_ele_gruppo values($valori)" ,$dbi)||die("(1104) Non e' stato possibile inserire i gruppi nel database! contattare l'amministratore".mysql_error());
41 $resnew = mysql_query("select id_gruppo from ".$prefix."_ele_gruppo where num_gruppo='$numgruppo' and id_cons='$idcns'" ,$dbi);
42 list ($newidg) = mysql_fetch_row($resnew);
43 unset($valori);
44 inslista($oldidg,$newidg);
45 }
46}
47}
48
49function inslista($oldidg,$newidg)
50{
51global $prefix, $dbi;
52global $ar_lista,$ar_candi,$idcns;
53
54 foreach ($ar_lista as $rigalista){
55 $oldidl=0;
56 $okl=0;
57 foreach($rigalista as $key=>$campo){
58 if ($key==0) $valori="'$idcns',";
59 elseif ($key==1) {$valori.= "null";$oldidl=$campo;}
60 elseif ($key==3) {$valori.= ",'$newidg'"; if ($campo!=$oldidg) $okl=1;}
61 elseif ($key==4) $valori.= ",0";
62 else $valori.= ",'$campo'";
63 if ($key==2) $numlista= $campo;
64 }
65 if(isset($valori)){
66 if ($okl) {$okl=0;continue;}
67 $res_lista = mysql_query("insert into ".$prefix."_ele_lista values($valori)" ,$dbi)||die("(1104) Non e' stato possibile inserire le liste nel database! contattare l'amministratore".mysql_error());
68 $reslnew = mysql_query("select id_lista from ".$prefix."_ele_lista where num_lista='$numlista' and id_cons='$idcns'" ,$dbi);
69 list ($newidl) = mysql_fetch_row($reslnew);
70 unset($valori);
71 inscandi($oldidl,$newidl);
72 }
73}
74}
75
76function inscandi($oldidl,$newidl)
77{
78global $prefix, $dbi;
79global $ar_candi,$idcns;
80
81 foreach ($ar_candi as $rigacandi){
82 $okc=0;
83 foreach($rigacandi as $key=>$campo){
84 if (count($rigacandi)!=8) {unset($valori);continue;}
85 if ($key==0) $valori= "null,";
86 elseif ($key==1) $valori.="'$idcns',";
87 elseif ($key==2) {$valori.= "'$newidl'"; if ($campo!=$oldidl) $okc=1;}
88 else $valori.= ",'$campo'";
89 }
90 if(isset($valori)){
91 if ($okc) {$okc=0;continue;}
92 $res_lista = mysql_query("insert into ".$prefix."_ele_candidati values($valori)" ,$dbi)||die("(1104) Non e' stato possibile inserire i candidati nel database! contattare l'amministratore".mysql_error());
93 }
94 }
95
96}
97
98
99
100
101
102$res = mysql_query("SELECT t1.id_cons, t2.descrizione FROM ".$prefix."_ele_cons_comune as t1 left join ".$prefix."_ele_consultazione as t2 on t1.id_cons_gen=t2.id_cons_gen where t1.id_comune='$id_comune' and t2.id_cons_gen='$id_cons_gen'" , $dbi);
103list($id_cons,$descrizione) = mysql_fetch_row($res);
104 if (!isset($_FILES['datafile']['tmp_name']) or !is_uploaded_file($_FILES['datafile']['tmp_name']))
105 {
106 ele();
107 echo "<form name=\"importa\" enctype=\"multipart/form-data\" method=\"post\" action=\"admin.php\" >"
108 ."<input type=\"hidden\" name=\"op\" value=\"importa\">";
109 echo "<input type=\"hidden\" name=\"id_cons_gen\" value=\"$id_cons_gen\">";
110 echo "<input type=\"hidden\" name=\"id_comune\" value=\"$id_comune\">";
111 echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"1\"><tr class=\"bggray\"><td colspan=\"2\" align=\"center\">"._SEL_DATA_FILE2."</td></tr><tr><td><input name=\"datafile\" type=\"file\"></td>";
112 echo "<td align=\"center\"><input type=\"submit\" name=\"add\" value=\""._OK."\"></td></tr></table></form>";
113////////////////////////////
114}else{$datafile=$_FILES['datafile']['tmp_name'];
115$arrFile = file($datafile);
116$handle = fopen($datafile, "r");
117$test=array();
118$errore=0;
119
120// Set counters
121 $currentLine = 0;
122 $cntFile = count($arrFile);
123$tabs=array($prefix."_ele_gruppo",$prefix."_ele_lista",$prefix."_ele_candidati");
124$x=0;$k=0;
125$scarto=0;
126$conta=array();
127 $currentLine = 0;
128 $x=0;$k=0;
129 $y=0;
130$ar_gruppo=array(array());
131$ar_lista=array(array());
132$ar_candi=array(array());
133 $z=0;
134 $tab=substr($arrFile[$currentLine],1,-2);
135 $conf=$tabs[$x];
136if($k==0) {while (substr($arrFile[$currentLine],1,-2)!=$conf and $currentLine <= $cntFile) $currentLine++; $k++;}
137 $currentLine++;
138 while($currentLine <= $cntFile ){
139# $appo=substr($arrFile[$currentLine],1,-2);
140 if(isset($arrFile[$currentLine]))
141 $appo=substr($arrFile[$currentLine],1,-2);
142 else $appo='';
143 if (isset($tabs[($x+1)]) and $appo==$tabs[($x+1)]){ $x++;$conf=$tabs[$x];$currentLine++; continue;}
144 $test=explode(':',$appo); if(!is_array($test)) {die("errore di import<br>");}
145 foreach($test as $key=>$val) #echo "$key : $campo ($conf==$prefix._ele_gruppo)"; die();
146 if ($conf==$prefix."_ele_gruppo")
147 $ar_gruppo[$z][$key]=addslashes(base64_decode($val));
148 elseif ($conf==$prefix."_ele_lista"){
149 $ar_lista[$z][$key]=addslashes(base64_decode($val));}
150 elseif ($conf==$prefix."_ele_candidati")
151 $ar_candi[$z][$key]=addslashes(base64_decode($val));
152 elseif ($appo==$prefix."_ele_circoscrizione")
153 {$fine=0;break;}
154 $currentLine++;
155 $z++;
156 }
157fclose($handle);
158$idcns=$id_cons; #$ar_gruppo[0][0];
159$res_del = mysql_query("delete from ".$prefix."_ele_voti_ref where id_cons=$idcns" ,$dbi);
160$res_del = mysql_query("delete from ".$prefix."_ele_voti_candidati where id_cons=$idcns" ,$dbi);
161$res_del = mysql_query("delete from ".$prefix."_ele_voti_lista where id_cons=$idcns" ,$dbi);
162$res_del = mysql_query("delete from ".$prefix."_ele_voti_gruppo where id_cons=$idcns" ,$dbi);
163$res_del = mysql_query("update ".$prefix."_ele_sezioni set validi='0', contestati='0', validi_lista='0', nulli='0',bianchi='0',contestati_lista='0', voti_nulli_lista='0' where id_cons=$idcns" ,$dbi);
164$res_del = mysql_query("delete from ".$prefix."_ele_voti_parziale where id_cons=$idcns" ,$dbi);
165$res_del = mysql_query("delete from ".$prefix."_ele_candidati where id_cons=$idcns" ,$dbi);
166$res_del = mysql_query("delete from ".$prefix."_ele_lista where id_cons=$idcns" ,$dbi);
167$res_del = mysql_query("delete from ".$prefix."_ele_gruppo where id_cons=$idcns" ,$dbi);
168$gruppofil= array_filter($ar_gruppo);
169$numgruppo=count($gruppofil);
170$listafil= array_filter($ar_lista);
171$numlista=count($listafil);
172if ($numgruppo){
173 insgruppo();
174 Header("Location: admin.php?op=gruppo&id_cons_gen=$id_cons_gen");
175 }
176elseif ($numlista) {
177 inslista(0,0);
178 Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen");
179 }
180else Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen");
181
182}
183
184echo"</td></tr></table>";
185include("footer.php");
186
187
188
189
190
191
192
193
194
195
196
197/*
198foreach ($ar_gruppo as $rigagruppo){
199 $newidg=0;
200 $oldidg=0;
201 foreach($rigagruppo as $key=>$campo){
202 if ($key==0) $valori="'$idcns',";
203 elseif ($key==1) {$valori.= "null"; $oldidg=$campo;}
204 elseif ($key==6) $valori.= ",0";
205 else $valori.= ",'$campo'";
206 if ($key==2) $numgruppo= $campo;
207 }
208 if(isset($valori)){
209 $res_gruppo = mysql_query("insert into ".$prefix."_ele_gruppo values($valori)" ,$dbi)||die("(1104) Non e' stato possibile inserire i gruppi nel database! contattare l'amministratore".mysql_error());
210 $resnew = mysql_query("select id_gruppo from ".$prefix."_ele_gruppo where num_gruppo='$numgruppo' and id_cons='$idcns'" ,$dbi);
211 list ($newidg) = mysql_fetch_row($resnew);
212 unset($valori);
213 foreach ($ar_lista as $rigalista){
214 $oldidl=0;
215 foreach($rigalista as $key=>$campo){
216 if ($key==0) $valori="'$idcns',";
217 elseif ($key==1) {$valori.= "null";$oldidl=$campo;}
218 elseif ($key==3) {$valori.= ",'$newidg'"; if ($campo!=$oldidg) $okl=1;}
219 elseif ($key==4) $valori.= ",0";
220 else $valori.= ",'$campo'";
221 if ($key==2) $numlista= $campo;
222 }
223 if(isset($valori)){
224 if ($okl) {$okl=0;continue;}
225 $res_lista = mysql_query("insert into ".$prefix."_ele_lista values($valori)" ,$dbi)||die("(1104) Non e' stato possibile inserire le liste nel database! contattare l'amministratore".mysql_error());
226 $reslnew = mysql_query("select id_lista from ".$prefix."_ele_lista where num_lista='$numlista' and id_cons='$idcns'" ,$dbi);
227 list ($newidl) = mysql_fetch_row($reslnew);
228 unset($valori);
229 foreach ($ar_candi as $rigacandi){
230 foreach($rigacandi as $key=>$campo){if (count($rigacandi)!=8) {unset($valori);continue;}
231 if ($key==0) $valori= "null,";
232 elseif ($key==1) $valori.="'$idcns',";
233 elseif ($key==2) {$valori.= "'$newidl'"; if ($campo!=$oldidl) $okc=1;}
234 else $valori.= ",'$campo'";
235 }
236 if(isset($valori)){
237 if ($okc) {$okc=0;continue;}
238 $res_lista = mysql_query("insert into ".$prefix."_ele_candidati values($valori)" ,$dbi)||die("(1104) Non e' stato possibile inserire i candidati nel database! contattare l'amministratore".mysql_error());
239 }
240 }
241 }
242 }
243 }
244}
245*/
246
247?>
Note: See TracBrowser for help on using the repository browser.