$error = ""; // extract zip file if (PMBP_file_info("comp", PMBP_EXPORT_DIR . $import_file) == "zip") { include_once "pclzip.lib.php"; $pclzip = new PclZip(PMBP_EXPORT_DIR . $import_file); $extracted_file = $pclzip->extractByIndex(0, PMBP_EXPORT_DIR, ""); if ($pclzip->error_code != 0) { $error = "plczip: " . $pclzip->error_string . "<br>" . BI_BROKEN_ZIP . "!"; } $import_file = substr($import_file, 0, strlen($import_file) - 4); unset($pclzip); } // execute sql queries if (!$error) { if ($file = @gzopen(PMBP_EXPORT_DIR . $import_file, "r")) { extract(PMBP_exec_sql($file, $con), EXTR_OVERWRITE); } else { $error = F_MAIL_3; } if ($file) { @gzclose($file); } if (file_exists(PMBP_EXPORT_DIR . $import_file . ".zip")) { unlink(PMBP_EXPORT_DIR . $import_file); } $import_file .= ".zip"; } // echo success if ($error) { echo PMBP_addOutput($import_file . ": " . $error, "red_left"); } else {
if (file_exists($_GET["fn"] . ".zip")) { echo "<tr><td><div class=\"bold_left\">" . BI_IMPORTING_FILE . ":</div></td><td>" . basename($_GET["fn"]) . ".zip</td></tr>\n"; } else { echo "<tr><td><div class=\"bold_left\">" . BI_IMPORTING_FILE . ":</div></td><td>" . basename($_GET["fn"]) . "</td></tr>\n"; } echo "<tr><td><div class=\"bold_left\">" . BI_INTO_DB . ":</div></td><td>" . $_GET["dbn"] . "</td></tr>\n"; echo "<tr><td><div class=\"bold_left\">" . BI_SESSION_NO . ":</div></td><td>" . $_GET["sn"] . "</td></tr>\n"; echo "<tr><td><div class=\"bold_left\">" . BI_STARTING_LINE . ":</div></td><td>" . $_GET["start"] . "</td></tr>\n"; // start or continue the import process if (!isset($firstSession)) { if (gzseek($file, $_GET["foffset"]) != 0) { $error = "UNEXPECTED ERROR: Can't set gzip file pointer to offset: " . $_GET["foffset"]; } // execute sql queries if (!$error) { extract(PMBP_exec_sql($file, $con, $linespersession), EXTR_OVERWRITE); } // get the current file position if (!$error) { $foffset = gztell($file); if ($foffset === false) { $error = "UNEXPECTED ERROR: Can't read the file pointer offset"; } } } // clean up if (!isset($firstSession)) { if ($con) { @mysql_close(); } @gzclose($file);
public function restoreBackup($name) { if ($_SESSION["S"]->isUserAdmin() == "0") { throw new AccessDeniedException(); } require Util::getRootPath() . "libraries/PMBP.inc.php"; $DB = new DBStorageU(); $con = $DB->getConnection(); $file = fopen(Util::getRootPath() . "system/Backup/{$name}", "r"); $return = PMBP_exec_sql($file, $con); $Tab = new HTMLTable(2); $Tab->setColWidth(1, "120px"); $Tab->addLV("Tabellen", $return["insertQueries"]); $Tab->addLV("Datensätze", $return["tableQueries"]); $Tab->addLV("Befehle gesamt", $return["totalqueries"]); $Tab->addLV("Zeilen", $return["linenumber"]); $Tab->addLV("Fehler", $return["error"]); echo $Tab; }