<?php
require_once __DIR__ . '/../config.php';
require_once __DIR__ . '/../includes/functions.php';

$pageTitle = '编辑帖子';

$editId = isset($_GET['id']) ? intval($_GET['id']) : 0;

if ($editId === 0) {
  redirect('index.php');
}

requireLogin();

require_once __DIR__ . '/../app/classes/Post.php';
require_once __DIR__ . '/../app/classes/Group.php';

$post = new Post();
$postData = $post->getById($editId);

if (!$postData || $postData['author_id'] !== $_SESSION['user_id']) {
  redirect('index.php');
}

$group = new Group();
$groups = $group->getAll(1);

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $title = sanitizeInput($_POST['title']);
  $content = sanitizeInput($_POST['content']);
  $groupId = isset($_POST['group_id']) ? intval($_POST['group_id']) : null;

  if (empty($title)) {
    mdui.snackbar({ message: '标题不能为空' });
  } else if (empty($content)) {
    mdui.snackbar({ message: '内容不能为空' });
  } else {
    $post->update($editId, [
      'title' => $title,
      'content' => $content,
      'group_id' => $groupId
    ]);

    mdui.snackbar({ message: '帖子更新成功！' });
    setTimeout(function() { window.location.href = 'post.php?id=' + $editId; }, 1000);
  }
}

$content = "
  <div style='max-width: 800px; margin: 0 auto;'>
    <mdui-card style='padding: 30px;'>
      <h2 style='text-align: center; margin-bottom: 20px;'>编辑帖子</h2>

      <mdui-text-field
        label='标题'
        placeholder='请输入帖子标题'
        icon='article'
        value='{$postData["title"]}'
        required
        style='margin-bottom: 20px;'>
      </mdui-text-field>

      <mdui-text-field
        label='内容'
        placeholder='分享你的想法...'
        textarea
        rows='8'
        value='{$postData["content"]}'
        icon='edit'
        required
        style='margin-bottom: 20px;'>
      </mdui-text-field>

      <mdui-select label='选择群组' style='margin-bottom: 20px;'>
        <mdui-menu-item value=''>未分类</mdui-menu-item>
        " . ($groups ? " " . implode('', array_map(function($g) {
          $selected = '';
          if($g['id'] == $postData['group_id']) {
            $selected = 'selected';
          }
          return "<mdui-menu-item value='{$g["id"]}' {$selected}>{$g["name"]}</mdui-menu-item>";
        }, $groups)) : "") . "
      </mdui-select>

      <div style='text-align: right;'>
        <mdui-button variant='text' icon='arrow_back' onclick='window.location.href=\"post.php?id={$editId}\"'>取消</mdui-button>
        <mdui-button variant='filled' icon='save' onclick='document.getElementById("post-form").requestSubmit()'>保存</mdui-button>
      </div>
    </mdui-card>
  </div>
";

require_once __DIR__ . '/../includes/header.php';
echo $content;
require_once __DIR__ . '/../includes/footer.php';
