<?php
declare(strict_types=1);
session_start();
if (empty($_SESSION['miter'])) {
header('Location: ../../index.php');
exit;
}
require_once __DIR__ . '/../admin/otc.php';
if (!isset($o_file_date) || empty($o_file_date)) {
error_log('miter.php: Critical failure - otc.php did not provide $o_file_date.');
http_response_code(500);
exit('Critical System Error: Timestamp generation failed.');
}
$img_path = '';
if (!empty($_FILES['upload']['name']) && $_FILES['upload']['error'] === UPLOAD_ERR_OK) {
$tmp_name = $_FILES['upload']['tmp_name'];
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mime_type = $finfo->file($tmp_name);
$allowed_mimes = ['image/jpeg', 'image/png', 'image/gif', 'image/webp', 'image/avif'];
if (in_array($mime_type, $allowed_mimes, true)) {
$filename = basename($_FILES['upload']['name']);
$upload_dest = __DIR__ . '/../../images/' . $filename;
if (move_uploaded_file($tmp_name, $upload_dest)) {
$img_path = $filename;
}
}
}
$g_date = date('Y-m-d H:i:s');
$raw_miter = $_POST['miter'] ?? '';
$miter_post = str_replace(["\r\n", "\r", "\n"], '<br>', trim($raw_miter));
$safe_file_id = basename((string)$o_file_date);
$miter_file = __DIR__ . '/../../miters/' . $safe_file_id . '.txt';
$miter_data_array = [
$miter_post,
trim($_POST['url'] ?? ''),
$img_path,
'', // unused
$o_date ?? $g_date,
$g_date,
$g_date
];
if (empty($miter_post)) {
http_response_code(400);
exit('Error: Miter Can Not Be Empty.');
}
if (file_put_contents($miter_file, implode("\n", $miter_data_array), LOCK_EX) === false) {
error_log('miter.php: Atomic write failed for ' . $miter_file);
http_response_code(500);
exit('Write failure.');
}
header('Location: ../../index.php', true, 303);
exit;
?>