| 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 |
|
---|
| 12 | if (!defined('ADMIN_FILE')) {
|
---|
| 13 | die ("You can't access this file directly...");
|
---|
| 14 | }
|
---|
| 15 | $perms=ChiSei(0);
|
---|
| 16 | if ($perms<32) die("Non hai i permessi per effettuare questa operazione!");
|
---|
| 17 | $language=$_SESSION['lang'];
|
---|
| 18 | $param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
|
---|
| 19 | $id_cons_gen=intval($param['id_cons_gen']);
|
---|
| 20 | if (isset($param['datafile'])) $datafile=addslashes($param['datafile']); else $datafile='';
|
---|
| 21 | include("modules/Elezioni/ele.php");
|
---|
| 22 |
|
---|
| 23 | function insgruppo()
|
---|
| 24 | {
|
---|
| 25 | global $prefix, $dbi;
|
---|
| 26 | global $ar_gruppo,$ar_lista,$ar_candi,$idcns;
|
---|
| 27 |
|
---|
| 28 | foreach ($ar_gruppo as $rigagruppo){
|
---|
| 29 | $newidg=0;
|
---|
| 30 | $oldidg=0;
|
---|
| 31 | $isnew=0;
|
---|
| 32 | $numcampi=count($rigagruppo);
|
---|
| 33 | foreach($rigagruppo as $key=>$campo){
|
---|
| 34 | if ($key==0) $valori="'$idcns',";
|
---|
| 35 | elseif ($key==1) {$valori.= "null"; $oldidg=$campo;}
|
---|
| 36 | elseif ($key==6) $valori.= ",0";
|
---|
| 37 | elseif($key==4) $valori.=",'".utf8_encode($campo)."'";
|
---|
| 38 | elseif($key==7) {if($numcampi==9) $valori.=",0"; $valori.= ",'".$campo."'";}
|
---|
| 39 | elseif($key==8) {$valori.=",'".utf8_encode($campo)."'";$isnew=1;}
|
---|
| 40 | elseif($key==9) {$valori.=",''";}
|
---|
| 41 | else $valori.= ",'".$campo."'";
|
---|
| 42 | if ($key==2) $numgruppo= $campo;
|
---|
| 43 | }
|
---|
| 44 | if (!$isnew and isset($valori)) $valori.=",null,null";
|
---|
| 45 | if(isset($valori)){
|
---|
| 46 | $sql="insert into ".$prefix."_ele_gruppo values($valori)";
|
---|
| 47 | try {
|
---|
| 48 | $res_gruppo = $dbi->prepare("$sql");
|
---|
| 49 | $res_gruppo->execute();
|
---|
| 50 | }
|
---|
| 51 | catch(PDOException $e)
|
---|
| 52 | {
|
---|
| 53 | echo $sql . "<br>" . $e->getMessage();
|
---|
| 54 | }
|
---|
| 55 | $sql="select id_gruppo from ".$prefix."_ele_gruppo where num_gruppo='$numgruppo' and id_cons='$idcns'";
|
---|
| 56 | $resnew = $dbi->prepare("$sql");
|
---|
| 57 | $resnew->execute();
|
---|
| 58 | list ($newidg) = $resnew->fetch(PDO::FETCH_NUM);
|
---|
| 59 | unset($valori);
|
---|
| 60 | if($oldidg)
|
---|
| 61 | $_SESSION['gruppi']['idg_'.$oldidg]=$newidg;
|
---|
| 62 | }
|
---|
| 63 | }
|
---|
| 64 | }
|
---|
| 65 |
|
---|
| 66 | function inslista()
|
---|
| 67 | {
|
---|
| 68 | global $prefix, $dbi;
|
---|
| 69 | global $ar_lista,$idcns;
|
---|
| 70 |
|
---|
| 71 | foreach ($ar_lista as $rigalista){
|
---|
| 72 | if(!isset($rigalista[3])) continue;
|
---|
| 73 | $oldidl=0;
|
---|
| 74 | $okl=0;
|
---|
| 75 | $oldidg=$rigalista[3];
|
---|
| 76 | if(isset($_SESSION['gruppi'])) $newidg=$_SESSION['gruppi']['idg_'.$oldidg]; else $newidg=0;
|
---|
| 77 | foreach($rigalista as $key=>$campo){
|
---|
| 78 | if ($key==0) $valori=$idcns.",";
|
---|
| 79 | elseif ($key==1) {$valori.= "null,";$oldidl=$campo;}
|
---|
| 80 | elseif ($key==2) {$valori.="'$campo',";$numlista= $campo;}
|
---|
| 81 | elseif ($key==3) {$valori.= "'$newidg',"; if ($campo!=$oldidg) $okl=1;}
|
---|
| 82 | elseif ($key==4) $valori.= "0,";
|
---|
| 83 | elseif ($key==9 ) $valori.= "'$campo'";
|
---|
| 84 | else $valori.="'".utf8_encode($campo)."',";
|
---|
| 85 | }
|
---|
| 86 | if($key==9){
|
---|
| 87 | if ($okl) {$okl=0;continue;}
|
---|
| 88 | $sql="insert into ".$prefix."_ele_lista values($valori)";
|
---|
| 89 | try {
|
---|
| 90 | $res_lista = $dbi->prepare("$sql");
|
---|
| 91 | $res_lista->execute();
|
---|
| 92 | }
|
---|
| 93 | catch(PDOException $e)
|
---|
| 94 | {
|
---|
| 95 | echo $sql . "<br>" . $e->getMessage();
|
---|
| 96 | }
|
---|
| 97 |
|
---|
| 98 | $sql="select id_lista from ".$prefix."_ele_lista where num_lista='$numlista' and id_cons='$idcns'";
|
---|
| 99 | $reslnew = $dbi->prepare("$sql");
|
---|
| 100 | $reslnew->execute();
|
---|
| 101 | list ($newidl) = $reslnew->fetch(PDO::FETCH_NUM);
|
---|
| 102 | unset($valori);
|
---|
| 103 | if($oldidl){
|
---|
| 104 | $_SESSION['liste']['idl_'.$oldidl]=$newidl;
|
---|
| 105 | }
|
---|
| 106 | }
|
---|
| 107 | }
|
---|
| 108 | }
|
---|
| 109 |
|
---|
| 110 | function inscandi()
|
---|
| 111 | {
|
---|
| 112 | global $prefix, $dbi;
|
---|
| 113 | global $ar_candi,$idcns;
|
---|
| 114 |
|
---|
| 115 | foreach ($ar_candi as $rigacandi){
|
---|
| 116 | if(!isset($rigacandi[2])) continue;
|
---|
| 117 | $okc=0;
|
---|
| 118 | $oldidl=$rigacandi[2];
|
---|
| 119 | $newidl=$_SESSION['liste']['idl_'.$oldidl];
|
---|
| 120 | foreach($rigacandi as $key=>$campo){
|
---|
| 121 | if (count($rigacandi)!=9) {unset($valori);continue;}
|
---|
| 122 | if ($key==0) $valori= "null,";
|
---|
| 123 | elseif ($key==1) $valori.="'$idcns',";
|
---|
| 124 | elseif ($key==2) {$valori.= "'$newidl'"; if ($campo!=$oldidl) $okc=1;}
|
---|
| 125 | else $valori.= ",'".utf8_encode($campo)."'";
|
---|
| 126 | }
|
---|
| 127 | if(isset($valori) and $valori!=''){
|
---|
| 128 | if ($okc) {$okc=0;continue;}
|
---|
| 129 | $sql="insert into ".$prefix."_ele_candidati values($valori)";
|
---|
| 130 | try {
|
---|
| 131 | $res_lista = $dbi->prepare("$sql");
|
---|
| 132 | $res_lista->execute();
|
---|
| 133 | }
|
---|
| 134 | catch(PDOException $e)
|
---|
| 135 | {
|
---|
| 136 | echo "<br>key:$key sql:".$sql . "<br>" . $e->getMessage();
|
---|
| 137 | }
|
---|
| 138 | }
|
---|
| 139 | }
|
---|
| 140 | }
|
---|
| 141 |
|
---|
| 142 |
|
---|
| 143 |
|
---|
| 144 |
|
---|
| 145 |
|
---|
| 146 | $sql="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'";
|
---|
| 147 | $res = $dbi->prepare("$sql");
|
---|
| 148 | $res->execute();
|
---|
| 149 | list($id_cons,$descrizione) = $res->fetch(PDO::FETCH_NUM);
|
---|
| 150 | if (!isset($_FILES['datafile']['tmp_name']) or !is_uploaded_file($_FILES['datafile']['tmp_name']))
|
---|
| 151 | {
|
---|
| 152 | ele();
|
---|
| 153 | if (isset($_GET['help'])) $help=intval($_GET['help']);
|
---|
| 154 | global $help,$language;
|
---|
| 155 | if (isset($help)) include("language/$language/ele_importa.html");
|
---|
| 156 | echo "<form name=\"importa\" enctype=\"multipart/form-data\" method=\"post\" action=\"admin.php\" >"
|
---|
| 157 | ."<input type=\"hidden\" name=\"op\" value=\"importa\">";
|
---|
| 158 | echo "<input type=\"hidden\" name=\"id_cons_gen\" value=\"$id_cons_gen\">";
|
---|
| 159 | echo "<input type=\"hidden\" name=\"id_comune\" value=\"$id_comune\">";
|
---|
| 160 | 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>";
|
---|
| 161 | echo "<td align=\"center\"><input type=\"submit\" name=\"add\" value=\""._OK."\"></td></tr></table></form>";
|
---|
| 162 | }else{
|
---|
| 163 | $idcns=$id_cons;
|
---|
| 164 | $sql="delete from ".$prefix."_ele_voti_ref where id_cons=$idcns";
|
---|
| 165 | $res_del = $dbi->prepare("$sql");
|
---|
| 166 | $res_del->execute();
|
---|
| 167 | $sql="delete from ".$prefix."_ele_voti_candidati where id_cons=$idcns";
|
---|
| 168 | $res_del = $dbi->prepare("$sql");
|
---|
| 169 | $res_del->execute();
|
---|
| 170 | $sql="delete from ".$prefix."_ele_voti_lista where id_cons=$idcns";
|
---|
| 171 | $res_del = $dbi->prepare("$sql");
|
---|
| 172 | $res_del->execute();
|
---|
| 173 | $sql="delete from ".$prefix."_ele_voti_gruppo where id_cons=$idcns";
|
---|
| 174 | $res_del = $dbi->prepare("$sql");
|
---|
| 175 | $res_del->execute();
|
---|
| 176 | $sql="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";
|
---|
| 177 | $res_del = $dbi->prepare("$sql");
|
---|
| 178 | $res_del->execute();
|
---|
| 179 | $sql="delete from ".$prefix."_ele_voti_parziale where id_cons=$idcns";
|
---|
| 180 | $res_del = $dbi->prepare("$sql");
|
---|
| 181 | $res_del->execute();
|
---|
| 182 | $sql="delete from ".$prefix."_ele_candidati where id_cons=$idcns";
|
---|
| 183 | $res_del = $dbi->prepare("$sql");
|
---|
| 184 | $res_del->execute();
|
---|
| 185 | $sql="delete from ".$prefix."_ele_lista where id_cons=$idcns";
|
---|
| 186 | $res_del = $dbi->prepare("$sql");
|
---|
| 187 | $res_del->execute();
|
---|
| 188 | $sql="delete from ".$prefix."_ele_gruppo where id_cons=$idcns";
|
---|
| 189 | $res_del = $dbi->prepare("$sql");
|
---|
| 190 | $res_del->execute();
|
---|
| 191 | $datafile=$_FILES['datafile']['tmp_name'];
|
---|
| 192 | $arrFile = file($datafile);
|
---|
| 193 | $handle = fopen($datafile, "r");
|
---|
| 194 | $test=array();
|
---|
| 195 | $errore=0;
|
---|
| 196 | $fine=0;
|
---|
| 197 | $numgruppo=0;
|
---|
| 198 | $numlista=0;
|
---|
| 199 | // Set counters
|
---|
| 200 | $currentLine = 0;
|
---|
| 201 | $cntFile = count($arrFile);
|
---|
| 202 | $tabs=array($prefix."_ele_gruppo",$prefix."_ele_lista",$prefix."_ele_candidati",$prefix."_ele_circoscrizione");
|
---|
| 203 | $x=0;$k=0;
|
---|
| 204 | $scarto=0;
|
---|
| 205 | $primog=0;
|
---|
| 206 | $primol=0;
|
---|
| 207 | $conta=array();
|
---|
| 208 | $currentLine = 0;
|
---|
| 209 | $x=0;$k=0;
|
---|
| 210 | $y=0;
|
---|
| 211 | $ar_gruppo=array(array());
|
---|
| 212 | $ar_lista=array(array());
|
---|
| 213 | $ar_candi=array(array());
|
---|
| 214 | $z=0;
|
---|
| 215 | $tab=substr($arrFile[$currentLine],1,-2);
|
---|
| 216 | $conf=$tabs[$x];
|
---|
| 217 | if($k==0) {while (substr($arrFile[$currentLine],1,-2)!=$conf and $currentLine <= $cntFile) $currentLine++; $k++;}
|
---|
| 218 | $currentLine++;
|
---|
| 219 | while($currentLine <= $cntFile and $fine==0){
|
---|
| 220 | if(isset($arrFile[$currentLine]))
|
---|
| 221 | $appo=substr($arrFile[$currentLine],1,-2);
|
---|
| 222 | else $appo='';
|
---|
| 223 | if (isset($tabs[($x+1)]) and $appo==$tabs[($x+1)]){ $x++;$conf=$tabs[$x];$currentLine++; continue;}
|
---|
| 224 | $test=explode(':',$appo);
|
---|
| 225 | if(!is_array($test)) {die("errore di import<br>");}
|
---|
| 226 | foreach($test as $key=>$val)
|
---|
| 227 | if ($conf==$prefix."_ele_gruppo"){
|
---|
| 228 | $ar_gruppo[$z][$key]=addslashes(base64_decode($val));
|
---|
| 229 | }
|
---|
| 230 | elseif ($conf==$prefix."_ele_lista"){
|
---|
| 231 | if($primog==0){
|
---|
| 232 | $gruppofil= array_filter($ar_gruppo);
|
---|
| 233 | $numgruppo=count($gruppofil);
|
---|
| 234 | insgruppo();
|
---|
| 235 | $primog=1;
|
---|
| 236 | unset($ar_gruppo);
|
---|
| 237 | }
|
---|
| 238 | $ar_lista[$z][$key]=addslashes(base64_decode($val));
|
---|
| 239 | }
|
---|
| 240 | elseif ($conf==$prefix."_ele_candidati"){
|
---|
| 241 | if($primog==0){
|
---|
| 242 | $gruppofil= array_filter($ar_gruppo);
|
---|
| 243 | $numgruppo=count($gruppofil);
|
---|
| 244 | insgruppo();
|
---|
| 245 | $primog=1;
|
---|
| 246 | unset($ar_gruppo);
|
---|
| 247 | }
|
---|
| 248 | elseif($primol==0){
|
---|
| 249 | $listafil= array_filter($ar_lista);
|
---|
| 250 | $numlista=count($listafil);
|
---|
| 251 | inslista();
|
---|
| 252 | $primol=1;
|
---|
| 253 | unset($ar_lista);
|
---|
| 254 | }
|
---|
| 255 | $ar_candi[$z][$key]=addslashes(base64_decode($val));
|
---|
| 256 | }
|
---|
| 257 | elseif ($conf==$prefix."_ele_circoscrizione"){
|
---|
| 258 | if($primog==0){
|
---|
| 259 | $gruppofil= array_filter($ar_gruppo);
|
---|
| 260 | $numgruppo=count($gruppofil);
|
---|
| 261 | insgruppo();
|
---|
| 262 | $primog=1;
|
---|
| 263 | unset($ar_gruppo);
|
---|
| 264 | }
|
---|
| 265 | elseif($primol==0){
|
---|
| 266 | $listafil= array_filter($ar_lista);
|
---|
| 267 | $numlista=count($listafil);
|
---|
| 268 | inslista();
|
---|
| 269 | $primol=1;
|
---|
| 270 | unset($ar_lista);
|
---|
| 271 | }else{
|
---|
| 272 | inscandi();
|
---|
| 273 | unset($ar_candi);
|
---|
| 274 | $fine=1;
|
---|
| 275 | break;
|
---|
| 276 | }
|
---|
| 277 | }
|
---|
| 278 | $currentLine++;
|
---|
| 279 | $z++;
|
---|
| 280 | }
|
---|
| 281 | fclose($handle);
|
---|
| 282 | if ($numgruppo){
|
---|
| 283 | Header("Location: admin.php?op=gruppo&id_cons_gen=$id_cons_gen");
|
---|
| 284 | }
|
---|
| 285 | elseif ($numlista) {
|
---|
| 286 | Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen");
|
---|
| 287 | }
|
---|
| 288 | else Header("Location: admin.php?op=lista&id_cons_gen=$id_cons_gen");
|
---|
| 289 |
|
---|
| 290 | }
|
---|
| 291 | echo"</td></tr></table>";
|
---|
| 292 | include("footer.php");
|
---|
| 293 |
|
---|
| 294 | ?>
|
---|