示例#1
0
文件: backup.php 项目: stweil/glpi
    $fsize = filesize($path . "/" . $_GET["file"]);
    if (isset($offset)) {
        if ($offset == -1) {
            $percent = 100;
        } else {
            $percent = min(100, round(100 * $offset / $fsize, 0));
        }
    } else {
        $percent = 0;
    }
    if ($percent >= 0) {
        Html::displayProgressBar(400, $percent);
        echo '<br>';
    }
    if ($offset != -1) {
        if (restoreMySqlDump($DB, $path . "/" . $_GET["file"], $duree)) {
            echo "<div class='center'>" . "<a href=\"backup.php?file=" . $_GET["file"] . "&amp;duree={$duree}&amp;offset=" . "{$offset}&amp;cpt={$cpt}&amp;donotcheckversion=1\">";
            echo __('Automatic redirection, else click') . "</a>";
            echo "<script language='javascript' type='text/javascript'>" . "window.location=\"backup.php?file=" . $_GET["file"] . "&duree={$duree}&offset={$offset}&cpt={$cpt}&donotcheckversion=1\";" . "</script></div>";
            Html::glpi_flush();
            exit;
        }
    } else {
        DBmysql::optimize_tables(NULL, true);
        // Compatiblity for old version for utf8 complete conversion
        $cnf = new Config();
        $input['id'] = 1;
        $input['utf8_conv'] = 1;
        $cnf->update($input);
    }
}
示例#2
0
     $res = mysqli_query($GLOBALS["mysqli"], $sql);
     $sql = "INSERT INTO a_tmp_setting SET name='nom_table', value='';";
     $res = mysqli_query($GLOBALS["mysqli"], $sql);
     echo "<p>Extraction de l'archive...<br />";
     if (extractMySqlDump($path . $file, $duree)) {
         $succes_etape = "y";
     }
 } else {
     // TESTER S'IL RESTE DES table_%
     $sql = "SELECT 1=1 FROM a_tmp_setting WHERE name LIKE 'table_%';";
     $res = mysqli_query($GLOBALS["mysqli"], $sql);
     if (mysqli_num_rows($res) > 0) {
         $erreur_mysql = FALSE;
         // Il reste des tables à restaurer
         //if (restoreMySqlDump($path."/base_extraite.sql",$duree)) {
         if (restoreMySqlDump($duree)) {
             $succes_etape = "y";
         }
     } else {
         // La restauration est achevée
         // On ne devrait pas arriver là.
         echo "<div  class=\"center\"><strong>><p>Restauration terminée.<br /><br />Votre session GEPI n'est plus valide, vous devez vous reconnecter<br /><a href = \"../login.php\">Se connecter</a></p></div>\n";
         require "../lib/footer.inc.php";
         die;
     }
 }
 if ($succes_etape != "y") {
     echo "<p style='color:red'>Une erreur s'est produite!<br />";
 } else {
     // durée de la sauvegarde
     $t_duree = time() - $t_debut;