2000000) { $content = file_get_contents($filePath, false, null, max(0, $fileSize - 2000000)); } else { $content = file_get_contents($filePath); } } else { $content = "⚠️ File not found or not readable: $filePath"; } // Prepare the download button HTML if filePath starts with /app $downloadButtonHtml = ''; if (strpos($filePath, '/app') === 0 && file_exists($filePath)) { $downloadButtonHtml = ' '; } // Prepare buttons HTML $buttonsHtml = ''; $totalButtons = count($buttons); $colClass = $totalButtons > 0 ? (12 / $totalButtons) : 12; foreach ($buttons as $button) { $labelStringCode = isset($button['labelStringCode']) ? $button['labelStringCode'] : ''; $event = isset($button['event']) ? $button['event'] : ''; $buttonsHtml .= '
'; } // Render HTML $html = '
' . htmlspecialchars($filePath) . '
' . number_format(($fileSize / 1000000), 2, ",", ".") . ' MB' . $downloadButtonHtml . '
' . $buttonsHtml . '
'; return $html; } // Load default data from JSON file $defaultDataFile = 'logs_defaults.json'; $defaultData = file_exists($defaultDataFile) ? json_decode(file_get_contents($defaultDataFile), true) : []; // Check if JSON data is submitted via POST if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['items'])) { $items = json_decode($_POST['items'], true); } else { $items = $defaultData; } // Render the log areas with the retrieved or default data $html = ''; foreach ($items as $item) { $html .= renderLogArea($item); } echo $html; exit(); ?>