<?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 memo_h($v): string {
    return htmlspecialchars((string)$v, ENT_QUOTES, 'UTF-8');
}

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

function memo_analyze_text(string $text): string {
    $analysis = [];

    $analysis[] = "نتيجة الفحص القانوني:";
    $analysis[] = "";

    if (mb_strlen($text) < 100) {
        $analysis[] = "⚠ المذكرة قصيرة جداً.";
    } else {
        $analysis[] = "✔ حجم المذكرة مناسب.";
    }

    if (str_contains($text, 'حيث') || str_contains($text, 'بناءً عليه')) {
        $analysis[] = "✔ صياغة قانونية جيدة.";
    } else {
        $analysis[] = "⚠ ينقصها أسلوب قانوني.";
    }

    if (str_contains($text, 'قانون') || str_contains($text, 'المادة')) {
        $analysis[] = "✔ يوجد استناد قانوني.";
    } else {
        $analysis[] = "⚠ لا يوجد استناد قانوني.";
    }

    if (str_contains($text, 'نلتمس') || str_contains($text, 'الطلبات')) {
        $analysis[] = "✔ الطلبات واضحة.";
    } else {
        $analysis[] = "⚠ لا توجد طلبات.";
    }

    $analysis[] = "";
    $analysis[] = "التقييم العام:";

    if (mb_strlen($text) > 200) {
        $analysis[] = "المذكرة جيدة.";
    } else {
        $analysis[] = "المذكرة تحتاج تحسين.";
    }

    return implode("\n", $analysis);
}

/* ================== التشغيل ================== */
$msg = '';
$err = '';
$result = '';

$form = [
    'memo_type' => '',
    'memo_text' => ''
];

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

    $form['memo_type'] = memo_post('memo_type');
    $form['memo_text'] = memo_post('memo_text');

    if ($form['memo_type'] === '') {
        $err = 'يرجى اختيار نوع المذكرة.';
    } elseif ($form['memo_text'] === '') {
        $err = 'يرجى إدخال نص المذكرة.';
    } else {
        $result = memo_analyze_text($form['memo_text']);
        $msg = 'تم فحص المذكرة بنجاح.';
    }
}

render_layout_start('فحص المذكرة القانونية');
?>

<style>
.memo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.memo-card{background:rgba(255,255,255,.05);padding:16px;border-radius:16px}
.memo-output{white-space:pre-wrap;background:#111;padding:16px;border-radius:12px}
textarea{width:100%;padding:12px;border-radius:10px}
select{width:100%;padding:10px;border-radius:10px}
.memo-page{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:20px !important;
  box-sizing:border-box;
}

.memo-grid{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) !important;
  gap:16px !important;
  align-items:stretch;
}

.memo-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:16px;
  box-sizing:border-box;
}

.memo-card form,
.memo-form-grid,
.memo-card .input,
.memo-card select,
.memo-card textarea{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
}

.memo-textarea,
textarea[name="memo_text"]{
  min-height:420px !important;
  width:100% !important;
  resize:vertical;
}

.memo-output{
  width:100% !important;
  min-height:420px !important;
  white-space:pre-wrap;
  line-height:2;
  background:rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  padding:18px;
  box-sizing:border-box;
}

.memo-actions,
.memo-tools{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-start;
  margin-top:14px;
}

@media(max-width:980px){
  .memo-grid{
    grid-template-columns:1fr !important;
  }
}
</style>

<div class="memo-grid">

<div class="memo-card">
<form method="post">

<label>نوع المذكرة</label>
<select name="memo_type">
<option value="">اختر</option>
<option value="claim">مذكرة دعوى</option>
<option value="defense">مذكرة دفاع</option>
<option value="appeal">مذكرة استئناف</option>
</select>

<br><br>

<label>نص المذكرة</label>
<textarea name="memo_text" rows="12"><?= memo_h($form['memo_text']) ?></textarea>

<br><br>

<button type="submit">فحص المذكرة</button>

</form>
</div>

<div class="memo-card">

<?php if ($msg): ?>
<div style="color:green"><?= memo_h($msg) ?></div>
<?php endif; ?>

<?php if ($err): ?>
<div style="color:red"><?= memo_h($err) ?></div>
<?php endif; ?>

<div id="printMemoArea" class="memo-output">
<?= memo_h($result ?: 'ستظهر النتيجة هنا...') ?>
</div>

<br>

<button onclick="copyMemo()">نسخ</button>

</div>

</div>

<script>
function copyMemo(){
    let text = document.getElementById('printMemoArea').innerText;
    navigator.clipboard.writeText(text);
    alert('تم النسخ');
}
</script>

<?php render_layout_end(); ?>