<?php requireAdmin(); $message = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') { try { $settings = ['app_name' => trim($_POST['app_name'] ?? 'SMM Panel'), 'timezone' => $_POST['timezone'] ?? 'Europe/Moscow', 'date_format' => $_POST['date_format'] ?? 'd.m.Y', 'items_per_page' => $_POST['items_per_page'] ?? '20', 'theme' => $_POST['theme'] ?? 'light']; foreach ($settings as $key => $value) { $pdo->prepare("UPDATE " . DB_PREFIX . "settings SET setting_value = ? WHERE setting_key = ?")->execute([$value, $key]); } $message = ['type' => 'success', 'text' => 'Настройки сохранены']; } catch (Exception $e) { $message = ['type' => 'error', 'text' => 'Ошибка']; } }
$stmt = $pdo->query("SELECT * FROM " . DB_PREFIX . "settings ORDER BY setting_group, setting_key"); $settings = $stmt->fetchAll();
$settingsByGroup = []; foreach ($settings as $s) { $settingsByGroup[$s['setting_group']][] = $s; }
$groupLabels = ['general' => 'Основные', 'appearance' => 'Внешний вид']; $timezones = ['Europe/Moscow', 'Europe/Kiev', 'Europe/London', 'America/New_York', 'Asia/Tokyo'];
?>

<?php if ($message): ?><div class="alert alert-<?php echo $message['type']; ?>"><?php echo $message['text']; ?></div><?php endif; ?>

<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 24px;">
    <div class="card">
        <div class="card-header"><div class="card-title">Настройки приложения</div></div>
        <form method="POST">
            <?php foreach ($settingsByGroup as $group => $groupSettings): ?>
            <div style="margin-bottom: 24px;"><div style="font-size: 14px; font-weight: 600; color: var(--gray); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 15px;"><?php echo $groupLabels[$group] ?? $group; ?></div>
                <?php foreach ($groupSettings as $setting): $key = $setting['setting_key']; $value = $setting['setting_value']; ?>
                <div class="form-group"><label><?php $labels = ['app_name' => 'Название приложения', 'timezone' => 'Часовой пояс', 'date_format' => 'Формат даты', 'items_per_page' => 'Записей на странице', 'theme' => 'Тема оформления']; echo $labels[$key] ?? $key; ?></label>
                    <?php if ($key === 'timezone'): ?><select name="timezone"><?php foreach ($timezones as $tz): ?><option value="<?php echo $tz; ?>" <?php echo $value === $tz ? 'selected' : ''; ?>><?php echo $tz; ?></option><?php endforeach; ?></select>
                    <?php elseif ($key === 'theme'): ?><select name="theme"><option value="light" <?php echo $value === 'light' ? 'selected' : ''; ?>>Светлая</option><option value="dark" <?php echo $value === 'dark' ? 'selected' : ''; ?>>Темная</option></select>
                    <?php elseif ($key === 'items_per_page'): ?><input type="number" name="items_per_page" value="<?php echo $value; ?>" min="5" max="100">
                    <?php else: ?><input type="text" name="<?php echo $key; ?>" value="<?php echo sanitize($value); ?>"><?php endif; ?>
                </div>
                <?php endforeach; ?>
            </div>
            <?php endforeach; ?>
            <button type="submit" class="btn btn-primary">Сохранить настройки</button>
        </form>
    </div>
    <div>
        <div class="card">
            <div class="card-header"><div class="card-title">Информация о системе</div></div>
            <div style="display: flex; flex-direction: column; gap: 12px;">
                <div style="display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--border);"><span style="color: var(--gray);">Версия</span><span style="font-weight: 500;">1.0.0</span></div>
                <div style="display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--border);"><span style="color: var(--gray);">PHP</span><span style="font-weight: 500;"><?php echo PHP_VERSION; ?></span></div>
                <div style="display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--border);"><span style="color: var(--gray);">MySQL</span><span style="font-weight: 500;"><?php echo $pdo->getAttribute(PDO::ATTR_SERVER_VERSION); ?></span></div>
                <div style="display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--border);"><span style="color: var(--gray);">Префикс таблиц</span><span style="font-weight: 500;"><?php echo DB_PREFIX; ?></span></div>
                <div style="display: flex; justify-content: space-between; padding: 10px 0;"><span style="color: var(--gray);">Время сервера</span><span style="font-weight: 500;"><?php echo date('d.m.Y H:i:s'); ?></span></div>
            </div>
        </div>
        <div class="card" style="margin-top: 24px;">
            <div class="card-header"><div class="card-title">Безопасность</div></div>
            <div style="display: flex; flex-direction: column; gap: 12px;">
                <div style="padding: 12px; background: #fef2f2; border-radius: 8px; border: 1px solid #fecaca;"><div style="font-weight: 600; color: #991b1b; margin-bottom: 4px;"><i class="fas fa-exclamation-triangle"></i> Важно</div><div style="font-size: 13px; color: #7f1d1d;">Убедитесь, что папка <code>install/</code> удалена с сервера после установки.</div></div>
                <div style="padding: 12px; background: #eff6ff; border-radius: 8px; border: 1px solid #bfdbfe;"><div style="font-weight: 600; color: #1e40af; margin-bottom: 4px;"><i class="fas fa-shield-alt"></i> Рекомендация</div><div style="font-size: 13px; color: #1e3a8a;">Установите права 644 на файл <code>includes/config.php</code> для защиты конфигурации.</div></div>
            </div>
        </div>
    </div>
</div>
