Ignore:
Timestamp:
Oct 16, 2022, 10:39:05 PM (2 years ago)
Author:
roby
Message:

ADMIN seconda rev sperimentale per l'implementazione della funzione di aggiornamento.

  • Eliminate le voci di menu: Gestione tipi e Segnala l'installazione a Eleonline
  • Aggiunta la voce di menu: Aggiornamento
  • Modificata la funzione di aggiornamento
File:
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/admin/modules/Elezioni/aggiornamento.php

    r378 r379  
    99/* Amministrazione                                                      */
    1010/************************************************************************/
     11if (!defined('ADMIN_FILE')) {
     12    die ("You can't access this file directly...");
     13}
    1114
    12 if(!file_exists('../admin')) {die("Non trovo la cartella admin, aggiornamento interrotto");}
     15
     16global $dbi;
     17$aid=$_SESSION['aid'];
     18$prefix=$_SESSION['prefix'];
     19$id_comune=$_SESSION['id_comune'];
     20$param=strtolower($_SERVER['REQUEST_METHOD']) == 'get' ? $_GET : $_POST;
     21$id_cons_gen=intval($param['id_cons_gen']);     
     22$perms=ChiSei(0);
     23include("modules/Elezioni/ele.php");
     24
     25//if ($perms<128 or !$id_cons_gen) die("$perms Non hai i permessi per inserire dati, o non hai scelto la consultazione!");
     26if (isset($param['errmex'])) $mex=addslashes($param['errmex']); else $mex='';
     27if ($perms!=256) $mex = "Non hai i permessi per avviare un aggiornamento!";
     28if($mex!='') { ele(); echo "<hr><br><h2 style=\"text-align:center;\">$mex</h2><br><hr>"; include("footer.php");die();}
     29
     30$newrev=$_SESSION['remoterev'];
     31$myrev=$_SESSION['localrev'];
     32if($newrev==$myrev) {
     33        $errmex="Non sono disponibili nuovi aggiornamenti";
     34        Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
     35}
    1336$righe='';
    1437if(phpversion()<5.6) $host="http://80.211.143.127";
    1538else $host="https://trac.eleonline.it";
    16 if(false === $file = file("$host/ele3/changeset/")) die("Impossibile collegarsi al server - Aggiornamento interrotto");
    17 $cntFile = count($file);
    18 $fine=0;
    19 $currentLine=0;
    20 
    21 foreach ($file as $line_num => $line) {
    22         if(strpos($line,'<title>') ) {$fine=1; continue;}
    23         if ($fine){
    24                 $newrev=(int) filter_var($line, FILTER_SANITIZE_NUMBER_INT);
    25                 $righe.= "<b>Ultima revisione:</b> " .$newrev." \n"; break;
    26         }
    27 }
    28 unset($file);
    29 
    30 include('./versione.php');
    31 $myrev=intval(substr($versione,-4,4));
    32 $righe.= "<br><b>Revisione installata:</b> ".$myrev;
    33 if($newrev==$myrev) die( "<br><br>---------- Non sono disponibili nuovi aggiornamenti ---------");
    34 #else{ 
    35 
    36         #       define('_PATH', dirname(__FILE__));
    3739        $file =  '../admin';
    3840        $client = '../client';
    39 #       $dest_path = './admin-bak';
    4041        $trunk='./files/trunk';
    4142        $trunkadm='./files/trunk/admin';
    4243        $trunkcli='./files/trunk/client';
    4344        $path = "./files/";
    44         if(file_exists($path))
    45                 if (!is_dir($path)) { die("<br>E' presente un file di nome $path nella cartella admin, va cancellato per poter aggiornare");}
    46                 else $righe.= "<br>La cartella $path Ú già presente, procedo con l'aggiornamento";
    47         else{
     45        if(file_exists($path)) {
     46                if (!is_dir($path)) {
     47                        $errmex="E' presente un file di nome $path nella cartella admin, va cancellato per poter aggiornare";
     48                        Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
     49                        }
     50                else
     51                        $righe.= "<br>La cartella $path Ú già presente, procedo con l'aggiornamento";
     52        }else{
    4853                $righe.= "<br>La cartella $path non Ú presente, procedo con la creazione";
    4954                mkdir($path, 0777, true);
     
    5661        $filename = "$host/ele3/changeset?format=zip&new=$newrev&new_path=%2F&old=$myrev&old_path=%2F";
    5762        $newfile="./files/aggiornamento".$newrev;
    58         if(!copy($filename,$newfile)){ die( "<br><br>Errore durante la copia del pacchetto - aggiornamento interrotto<br>");}
     63        if(!copy($filename,$newfile)){
     64                $errmex="Errore durante la copia del pacchetto - aggiornamento interrotto<br>";
     65                Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
     66        }
    5967        $zip = new ZipArchive;
    6068        $res = $zip->open($newfile);
     
    6573                $righe.= '<br>File zip estratto';
    6674        } else {
    67                 die( '<br>Errore nell\'estrazione del file zip! Aggiornamento interrotto');
     75#               die( '<br>Errore nell\'estrazione del file zip! Aggiornamento interrotto');
     76                $errmex= '<br>Errore nell\'estrazione del file zip! Aggiornamento interrotto';
     77                Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
    6878        }
    6979       
     
    7787function recurse_copy($src,$dst) {
    7888    $dir = opendir($src);
    79     if(!file_exists($dst)) @mkdir($dst);
     89    if(!file_exists($dst))
     90                if(@mkdir($dst)==false) {
     91                        $errmex= "<br>Errore durante la creazione della directory $dst (controllare i permessi), aggiornamento interrotto";
     92                        Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
     93                }
    8094    while(false !== ( $file = readdir($dir)) ) {
    8195        if (( $file != '.' ) && ( $file != '..' )) {
     
    8498            }
    8599            else {
    86                 if(!copy($src . '/' . $file,$dst . '/' . $file)) die("<br>Errore durante la copia del file".$dst . '/' . $file.", aggiornamento interrotto");
     100                if(!copy($src . '/' . $file,$dst . '/' . $file)) {
     101                                        $errmex= "<br>Errore durante la copia del file".$dst . '/' . $file."(controllare i permessi), aggiornamento interrotto";
     102                                        Header("Location: admin.php?op=aggiorna&id_cons_gen=$id_cons_gen&errmex=$errmex"); exit;
     103                                }
    87104            }
    88105        }
     
    90107    closedir($dir);
    91108}
    92 echo "<br><b>------------------Aggiornamento completato controllare il log e poi tornare al programma-----------------------</b><br>";
    93 echo "<br><a href=\"admin.php\"> <-------------   Torna al programma   --------------> </a><br><br><br>";
     109echo "<hr><br><h2 style=\"text-align:center;\">Aggiornamento completato</h2><br><hr>";
     110#echo "<br><a href=\"admin.php\"> <-------------   Torna al programma   --------------> </a><br><br><br>";
    94111$righedb='';
    95 if(file_exists('./files/trunk/admin/aggiornadb.php')) {
     112if(file_exists('./files/trunk/admin/modules/Elezioni/aggiornadb.php')) {
    96113        $righe.= "<br><br><b>Aggiornamento del database</b>";
    97114        ob_start();
     
    110127    }
    111128}
    112 echo $righe;die();
     129ele();
     130echo $righe;
     131include("footer.php");
     132die();
    113133
    114134?>
Note: See TracChangeset for help on using the changeset viewer.