eve-indy-job-tracker/export.php

39 lines
No EOL
1.2 KiB
PHP
Executable file

<?php
session_start();
// Make sure the session contains data to export
if (empty($_SESSION)) {
http_response_code(400);
header("Content-Type: application/json");
echo json_encode(["error" => "No session data available to export"]);
exit();
}
// Clean up the session data before export
if (isset($_SESSION["characters"])) {
// Remove any entries with empty character IDs
if (isset($_SESSION["characters"][""])) {
unset($_SESSION["characters"][""]);
}
// Create a clean copy for export (don't modify the actual session)
$export_data = $_SESSION;
} else {
$export_data = $_SESSION;
}
// Generate descriptive filename with timestamp for user download
$date_time = date("Y-m-d");
$download_filename = "eve_indy_job_tracker_backup_{$date_time}.json";
// Set headers for download
header("Content-Type: application/json");
header('Content-Disposition: attachment; filename="' . $download_filename . '"');
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");
// Output session data as pretty-printed JSON
echo json_encode($export_data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
error_log("Export completed successfully for session download.");
exit();
?>