<?php
declare(strict_types=1);
session_start();
if (empty($_SESSION['miter'])) {
header('Location: ../../settings.php');
exit;
}
// delete existing zip
$usr_dir = '../../user/';
$zip_past = glob($usr_dir . '*.zip');
if (is_array($zip_past)) {
foreach ($zip_past as $zip) {
if (file_exists($zip) && is_file($zip)) {
unlink($zip);
}
}
}
include 'otc.php';
// create zip
$zip_dir = '../../user/';
$zip_file = 'miter_backup_' . $o_file_date . '.zip';
$zip_gather = $zip_dir . $zip_file;
$zip_new = new ZipArchive;
if ($zip_new->open($zip_gather, ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) {
// miters (txt)
$dat_dir = '../../miters/';
$dat_array = glob($dat_dir . '*.txt');
if (is_array($dat_array)) {
foreach ($dat_array as $user) {
if (file_exists($user) && is_file($user)) {
$zip_new->addFile($user, 'miters/' . basename($user));
}
}
}
// tenons (txt)
$dat_dir = '../../tenons/';
$dat_array = glob($dat_dir . '*.txt');
if (is_array($dat_array)) {
foreach ($dat_array as $tenon) {
if (file_exists($tenon) && is_file($tenon)) {
$zip_new->addFile($tenon, 'tenons/' . basename($tenon));
}
}
}
// ussr (txt,xml)
$dat_dir = '../../user/';
$dat_array = glob($dat_dir . '*.{txt,xml}', GLOB_BRACE);
if (is_array($dat_array)) {
foreach ($dat_array as $user) {
if (file_exists($user) && is_file($user)) {
$zip_new->addFile($user, 'user/' . basename($user));
}
}
}
// panels (txt)
$dat_dir = '../../panels/';
$dat_array = glob($dat_dir . '*.txt');
if (is_array($dat_array)) {
foreach ($dat_array as $user) {
if (file_exists($user) && is_file($user)) {
$zip_new->addFile($user, 'panels/' . basename($user));
}
}
}
// tenon_inserts.txt
$dat_dir = '../tenon/';
$dat_array = glob($dat_dir . 'tenon_inserts.txt', GLOB_BRACE);
if (is_array($dat_array)) {
foreach ($dat_array as $user) {
if (file_exists($user) && is_file($user)) {
$zip_new->addFile($user, 'tenon/' . basename($user));
}
}
}
$zip_new->close();
}
if (file_exists($zip_gather) && is_file($zip_gather)) {
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=' . $zip_file);
header('Content-Length: ' . filesize($zip_gather));
readfile($zip_gather);
exit;
}