<?php
$message = '';
$editPost = null;

if (isset($_GET['delete']) && is_numeric($_GET['delete'])) { try { $pdo->prepare("DELETE FROM " . DB_PREFIX . "posts WHERE id = ?")->execute([$_GET['delete']]); $message = ['type' => 'success', 'text' => 'Публикация удалена']; } catch (Exception $e) { $message = ['type' => 'error', 'text' => 'Ошибка']; } }

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $id = $_POST['post_id'] ?? null;
    $data = ['project_id' => $_POST['project_id'] ?? null, 'title' => trim($_POST['title'] ?? ''), 'content' => trim($_POST['content'] ?? ''), 'platform' => $_POST['platform'] ?? 'instagram', 'post_type' => $_POST['post_type'] ?? 'image', 'status' => $_POST['status'] ?? 'draft', 'scheduled_at' => $_POST['scheduled_at'] ?: null];
    if (empty($data['title'])) { $message = ['type' => 'error', 'text' => 'Укажите заголовок']; }
    else {
        try { if ($id) { $pdo->prepare("UPDATE " . DB_PREFIX . "posts SET project_id=?, title=?, content=?, platform=?, post_type=?, status=?, scheduled_at=? WHERE id=?")->execute([$data['project_id'], $data['title'], $data['content'], $data['platform'], $data['post_type'], $data['status'], $data['scheduled_at'], $id]); $message = ['type' => 'success', 'text' => 'Публикация обновлена']; }
        else { $pdo->prepare("INSERT INTO " . DB_PREFIX . "posts (project_id, title, content, platform, post_type, status, scheduled_at, created_by) VALUES (?, ?, ?, ?, ?, ?, ?, ?)")->execute([$data['project_id'], $data['title'], $data['content'], $data['platform'], $data['post_type'], $data['status'], $data['scheduled_at'], $_SESSION['user_id']]); $message = ['type' => 'success', 'text' => 'Публикация создана']; } }
        catch (Exception $e) { $message = ['type' => 'error', 'text' => 'Ошибка: ' . $e->getMessage()]; }
    }
}

if (isset($_GET['edit']) && is_numeric($_GET['edit'])) { $stmt = $pdo->prepare("SELECT * FROM " . DB_PREFIX . "posts WHERE id = ?"); $stmt->execute([$_GET['edit']]); $editPost = $stmt->fetch(); }

$stmt = $pdo->query("SELECT id, name FROM " . DB_PREFIX . "projects WHERE status = 'active' ORDER BY name");
$projects = $stmt->fetchAll();
$filter = $_GET['filter'] ?? 'all';
$sql = "SELECT p.*, pr.name as project_name, u.login as author FROM " . DB_PREFIX . "posts p LEFT JOIN " . DB_PREFIX . "projects pr ON p.project_id = pr.id LEFT JOIN " . DB_PREFIX . "users u ON p.created_by = u.id WHERE 1=1";
$params = [];
if ($filter !== 'all') { $sql .= " AND p.status = ?"; $params[] = $filter; }
$sql .= " ORDER BY p.created_at DESC";
$stmt = $pdo->prepare($sql); $stmt->execute($params); $posts = $stmt->fetchAll();
$platforms = ['instagram', 'facebook', 'vk', 'telegram', 'tiktok', 'youtube', 'twitter', 'linkedin'];
$postTypes = ['image' => 'Изображение', 'video' => 'Видео', 'carousel' => 'Карусель', 'story' => 'Stories', 'reels' => 'Reels', 'text' => 'Текст'];
?>

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

<div class="card">
    <div class="card-header">
        <div style="display: flex; gap: 10px; align-items: center;">
            <div class="tabs" style="margin-bottom: 0;">
                <a href="?page=posts" class="tab <?php echo $filter === 'all' ? 'active' : ''; ?>">Все</a>
                <a href="?page=posts&filter=draft" class="tab <?php echo $filter === 'draft' ? 'active' : ''; ?>">Черновики</a>
                <a href="?page=posts&filter=scheduled" class="tab <?php echo $filter === 'scheduled' ? 'active' : ''; ?>">Запланировано</a>
                <a href="?page=posts&filter=published" class="tab <?php echo $filter === 'published' ? 'active' : ''; ?>">Опубликовано</a>
            </div>
        </div>
        <button class="btn btn-primary" onclick="openModal('postModal')"><i class="fas fa-plus"></i> Новая публикация</button>
    </div>
    <table class="data-table">
        <thead><tr><th>Публикация</th><th>Проект</th><th>Платформа</th><th>Тип</th><th>Статус</th><th>Дата</th><th>Действия</th></tr></thead>
        <tbody>
            <?php foreach ($posts as $post): ?>
            <tr>
                <td><div style="font-weight: 500;"><?php echo sanitize($post['title']); ?></div><div style="font-size: 12px; color: var(--gray);"><?php echo substr(sanitize($post['content'] ?? ''), 0, 60); ?><?php echo strlen($post['content'] ?? '') > 60 ? '...' : ''; ?></div></td>
                <td><?php echo sanitize($post['project_name'] ?: '—'); ?></td>
                <td><span class="platform-icon platform-<?php echo $post['platform']; ?>"><i class="fab fa-<?php echo $post['platform']; ?>"></i> <?php echo ucfirst($post['platform']); ?></span></td>
                <td><?php echo $postTypes[$post['post_type']] ?? $post['post_type']; ?></td>
                <td><span class="badge-status <?php echo $post['status']; ?>"><?php echo $post['status']; ?></span></td>
                <td><?php if ($post['scheduled_at']): ?><div style="font-size: 13px;"><?php echo date('d.m.Y H:i', strtotime($post['scheduled_at'])); ?></div><?php else: ?><div style="font-size: 13px; color: var(--gray);"><?php echo date('d.m.Y', strtotime($post['created_at'])); ?></div><?php endif; ?></td>
                <td><a href="?page=posts&edit=<?php echo $post['id']; ?>" class="btn btn-sm btn-secondary" style="margin-right: 5px;"><i class="fas fa-edit"></i></a><a href="?page=posts&delete=<?php echo $post['id']; ?>" class="btn btn-sm btn-danger" onclick="return confirm('Удалить?')"><i class="fas fa-trash"></i></a></td>
            </tr>
            <?php endforeach; ?>
            <?php if (empty($posts)): ?><tr><td colspan="7" style="text-align: center; color: var(--gray); padding: 40px;">Публикаций не найдено</td></tr><?php endif; ?>
        </tbody>
    </table>
</div>

<div class="modal-overlay" id="postModal">
    <div class="modal" style="max-width: 700px;">
        <div class="modal-header"><div class="modal-title"><?php echo $editPost ? 'Редактировать публикацию' : 'Новая публикация'; ?></div><button class="modal-close" onclick="closeModal('postModal')">&times;</button></div>
        <form method="POST">
            <div class="modal-body">
                <input type="hidden" name="post_id" value="<?php echo $editPost['id'] ?? ''; ?>">
                <div class="form-group"><label>Проект</label><select name="project_id"><option value="">Выберите проект</option><?php foreach ($projects as $project): ?><option value="<?php echo $project['id']; ?>" <?php echo ($editPost['project_id'] ?? '') == $project['id'] ? 'selected' : ''; ?>><?php echo sanitize($project['name']); ?></option><?php endforeach; ?></select></div>
                <div class="form-group"><label>Заголовок *</label><input type="text" name="title" value="<?php echo sanitize($editPost['title'] ?? ''); ?>" required></div>
                <div class="form-group"><label>Содержание</label><textarea name="content" rows="4"><?php echo sanitize($editPost['content'] ?? ''); ?></textarea></div>
                <div class="form-row"><div class="form-group"><label>Платформа</label><select name="platform"><?php foreach ($platforms as $plat): ?><option value="<?php echo $plat; ?>" <?php echo ($editPost['platform'] ?? 'instagram') === $plat ? 'selected' : ''; ?>><?php echo ucfirst($plat); ?></option><?php endforeach; ?></select></div><div class="form-group"><label>Тип публикации</label><select name="post_type"><?php foreach ($postTypes as $key => $label): ?><option value="<?php echo $key; ?>" <?php echo ($editPost['post_type'] ?? 'image') === $key ? 'selected' : ''; ?>><?php echo $label; ?></option><?php endforeach; ?></select></div></div>
                <div class="form-row"><div class="form-group"><label>Статус</label><select name="status"><option value="draft" <?php echo ($editPost['status'] ?? 'draft') === 'draft' ? 'selected' : ''; ?>>Черновик</option><option value="scheduled" <?php echo ($editPost['status'] ?? '') === 'scheduled' ? 'selected' : ''; ?>>Запланировано</option><option value="published" <?php echo ($editPost['status'] ?? '') === 'published' ? 'selected' : ''; ?>>Опубликовано</option></select></div><div class="form-group"><label>Дата публикации</label><input type="datetime-local" name="scheduled_at" value="<?php echo $editPost['scheduled_at'] ? date('Y-m-d\\TH:i', strtotime($editPost['scheduled_at'])) : ''; ?>"></div></div>
            </div>
            <div class="modal-footer"><button type="button" class="btn btn-secondary" onclick="closeModal('postModal')">Отмена</button><button type="submit" class="btn btn-primary"><?php echo $editPost ? 'Сохранить' : 'Создать'; ?></button></div>
        </form>
    </div>
</div>

<?php if ($editPost): ?><script>openModal('postModal');</script><?php endif; ?>
