<?php
declare(strict_types=1);

if (session_status() !== PHP_SESSION_ACTIVE) {
    session_start();
}

require_once __DIR__ . '/../db.php';
require_once __DIR__ . '/../inc/layout.php';

if (empty($_SESSION['user_id'])) {
    header('Location: ' . u('index.html?e=1'));
    exit;
}

if (!in_array(current_role(), ['OWNER', 'ADMIN', 'LAWYER', 'STAFF'], true)) {
    http_response_code(403);
    exit('غير مصرح');
}

function lib_h($v): string
{
    return htmlspecialchars((string)$v, ENT_QUOTES, 'UTF-8');
}

function lib_clean(string $text): string
{
    $text = trim($text);
    $text = str_replace(["\r\n", "\r"], "\n", $text);
    $text = preg_replace('/[ \t]+/u', ' ', $text);
    $text = preg_replace("/\n{3,}/u", "\n\n", $text);
    return trim((string)$text);
}

function lib_post(string $key): string
{
    return lib_clean((string)($_POST[$key] ?? ''));
}

function lib_table_exists(PDO $pdo, string $table): bool
{
    static $cache = [];
    if (isset($cache[$table])) {
        return $cache[$table];
    }

    try {
        $st = $pdo->prepare("
            SELECT COUNT(*)
            FROM information_schema.tables
            WHERE table_schema = DATABASE()
              AND table_name = ?
        ");
        $st->execute([$table]);
        $cache[$table] = ((int)$st->fetchColumn() > 0);
        return $cache[$table];
    } catch (Throwable $e) {
        return false;
    }
}

$pdo = db();
if (!$pdo instanceof PDO) {
    http_response_code(500);
    exit('DB not ready');
}

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

$msg = '';
$err = '';

$form = [
    'title'           => '',
    'section'         => '',
    'content_type'    => '',
    'keywords'        => '',
    'short_desc'      => '',
    'content_body'    => '',
    'status'          => 'منشور',
    'branch_id'       => (string)current_branch_id(),
    'source_reference'=> '',
];

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $form = [
        'title'            => lib_post('title'),
        'section'          => lib_post('section'),
        'content_type'     => lib_post('content_type'),
        'keywords'         => lib_post('keywords'),
        'short_desc'       => lib_post('short_desc'),
        'content_body'     => lib_post('content_body'),
        'status'           => lib_post('status'),
        'branch_id'        => lib_post('branch_id'),
        'source_reference' => lib_post('source_reference'),
    ];

    if ($form['title'] === '') {
        $err = 'يرجى إدخال عنوان المحتوى.';
    } elseif ($form['section'] === '') {
        $err = 'يرجى اختيار قسم المحتوى.';
    } elseif ($form['content_type'] === '') {
        $err = 'يرجى اختيار نوع المحتوى.';
    } elseif ($form['content_body'] === '') {
        $err = 'يرجى إدخال نص المحتوى.';
    } else {
        try {
            if (!lib_table_exists($pdo, 'legal_ai_library_items')) {
                $err = 'جدول المكتبة غير موجود. أنشئ الجدول أولاً باسم legal_ai_library_items.';
            } else {
                $st = $pdo->prepare("
                    INSERT INTO legal_ai_library_items
                    (
                        title,
                        section_name,
                        content_type,
                        keywords,
                        short_description,
                        content_body,
                        status,
                        branch_id,
                        source_reference,
                        created_by,
                        created_at
                    )
                    VALUES
                    (
                        :title,
                        :section_name,
                        :content_type,
                        :keywords,
                        :short_description,
                        :content_body,
                        :status,
                        :branch_id,
                        :source_reference,
                        :created_by,
                        NOW()
                    )
                ");

                $st->execute([
                    ':title'             => $form['title'],
                    ':section_name'      => $form['section'],
                    ':content_type'      => $form['content_type'],
                    ':keywords'          => $form['keywords'],
                    ':short_description' => $form['short_desc'],
                    ':content_body'      => $form['content_body'],
                    ':status'            => $form['status'],
                    ':branch_id'         => (int)($form['branch_id'] !== '' ? $form['branch_id'] : current_branch_id()),
                    ':source_reference'  => $form['source_reference'],
                    ':created_by'        => (int)($_SESSION['user_id'] ?? 0),
                ]);

                $msg = 'تم حفظ المحتوى الجديد في المكتبة القانونية بنجاح.';

                $form = [
                    'title'           => '',
                    'section'         => '',
                    'content_type'    => '',
                    'keywords'        => '',
                    'short_desc'      => '',
                    'content_body'    => '',
                    'status'          => 'منشور',
                    'branch_id'       => (string)current_branch_id(),
                    'source_reference'=> '',
                ];
            }
        } catch (Throwable $e) {
            $err = 'تعذر حفظ المحتوى: ' . $e->getMessage();
        }
    }
}

render_layout_start('إضافة محتوى جديد');
?>

<style>
.addlib-page{
  width:100%;
  max-width:100%;
}
.addlib-hero{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(135deg, rgba(0,106,122,.35), rgba(0,66,79,.18));
  border-radius:22px;
  padding:24px;
  margin-bottom:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.14);
}
.addlib-hero h1{
  margin:0 0 8px;
  font-size:28px;
  line-height:1.3;
}
.addlib-hero p{
  margin:0;
  color:rgba(255,255,255,.78);
  line-height:1.8;
  font-size:14px;
}
.addlib-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
}
.addlib-card{
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  border-radius:18px;
  padding:16px;
  margin-bottom:16px;
}
.addlib-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.addlib-full{
  grid-column:1 / -1;
}
.addlib-label{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  color:var(--muted);
  font-weight:700;
}
.addlib-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.addlib-help{
  color:var(--muted);
  line-height:1.9;
  font-size:13px;
}
.addlib-list{
  margin:0;
  padding-right:18px;
}
.addlib-list li{
  margin-bottom:10px;
  line-height:1.9;
}
.addlib-note{
  border:1px dashed rgba(212,175,55,.45);
  background:rgba(212,175,55,.08);
  border-radius:16px;
  padding:14px;
  color:rgba(255,255,255,.88);
  line-height:1.9;
  margin-top:12px;
}
@media (max-width: 980px){
  .addlib-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 720px){
  .addlib-form-grid{
    grid-template-columns:1fr;
  }
}
</style>

<div class="addlib-page">
  <div class="addlib-hero">
    <h1>إضافة محتوى جديد</h1>
    <p>إضافة مادة جديدة إلى المكتبة القانونية الذكية ليتم استخدامها داخل النظام والربط مع الذكاء القانوني.</p>
  </div>

  <?php if ($msg !== ''): ?>
    <div class="msg ok"><?= lib_h($msg) ?></div>
  <?php endif; ?>

  <?php if ($err !== ''): ?>
    <div class="msg err"><?= lib_h($err) ?></div>
  <?php endif; ?>

  <div class="addlib-grid">
    <div>
      <div class="addlib-card">
        <div class="cardHead">
          <div><strong>بيانات المحتوى</strong></div>
        </div>

        <form method="post" action="">
          <div class="addlib-form-grid">
            <div>
              <label class="addlib-label">عنوان المحتوى</label>
              <input class="input" type="text" name="title" value="<?= lib_h($form['title']) ?>" placeholder="مثال: إجراءات الدعوى العمالية">
            </div>

            <div>
              <label class="addlib-label">القسم</label>
              <select class="input" name="section">
                <option value="">اختر القسم</option>
                <option value="القوانين الاتحادية" <?= $form['section'] === 'القوانين الاتحادية' ? 'selected' : '' ?>>القوانين الاتحادية</option>
                <option value="مكتبة القضايا" <?= $form['section'] === 'مكتبة القضايا' ? 'selected' : '' ?>>مكتبة القضايا</option>
                <option value="مكتبة الجلسات" <?= $form['section'] === 'مكتبة الجلسات' ? 'selected' : '' ?>>مكتبة الجلسات</option>
                <option value="مكتبة العملاء" <?= $form['section'] === 'مكتبة العملاء' ? 'selected' : '' ?>>مكتبة العملاء</option>
                <option value="النماذج القانونية" <?= $form['section'] === 'النماذج القانونية' ? 'selected' : '' ?>>النماذج القانونية</option>
                <option value="تعليمات المكتب" <?= $form['section'] === 'تعليمات المكتب' ? 'selected' : '' ?>>تعليمات المكتب</option>
                <option value="معرفة الروبوت" <?= $form['section'] === 'معرفة الروبوت' ? 'selected' : '' ?>>معرفة الروبوت</option>
              </select>
            </div>

            <div>
              <label class="addlib-label">نوع المحتوى</label>
              <select class="input" name="content_type">
                <option value="">اختر النوع</option>
                <option value="مقال قانوني" <?= $form['content_type'] === 'مقال قانوني' ? 'selected' : '' ?>>مقال قانوني</option>
                <option value="مذكرة" <?= $form['content_type'] === 'مذكرة' ? 'selected' : '' ?>>مذكرة</option>
                <option value="نموذج" <?= $form['content_type'] === 'نموذج' ? 'selected' : '' ?>>نموذج</option>
                <option value="إجراء" <?= $form['content_type'] === 'إجراء' ? 'selected' : '' ?>>إجراء</option>
                <option value="سياسة داخلية" <?= $form['content_type'] === 'سياسة داخلية' ? 'selected' : '' ?>>سياسة داخلية</option>
                <option value="شرح" <?= $form['content_type'] === 'شرح' ? 'selected' : '' ?>>شرح</option>
                <option value="مرجع" <?= $form['content_type'] === 'مرجع' ? 'selected' : '' ?>>مرجع</option>
              </select>
            </div>

            <div>
              <label class="addlib-label">حالة النشر</label>
              <select class="input" name="status">
                <option value="منشور" <?= $form['status'] === 'منشور' ? 'selected' : '' ?>>منشور</option>
                <option value="مسودة" <?= $form['status'] === 'مسودة' ? 'selected' : '' ?>>مسودة</option>
                <option value="مخفي" <?= $form['status'] === 'مخفي' ? 'selected' : '' ?>>مخفي</option>
              </select>
            </div>

            <div>
              <label class="addlib-label">الفرع</label>
              <select class="input" name="branch_id">
                <option value="1" <?= $form['branch_id'] === '1' ? 'selected' : '' ?>>أبوظبي</option>
                <option value="2" <?= $form['branch_id'] === '2' ? 'selected' : '' ?>>دبي</option>
                <option value="3" <?= $form['branch_id'] === '3' ? 'selected' : '' ?>>الشارقة</option>
                <option value="4" <?= $form['branch_id'] === '4' ? 'selected' : '' ?>>العين</option>
              </select>
            </div>

            <div>
              <label class="addlib-label">مرجع المصدر</label>
              <input class="input" type="text" name="source_reference" value="<?= lib_h($form['source_reference']) ?>" placeholder="رقم قانون / ملف / مصدر داخلي">
            </div>

            <div class="addlib-full">
              <label class="addlib-label">الكلمات المفتاحية</label>
              <input class="input" type="text" name="keywords" value="<?= lib_h($form['keywords']) ?>" placeholder="مثال: عمالي، فصل تعسفي، مكافأة نهاية خدمة">
            </div>

            <div class="addlib-full">
              <label class="addlib-label">وصف مختصر</label>
              <textarea class="input" name="short_desc" rows="3" placeholder="ملخص مختصر عن المحتوى"><?= lib_h($form['short_desc']) ?></textarea>
            </div>

            <div class="addlib-full">
              <label class="addlib-label">نص المحتوى الكامل</label>
              <textarea class="input" name="content_body" rows="14" placeholder="اكتب أو الصق النص الكامل للمحتوى هنا"><?= lib_h($form['content_body']) ?></textarea>
            </div>
          </div>

          <div class="addlib-actions">
            <button class="btn" type="submit">حفظ المحتوى</button>
            <a class="btn ghost" href="<?= lib_h(u('HLG-AI-Legal-Core/legal_ai_library.php')) ?>">العودة إلى المكتبة</a>
            <a class="btn ghost" href="<?= lib_h(u('HLG-AI-Legal-Core/legal_ai.php')) ?>">العودة إلى الذكاء القانوني</a>
          </div>
        </form>
      </div>
    </div>

    <div>
      <div class="addlib-card">
        <div class="cardHead">
          <div><strong>إرشادات الإدخال</strong></div>
        </div>

        <ul class="addlib-list">
          <li>اكتب عنوانًا واضحًا ومباشرًا للمحتوى.</li>
          <li>اختر القسم المناسب حتى يسهل على الروبوت الوصول إليه.</li>
          <li>أضف كلمات مفتاحية دقيقة لتحسين البحث.</li>
          <li>حافظ على تنسيق المحتوى بصياغة قانونية واضحة.</li>
          <li>يمكن استخدام هذه الصفحة لإضافة شروحات، نماذج، سياسات، أو مراجع.</li>
        </ul>

        <div class="addlib-note">
          المحتوى المضاف هنا يمكن لاحقًا ربطه مباشرة مع الروبوت القانوني ليجيب منه تلقائيًا.
        </div>
      </div>

      <div class="addlib-card">
        <div class="cardHead">
          <div><strong>ملاحظات تقنية</strong></div>
        </div>
        <div class="addlib-help">
          يجب أن يكون جدول المكتبة موجودًا باسم
          <code>legal_ai_library_items</code>
          حتى يتم الحفظ التلقائي.
        </div>
      </div>
    </div>
  </div>
</div>

<?php render_layout_end(); ?>