Index: trunk/admin/modules/Elezioni/aggiornamento.php
===================================================================
--- trunk/admin/modules/Elezioni/aggiornamento.php	(revision 411)
+++ trunk/admin/modules/Elezioni/aggiornamento.php	(revision 412)
@@ -13,4 +13,58 @@
 }
 
+echo "<style>
+body
+{
+ width:100%;
+ margin:0 auto;
+ padding:0px;
+ font-family:helvetica;
+ background-color:#A9D0F5;
+}
+#wrapper
+{
+ text-align:left;
+ margin-left:20px;
+ padding:0px;
+ width:995px;
+}
+#wrapperleft
+{
+ text-align:center;
+ margin:0 auto;
+ padding:0px;
+ width:995px;
+}
+#wrapper h1
+{
+ margin-top:100px;
+ font-size:40px;
+}
+#wrapper h1 p
+{
+ font-size:17px;
+}
+#wrapper #feed_div
+{
+ background-color:white;
+ width:550px;
+ height:320px;
+ overflow-y:scroll;
+ margin-left:20px;
+ margin-top:20px;
+ text-align:left;
+ border:1px solid silver;
+ padding:10px;
+}
+#wrapper #feed_div h2
+{
+ font-size:17px;
+}
+#wrapper #feed_div .title a
+{
+ text-decoration:none;
+ color:#0080FF;
+}
+</style>";
 
 global $dbi;
@@ -21,16 +75,94 @@
 if(isset($param['id_cons_gen'])) $id_cons_gen=intval($param['id_cons_gen']); else $id_cons_gen=0;
 $perms=ChiSei(0);
+if ($perms!=256) return; # $mex = htmlspecialchars("Non sono disponibili nuovi aggiornamenti");
+
 include("modules/Elezioni/ele.php");
-
+global $righe,$righedb;
+
+function aggiornadb(){
+	global $righedb,$prefix,$dbi,$dbname;
+	$righedb='';
+	global $ctrlerr;
+	$ctrlerr=0;
+	if(file_exists(dirname(__FILE__)."/aggiornadb.php")) {
+		ob_start();
+		include (dirname(__FILE__).'/aggiornadb.php');
+		$righedb=ob_get_contents();
+		ob_end_clean();
+	}
+}
+function risultati()
+{
+	global $ctrlerr,$righe,$righedb;
+	if($ctrlerr)
+		echo "<hr><br><h2 style=\"text-align:center;color:red;\">Aggiornamento completato con errori<br>Controllare i log di aggiornamento del database</h2><hr>";
+	else
+		echo "<hr><br><h2 style=\"text-align:center;\">Aggiornamento completato</h2><br><hr>";
+	echo "<br><h3>Log delle operazioni</h3>";
+
+	echo $righe;
+	echo "<div id=\"wrapper\">";
+	echo "<br><p>Operazioni effettuate sul db: </p>";
+	echo "<div id=\"feed_div\">";
+	echo $righedb;
+	echo "</div>";
+	echo "</div>";
+	echo "<br><b>Operazioni di aggiornamento concluse.</b><br>";
+}
 //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=htmlspecialchars($param['errmex']); else $mex='';
+if(isset($param['file'])) $pfile=$param['file']; else $pfile='';
+if (isset($param['errmex'])) {
+	switch ($param['errmex']) {
+		case 1:
+			$mex='Non sono disponibili nuovi aggiornamenti';
+			break;
+		case 2:
+			$mex="Non c'Ãš connessione con il server";
+			break;
+		case 3:
+			$mex="E' presente un file di nome $pfile nella cartella admin, va cancellato per poter aggiornare";
+			break;
+		case 4:
+			$mex="Errore durante la copia del pacchetto $pfile - aggiornamento interrotto";
+			break;
+		case 5:
+			$mex="Errore nell'estrazione del file zip! Aggiornamento interrotto";
+			break;
+		case 6:
+			$mex="Errore durante la creazione della directory $pfile (controllare i permessi), aggiornamento interrotto";
+			break;
+		case 7:
+			$mex="Errore durante la creazione della directory $pfile (controllare i permessi), aggiornamento interrotto";
+			break;
+		case 8:
+			$mex="Errore durante la copia del file $pfile (controllare i permessi), aggiornamento interrotto";
+			break;
+		default:
+			$mex='';
+	}
+} else $mex='';	
+
 if (isset($param['procedi'])) $procedi=intval($param['procedi']); else $procedi=0;
-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();}
+if(isset($param['errmex']) and $param['errmex']<3) { 	
+	ele(); 
+	if(!$procedi){
+		echo "<hr><br><h2 style=\"text-align:center;\">$mex</h2><br><hr>";
+		echo "<form name=\"conferma\" action=\"admin.php\"><input type=\"hidden\" name=\"errmex\" value=\"1\"><input type=\"hidden\" name=\"op\" value=\"aggiorna\">";
+		echo "<input type=\"hidden\" name=\"id_cons_gen\" value=\"$id_cons_gen\"><input type=\"hidden\" name=\"procedi\" value=\"1\">";
+		echo "<br><table align=\"center\"><tr><td><h3>Procedo con verifica e aggiornamento del solo db (all'ultima versione scaricata)?</h3></td><td><input type=\"submit\" name=\"vai\" value=\""._OK."\"></td></tr></table></form>";		
+	}else{
+		aggiornadb();
+		risultati();
+	}	
+	include("footer.php");
+	die();
+}
 if(phpversion()<5.6) $host="http://80.211.143.127";
 else $host="https://trac.eleonline.it";
+
 $headers=get_headers("$host/ele3/changeset/");
+
 $testurl=strlen($headers[0])>0?true:false;
-if($testurl){		
+if($testurl){	
 	$file = file("$host/ele3/changeset/");
 	$cntFile = count($file);
@@ -47,5 +179,5 @@
 	unset($file);
 }else{
-	$errmex="Non c'Ãš connessione con il server";
+	$errmex=2;
 	Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
 }
@@ -54,61 +186,8 @@
 if (isset($_SESSION['forzadb'])) $myrev=378;
 if($newrev==$myrev) {
-	$errmex="Non sono disponibili nuovi aggiornamenti";
+	$errmex=1;
 	Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
 }
-echo "<style>
-body
-{
- width:100%;
- margin:0 auto;
- padding:0px;
- font-family:helvetica;
- background-color:#A9D0F5;
-}
-#wrapper
-{
- text-align:left;
- margin-left:20px;
- padding:0px;
- width:995px;
-}
-#wrapperleft
-{
- text-align:center;
- margin:0 auto;
- padding:0px;
- width:995px;
-}
-#wrapper h1
-{
- margin-top:100px;
- font-size:40px;
-}
-#wrapper h1 p
-{
- font-size:17px;
-}
-#wrapper #feed_div
-{
- background-color:white;
- width:550px;
- height:320px;
- overflow-y:scroll;
- margin-left:20px;
- margin-top:20px;
- text-align:left;
- border:1px solid silver;
- padding:10px;
-}
-#wrapper #feed_div h2
-{
- font-size:17px;
-}
-#wrapper #feed_div .title a
-{
- text-decoration:none;
- color:#0080FF;
-}
-</style>";
+#####
 if(!$procedi){
 	ele(); 
@@ -161,6 +240,6 @@
 	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;
+			$errmex=3;
+			Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex&file=$path"); exit;
 			}
 		else 
@@ -181,5 +260,5 @@
 	*/	############
 	include("footer.php");die();
-}
+} 
 $admin =  '../admin';
 $client = '../client';
@@ -220,6 +299,6 @@
 $newfile=$path."aggiornamento".$newrev;
 if(!copy($filename,$newfile)){ 
-	$errmex="Errore durante la copia del pacchetto $newfile - aggiornamento interrotto";
-	Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
+	$errmex=4;
+	Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex&file=$newfile"); exit;
 }
 $zip = new ZipArchive;
@@ -243,5 +322,5 @@
 		$righe.= '<br>File zip estratto';
 	} else {
-		$errmex= "Errore nell'estrazione del file zip! Aggiornamento interrotto";
+		$errmex= 5;
 		Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
 	}
@@ -271,11 +350,11 @@
     if(!file_exists($dst)) 
 		if(@mkdir($dst)==false) {
-			$errmex= "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;
+			$errmex= 6;
+			Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex&file=$dst"); exit;
 		}
     if(!file_exists($bck)) 
 		if(mkdir($bck,0777,true)==false) {
-			$errmex= "Errore durante la creazione della directory $bck (controllare i permessi), aggiornamento interrotto";
-			Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
+			$errmex= 7;
+			Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex&file=$bck"); exit;
 		}
     while(false !== ( $file = readdir($dir)) ) {
@@ -287,10 +366,10 @@
 				if(file_exists($dst . '/' . $file))
 					if(false===copy($dst . '/' . $file,$bck . '/' . $file)) {
-						$errmex= "Errore durante la copia del file".$bck . '/' . $file."(controllare i permessi), aggiornamento interrotto";
-						Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
+						$errmex= 8;
+						Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex&file=$bck/$file"); exit;
 					}
                if(!copy($src . '/' . $file,$dst . '/' . $file)) {
-					$errmex= "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;
+					$errmex= 8;
+					Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex&file=".$dst . '/' . $file); exit;
 				}
             }
@@ -299,4 +378,5 @@
     closedir($dir);
 }
+
 $righedb='';
 global $ctrlerr;
Index: trunk/admin/versione.php
===================================================================
--- trunk/admin/versione.php	(revision 411)
+++ trunk/admin/versione.php	(revision 412)
@@ -1,7 +1,7 @@
 <?php
 
-$versione = "3.0 rev 411";
+$versione = "3.0 rev 412";
 $version_number = $versione;
-$datarel = "06 aprile 2024";
+$datarel = "02 maggio 2024";
 $version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
 
