source: trunk/admin/modules/Elezioni/restore.php@ 343

Last change on this file since 343 was 336, checked in by roby, 4 years ago

Admin: prime modifiche per compatibilità con php 7.4

File size: 4.7 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!=256) die("Non hai i permessi per effettuare questa operazione!");
17
18$param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
19if (isset($param['datafile'])) get_magic_quotes_gpc() ? $datafile=$param['datafile']:$datafile=addslashes($param['datafile']); else $datafile='';
20include("modules/Elezioni/ele.php");
21ele();
22if (isset($_FILES['datafile']['tmp_name'])) $updfile=$_FILES['datafile']['tmp_name']; else $updfile='';
23 if (!is_uploaded_file($updfile))
24# if (!is_uploaded_file($_FILES['datafile']['tmp_name']))
25# if (file_exists($datafile))
26 {
27 echo "<form name=\"restore\" enctype=\"multipart/form-data\" method=\"post\" action=\"admin.php\" >"
28 ."<input type=\"hidden\" name=\"op\" value=\"restore\">";
29 echo "<input type=\"hidden\" name=\"id_cons_gen\" value=\"$id_cons_gen\">";
30 echo "<input type=\"hidden\" name=\"id_comune\" value=\"$id_comune\">";
31 echo "<table cellspacing=\"0\" cellpadding=\"2\" border=\"1\"><tr class=\"bggray\"><td colspan=\"2\" align=\"center\">"._SEL_DATA_FILE."</td></tr><tr><td><input name=\"datafile\" type=\"file\"></td>";
32 echo "<td align=\"center\"><input type=\"submit\" name=\"add\" value=\""._OK."\"></td></tr></table></form>";
33////////////////////////////
34}else{$datafile=$_FILES['datafile']['tmp_name'];
35$arrFile = file($datafile);
36$handle = fopen($datafile, "r");
37$test=array();
38$errore=0;
39
40// Set counters
41 $currentLine = 0;
42 $cntFile = count($arrFile);
43// Write contents, inserting $item as first item
44$tabs=array($prefix."_ele_cons_comune",$prefix."_ele_gruppo",$prefix."_ele_lista",$prefix."_ele_candidati",$prefix."_ele_circoscrizione",$prefix."_ele_sede",$prefix."_ele_sezioni",$prefix."_ele_link",$prefix."_ele_come",$prefix."_ele_numeri",$prefix."_ele_servizi",$prefix."_ele_voti_candidati",$prefix."_ele_voti_gruppo",$prefix."_ele_voti_lista",$prefix."_ele_voti_parziale",$prefix."_ele_voti_ref");
45$x=0;
46$scarto=0;
47$conta=array();
48 while( $currentLine <= $cntFile ){
49 $appo=substr($arrFile[$currentLine],1,-2);
50 $conta[$x]=0;
51 $conf=$tabs[$x];
52 if ($appo==$conf){
53 $currentLine++;
54 while($currentLine <= $cntFile ){
55 if(isset($arrFile[$currentLine]))
56 $appo=substr($arrFile[$currentLine],1,-2);
57 else $appo='';
58 if(isset($tabs[($x+1)]))
59 if ($appo==$tabs[($x+1)]){ $x++; break;}
60 elseif($appo=='') { $x++; break;}
61 $conta[$x]++;
62 $currentLine++;
63 }
64 }else {$scarto++;$currentLine++;}
65 }
66if ($scarto==0){
67 $currentLine = 0;
68 $x=0;
69 $y=0;
70 while( $currentLine <= $cntFile ){
71 if(isset($arrFile[$currentLine]))
72 $tab=substr($arrFile[$currentLine],1,-2);
73 else $tab='';
74 if(isset($tabs[$x]))
75 $conf=$tabs[$x];
76 else $conf='';
77 if ($tab==$conf){
78 $currentLine++;
79 while($currentLine <= $cntFile ){
80# $appo=substr($arrFile[$currentLine],1,-2);
81# if ($appo==$tabs[($x+1)]){ $x++; break;}
82 if(isset($arrFile[$currentLine]))
83 $appo=substr($arrFile[$currentLine],1,-2);
84 else $appo='';
85 if(isset($tabs[($x+1)]))
86 if ($appo==$tabs[($x+1)]){ $x++; break;}
87 elseif($appo=='') { $x++; break;}
88 if(isset($arrFile[$currentLine]))
89 $test=explode(':',$arrFile[$currentLine]); if(!is_array($test)) {die("errore di import<br>");}
90 $valori='';
91 foreach($test as $key=>$val)
92 if($key==0){
93 $valori.= "'".base64_decode($val)."'";
94 if ($y==0) {$idcns=$valori;$y++;
95 foreach($tabs as $tbs){
96 $sql="delete from $tbs where id_cons=$idcns";
97 $res_del = $dbi->prepare("$sql");
98 $res_del->execute();
99 }
100 }
101 if(!$res_del->rowCount()) die ("delete $tbs where id_cons=$idcns--- errore di cancellazione");
102 }else $valori.= ",'".addslashes(base64_decode($val))."'";
103 $sql="insert into $tab values($valori)";
104 $res_comune = $dbi->prepare("$sql");
105 $res_comune->execute();
106 $currentLine++;
107 }
108 }
109
110 }
111} else $errore=1;
112fclose($handle);
113}
114if (isset($errore))
115 if ($errore) die( _MEX_RESTORE_FAILED);
116 else echo _MEX_RESTORE_OK;
117echo"</td></tr></table>";
118include("footer.php");
119
120?>
Note: See TracBrowser for help on using the repository browser.