Index: trunk/admin/modules/Elezioni/aggiornamento.php
===================================================================
--- trunk/admin/aggiornamento.php	(revision 378)
+++ trunk/admin/modules/Elezioni/aggiornamento.php	(revision 379)
@@ -9,41 +9,46 @@
 /* Amministrazione                                                      */
 /************************************************************************/
+if (!defined('ADMIN_FILE')) {
+    die ("You can't access this file directly...");
+}
 
-if(!file_exists('../admin')) {die("Non trovo la cartella admin, aggiornamento interrotto");}
+
+global $dbi;
+$aid=$_SESSION['aid'];
+$prefix=$_SESSION['prefix'];
+$id_comune=$_SESSION['id_comune'];
+$param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
+$id_cons_gen=intval($param['id_cons_gen']);	
+$perms=ChiSei(0);
+include("modules/Elezioni/ele.php");
+
+//if ($perms<128 or !$id_cons_gen) die("$perms Non hai i permessi per inserire dati, o non hai scelto la consultazione!");
+if (isset($param['errmex'])) $mex=addslashes($param['errmex']); else $mex='';
+if ($perms!=256) $mex = "Non hai i permessi per avviare un aggiornamento!";
+if($mex!='') { ele(); echo "<hr><br><h2 style=\"text-align:center;\">$mex</h2><br><hr>"; include("footer.php");die();}
+
+$newrev=$_SESSION['remoterev'];
+$myrev=$_SESSION['localrev'];
+if($newrev==$myrev) {
+	$errmex="Non sono disponibili nuovi aggiornamenti";
+	Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
+}
 $righe='';
 if(phpversion()<5.6) $host="http://80.211.143.127";
 else $host="https://trac.eleonline.it";
-if(false === $file = file("$host/ele3/changeset/")) die("Impossibile collegarsi al server - Aggiornamento interrotto");
-$cntFile = count($file);
-$fine=0;
-$currentLine=0;
-
-foreach ($file as $line_num => $line) {
-	if(strpos($line,'<title>') ) {$fine=1; continue;}
-	if ($fine){
-		$newrev=(int) filter_var($line, FILTER_SANITIZE_NUMBER_INT);
-		$righe.= "<b>Ultima revisione:</b> " .$newrev." \n"; break;
-	}
-}
-unset($file);
-
-include('./versione.php');
-$myrev=intval(substr($versione,-4,4));
-$righe.= "<br><b>Revisione installata:</b> ".$myrev;
-if($newrev==$myrev) die( "<br><br>---------- Non sono disponibili nuovi aggiornamenti ---------");
-#else{  
-
-	#	define('_PATH', dirname(__FILE__));
 	$file =  '../admin';
 	$client = '../client';
-#	$dest_path = './admin-bak';
 	$trunk='./files/trunk';
 	$trunkadm='./files/trunk/admin';
 	$trunkcli='./files/trunk/client';
 	$path = "./files/";
-	if(file_exists($path)) 
-		if (!is_dir($path)) { die("<br>E' presente un file di nome $path nella cartella admin, va cancellato per poter aggiornare");}
-		else $righe.= "<br>La cartella $path Ãš giÃ  presente, procedo con l'aggiornamento";
-	else{
+	if(file_exists($path)) {
+		if (!is_dir($path)) { 
+			$errmex="E' presente un file di nome $path nella cartella admin, va cancellato per poter aggiornare";
+			Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
+			}
+		else 
+			$righe.= "<br>La cartella $path Ãš giÃ  presente, procedo con l'aggiornamento";
+	}else{
 		$righe.= "<br>La cartella $path non Ãš presente, procedo con la creazione";
 		mkdir($path, 0777, true);
@@ -56,5 +61,8 @@
 	$filename = "$host/ele3/changeset?format=zip&new=$newrev&new_path=%2F&old=$myrev&old_path=%2F";
 	$newfile="./files/aggiornamento".$newrev;
-	if(!copy($filename,$newfile)){ die( "<br><br>Errore durante la copia del pacchetto - aggiornamento interrotto<br>");}
+	if(!copy($filename,$newfile)){ 
+		$errmex="Errore durante la copia del pacchetto - aggiornamento interrotto<br>";
+		Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
+	}
 	$zip = new ZipArchive;
 	$res = $zip->open($newfile);
@@ -65,5 +73,7 @@
 		$righe.= '<br>File zip estratto';
 	} else {
-		die( '<br>Errore nell\'estrazione del file zip! Aggiornamento interrotto');
+#		die( '<br>Errore nell\'estrazione del file zip! Aggiornamento interrotto');
+		$errmex= '<br>Errore nell\'estrazione del file zip! Aggiornamento interrotto';
+		Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
 	}
 	
@@ -77,5 +87,9 @@
 function recurse_copy($src,$dst) {
     $dir = opendir($src);
-    if(!file_exists($dst)) @mkdir($dst);
+    if(!file_exists($dst)) 
+		if(@mkdir($dst)==false) {
+			$errmex= "<br>Errore durante la creazione della directory $dst (controllare i permessi), aggiornamento interrotto";
+			Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
+		}
     while(false !== ( $file = readdir($dir)) ) {
         if (( $file != '.' ) && ( $file != '..' )) {
@@ -84,5 +98,8 @@
             }
             else {
-                if(!copy($src . '/' . $file,$dst . '/' . $file)) die("<br>Errore durante la copia del file".$dst . '/' . $file.", aggiornamento interrotto");
+                if(!copy($src . '/' . $file,$dst . '/' . $file)) {
+					$errmex= "<br>Errore durante la copia del file".$dst . '/' . $file."(controllare i permessi), aggiornamento interrotto";
+					Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
+				}
             }
         }
@@ -90,8 +107,8 @@
     closedir($dir);
 }
-echo "<br><b>------------------Aggiornamento completato controllare il log e poi tornare al programma-----------------------</b><br>";
-echo "<br><a href=\"admin.php\"> <-------------   Torna al programma   --------------> </a><br><br><br>";
+echo "<hr><br><h2 style=\"text-align:center;\">Aggiornamento completato</h2><br><hr>";
+#echo "<br><a href=\"admin.php\"> <-------------   Torna al programma   --------------> </a><br><br><br>";
 $righedb='';
-if(file_exists('./files/trunk/admin/aggiornadb.php')) {
+if(file_exists('./files/trunk/admin/modules/Elezioni/aggiornadb.php')) {
 	$righe.= "<br><br><b>Aggiornamento del database</b>";
 	ob_start();
@@ -110,5 +127,8 @@
     }
 }
-echo $righe;die();
+ele();
+echo $righe;
+include("footer.php");
+die();
 
 ?>
