Changeset 379


Ignore:
Timestamp:
Oct 16, 2022, 10:39:05 PM (19 months 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
Location:
trunk
Files:
5 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/admin/admin.php

    r378 r379  
    207207        $multicomune=$row['multicomune'];
    208208}
    209 if(!isset($_SESSION['aggiornamento']) and isset($_SESSION['aid']) and ChiSei(0)==256)
    210 {
    211         $sql="SELECT COLUMN_NAME
    212         FROM INFORMATION_SCHEMA.COLUMNS
    213         WHERE TABLE_SCHEMA = '$dbname'
    214         AND TABLE_NAME = '".$prefix."_config'
    215         AND COLUMN_NAME = 'aggiornamento'";
    216         $sth = $dbi->prepare($sql);
    217         $sth->execute();
    218         if($sth->rowCount())
    219         {
    220                 $sth = $dbi->prepare("select aggiornamento from ".$prefix."_config");
    221                 $sth->execute();
    222                 list($agg)=$sth->fetch(PDO::FETCH_NUM);
    223                 $_SESSION['aggiornamento']=$agg;
    224                 if($agg) include('aggiornamento.php');
    225         }else{
    226                 $sql="ALTER TABLE `soraldo_config` ADD `aggiornamento` ENUM('0','1','2') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '2' AFTER `ed_user`;";
    227                 $sth = $dbi->prepare($sql);
    228                 $sth->execute();
    229         }
    230 }
     209
    231210//fine
    232211        if (isset($param['tema'])) $_SESSION['tema']=$param['tema'];
     
    295274
    296275}
     276# si settano le variabili per il controllo degli aggiornamenti
     277if(!isset($_SESSION['localrev']) and isset($_SESSION['aid']) and ChiSei(0)==256)
     278{
     279        $sql="SELECT COLUMN_NAME
     280        FROM INFORMATION_SCHEMA.COLUMNS
     281        WHERE TABLE_SCHEMA = '$dbname'
     282        AND TABLE_NAME = '".$prefix."_config'
     283        AND COLUMN_NAME = 'aggiornamento'";
     284        $sth = $dbi->prepare($sql);
     285        $sth->execute();
     286        if(!$sth->rowCount())
     287        {               
     288                $sql="ALTER TABLE `soraldo_config` ADD `aggiornamento` ENUM('0','1','2') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1' AFTER `ed_user`;";
     289                $sth = $dbi->prepare($sql);
     290                $sth->execute();
     291        }
     292        $sth = $dbi->prepare("select aggiornamento from ".$prefix."_config");
     293        $sth->execute();
     294        list($agg)=$sth->fetch(PDO::FETCH_NUM);
     295        $_SESSION['aggiornamento']=$agg;
     296###########
     297        $righe='';
     298        if(phpversion()<5.6) $host="http://80.211.143.127";
     299        else $host="https://trac.eleonline.it";
     300        if(false === $file = file("$host/ele3/changeset/")) {
     301                $newrev=0;
     302        }else{
     303                $cntFile = count($file);
     304                $fine=0;
     305                $currentLine=0;
     306
     307                foreach ($file as $line_num => $line) {
     308                        if(strpos($line,'<title>') ) {$fine=1; continue;}
     309                        if ($fine){
     310                                $newrev=(int) filter_var($line, FILTER_SANITIZE_NUMBER_INT);
     311                                break;
     312                        }
     313                }
     314        }
     315        include('versione.php');
     316        $myrev=intval(substr($versione,-4,4));
     317        $_SESSION['aggiornamento']=$agg;
     318        $_SESSION['localrev']=$myrev;
     319        $_SESSION['remoterev']=$newrev;         
     320        unset($file);           
     321#               if($agg) include('aggiornamento.php');
     322#die("local: ".$_SESSION['localrev'].$_SESSION['remoterev']);   
     323}
    297324if(!isset($_SESSION['BASE'])) $_SESSION['BASE']=substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['REQUEST_URI'], "/")-16);
    298325if(!isset($language)) $language=$_SESSION['lang'];
     
    534561    include("modules/Elezioni/ele_tipi.php");
    535562        break;
     563    case "aggiorna":
     564    include("modules/Elezioni/aggiornamento.php");
     565        break;
    536566    case "constipi":
    537567    include("modules/Elezioni/ele_consultazionitipi.php");
    538         break;
    539     case "aggiorna":
    540     include("modules/Elezioni/aggiorna.php");
    541568        break;
    542569    case "parziali":
  • 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?>
  • trunk/admin/modules/Elezioni/ele.php

    r362 r379  
    181181                    echo "<hr>";
    182182                }
    183                 echo "
    184                 <a href=\"admin.php?op=constipi&amp;id_cons_gen=$id_cons_gen\">$bullet"._TIPO_ADM."</a><br>
    185                 <a href=\"admin.php?op=confconsiglio&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONFCONS."</a>
     183                $newrev=$_SESSION['remoterev'];
     184                $myrev=$_SESSION['localrev'];
     185                if($newrev==$myrev) echo "<a href=\"admin.php?op=aggiorna&amp;id_cons_gen=$id_cons_gen\">$bullet"._AGGIORNA."</a><br>";
     186                else    echo "<a href=\"admin.php?op=aggiorna&amp;id_cons_gen=$id_cons_gen\">$bullet_red<b>"._AGGIORNA."</b></a><br>";
     187                echo "<a href=\"admin.php?op=confconsiglio&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONFCONS."</a>
    186188                </td></tr><tr align=\"left\" bgcolor=\"$bgcolor1\"><td>
    187189                <a href=\"admin.php?op=inscomuni&amp;id_cons_gen=$id_cons_gen\">$bullet"._DEFCOMUNE."</a><br>
    188190                <a href=\"admin.php?op=oper_admin&amp;id_cons_gen=$id_cons_gen\">$bullet"._AMMINISTRATORI."</a>
    189191                </td></tr><tr align=\"left\" bgcolor=\"$bgcolor1\"><td>
    190                 <a href=\"admin.php?op=consultazione&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONSULTAZIONE_ADM."</a><br>
    191 
    192                 <a href=\"admin.php?op=rec_add_aff&amp;id_cons_gen=$id_cons_gen\">$bullet"._AFFLUENZE."</a><br>
    193                 <a href=\"admin.php?op=associazioni&amp;id_cons_gen=$id_cons_gen\">$bullet"._INSCOMUNE."</a><br>
    194                 <a href=\"http://www.eleonline.it/portal/segnala.php?tmp=test123\" target=\"_blank\">$bullet_red <b>"._SEGNALA."</b></a>
     192                <a href=\"admin.php?op=consultazione&amp;id_cons_gen=$id_cons_gen\">$bullet"._CONSULTAZIONE_ADM."</a><br>";
     193echo "<a href=\"admin.php?op=rec_add_aff&amp;id_cons_gen=$id_cons_gen\">$bullet"._AFFLUENZE."</a><br>
     194                <a href=\"admin.php?op=associazioni&amp;id_cons_gen=$id_cons_gen\">$bullet"._INSCOMUNE."</a>
    195195                </td></tr>";
     196#               <br><a href=\"http://www.eleonline.it/portal/segnala.php?tmp=test123\" target=\"_blank\">$bullet_red <b>"._SEGNALA."</b></a>
     197
    196198#               <a href=\"admin.php?op=backup&amp;id_cons_gen=$id_cons_gen\">$bullet"._BACKUP."</a><br>
    197199#               <a href=\"admin.php?op=restore&amp;id_cons_gen=$id_cons_gen\">$bullet"._RESTORE."</a>
  • trunk/admin/modules/Elezioni/language/lang-it.php

    r362 r379  
    204204define("_CIRCS","Circoscrizioni");
    205205}
     206define("_AGGIORNA","Aggiornamento");
    206207define("_VISAFFMF","Affluenze per genere");
    207208define("_DISGIUNTO","Unica scheda con voti indipendenti?");
  • trunk/admin/versione.php

    r378 r379  
    11<?php
    22
    3 $versione = "3.0 rev 378";
     3$versione = "3.0 rev 379";
    44$version_number = $versione;
    5 $datarel = "03 ottobre 2022";
     5$datarel = "16 ottobre 2022";
    66$version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
    77
  • trunk/client/versione.php

    r378 r379  
    11<?php
    22
    3 $versione = "3.0 rev 378";
     3$versione = "3.0 rev 379";
    44$version_number = $versione;
    5 $datarel = "03 ottobre 2022";
     5$datarel = "16 ottobre 2022";
    66$version = "Eleonline $version_number (<i>Data Release: $datarel</i>)";
    77
Note: See TracChangeset for help on using the changeset viewer.