39669-vm/center_application.php
2026-04-16 06:19:26 +00:00

148 lines
9.3 KiB
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/includes/app.php';
$flash = consume_flash();
$values = application_defaults();
$errors = [];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
[$values, $errors] = validate_application_input($_POST);
if ($errors === []) {
try {
$applicationId = create_application($values);
set_flash('success', 'تم إرسال طلب فتح المركز بنجاح وهو الآن ظاهر في لوحة المشرف العام.');
header('Location: application_detail.php?id=' . urlencode((string) $applicationId));
exit;
} catch (Throwable $exception) {
$errors['form'] = 'تعذر حفظ الطلب حالياً. يرجى المحاولة مرة أخرى.';
}
}
}
render_page_start('طلب فتح مركز', 'apply', 'بوابة تقديم طلبات فتح المراكز الصيفية مع التحقق من بيانات التشغيل الأساسية.');
render_flash($flash);
?>
<section class="py-4 py-lg-5">
<div class="container-xxl">
<div class="row g-4 align-items-start">
<div class="col-lg-8">
<div class="app-card form-card">
<div class="section-head mb-4">
<div>
<div class="section-title">تقديم طلب فتح مركز صيفي</div>
<div class="section-copy">املأ الحقول التالية ليظهر الطلب مباشرة في لوحة المشرف العام ويبدأ مسار المراجعة.</div>
</div>
<span class="header-chip">نموذج أولي</span>
</div>
<?php if (!empty($errors['form'])): ?>
<div class="alert alert-danger mb-4"><?= e($errors['form']) ?></div>
<?php endif; ?>
<form method="post" novalidate>
<div class="row g-3">
<div class="col-md-8">
<label class="form-label" for="center_name">اسم المركز</label>
<input class="form-control <?= isset($errors['center_name']) ? 'is-invalid' : '' ?>" id="center_name" name="center_name" value="<?= e($values['center_name']) ?>" placeholder="مثال: مركز الريادة الصيفي">
<?php if (isset($errors['center_name'])): ?><div class="invalid-feedback"><?= e($errors['center_name']) ?></div><?php endif; ?>
</div>
<div class="col-md-4">
<label class="form-label" for="city">المدينة / المنطقة</label>
<input class="form-control <?= isset($errors['city']) ? 'is-invalid' : '' ?>" id="city" name="city" value="<?= e($values['city']) ?>" placeholder="العاصمة">
<?php if (isset($errors['city'])): ?><div class="invalid-feedback"><?= e($errors['city']) ?></div><?php endif; ?>
</div>
<div class="col-md-6">
<label class="form-label" for="center_type">نوع المركز</label>
<select class="form-select <?= isset($errors['center_type']) ? 'is-invalid' : '' ?>" id="center_type" name="center_type">
<option value="">اختر</option>
<?php foreach (['بنين', 'بنات', 'مختلط'] as $option): ?>
<option value="<?= e($option) ?>" <?= $values['center_type'] === $option ? 'selected' : '' ?>><?= e($option) ?></option>
<?php endforeach; ?>
</select>
<?php if (isset($errors['center_type'])): ?><div class="invalid-feedback"><?= e($errors['center_type']) ?></div><?php endif; ?>
</div>
<div class="col-md-6">
<label class="form-label" for="gender_scope">الفئة المستهدفة</label>
<select class="form-select <?= isset($errors['gender_scope']) ? 'is-invalid' : '' ?>" id="gender_scope" name="gender_scope">
<option value="">اختر</option>
<?php foreach (['طلاب', 'طالبات', 'طلاب وطالبات'] as $option): ?>
<option value="<?= e($option) ?>" <?= $values['gender_scope'] === $option ? 'selected' : '' ?>><?= e($option) ?></option>
<?php endforeach; ?>
</select>
<?php if (isset($errors['gender_scope'])): ?><div class="invalid-feedback"><?= e($errors['gender_scope']) ?></div><?php endif; ?>
</div>
<div class="col-md-6">
<label class="form-label" for="director_name">اسم مدير / مديرة المركز</label>
<input class="form-control <?= isset($errors['director_name']) ? 'is-invalid' : '' ?>" id="director_name" name="director_name" value="<?= e($values['director_name']) ?>" placeholder="الاسم الرباعي">
<?php if (isset($errors['director_name'])): ?><div class="invalid-feedback"><?= e($errors['director_name']) ?></div><?php endif; ?>
</div>
<div class="col-md-3">
<label class="form-label" for="phone">رقم الهاتف</label>
<input class="form-control <?= isset($errors['phone']) ? 'is-invalid' : '' ?>" id="phone" name="phone" value="<?= e($values['phone']) ?>" placeholder="0500000000">
<?php if (isset($errors['phone'])): ?><div class="invalid-feedback"><?= e($errors['phone']) ?></div><?php endif; ?>
</div>
<div class="col-md-3">
<label class="form-label" for="email">البريد الإلكتروني</label>
<input type="email" class="form-control <?= isset($errors['email']) ? 'is-invalid' : '' ?>" id="email" name="email" value="<?= e($values['email']) ?>" placeholder="name@example.com">
<?php if (isset($errors['email'])): ?><div class="invalid-feedback"><?= e($errors['email']) ?></div><?php endif; ?>
</div>
<div class="col-md-4">
<label class="form-label" for="expected_students">الطاقة الاستيعابية المتوقعة</label>
<input type="number" min="10" max="2000" class="form-control <?= isset($errors['expected_students']) ? 'is-invalid' : '' ?>" id="expected_students" name="expected_students" value="<?= e($values['expected_students']) ?>" placeholder="150">
<?php if (isset($errors['expected_students'])): ?><div class="invalid-feedback"><?= e($errors['expected_students']) ?></div><?php endif; ?>
</div>
<div class="col-md-4">
<label class="form-label" for="start_date">تاريخ البداية</label>
<input type="date" class="form-control <?= isset($errors['start_date']) ? 'is-invalid' : '' ?>" id="start_date" name="start_date" value="<?= e($values['start_date']) ?>">
<?php if (isset($errors['start_date'])): ?><div class="invalid-feedback"><?= e($errors['start_date']) ?></div><?php endif; ?>
</div>
<div class="col-md-4">
<label class="form-label" for="end_date">تاريخ النهاية</label>
<input type="date" class="form-control <?= isset($errors['end_date']) ? 'is-invalid' : '' ?>" id="end_date" name="end_date" value="<?= e($values['end_date']) ?>">
<?php if (isset($errors['end_date'])): ?><div class="invalid-feedback"><?= e($errors['end_date']) ?></div><?php endif; ?>
</div>
<div class="col-12">
<label class="form-label" for="notes">ملخص البرنامج والاحتياجات</label>
<textarea class="form-control" id="notes" name="notes" rows="5" placeholder="مثال: المسارات التعليمية، عدد القاعات، الشركاء، أو أي متطلبات تشغيلية."><?= e($values['notes']) ?></textarea>
</div>
</div>
<div class="form-actions mt-4 d-flex flex-wrap gap-2">
<button class="btn btn-dark px-4" type="submit">إرسال الطلب</button>
<a class="btn btn-outline-secondary px-4" href="applications.php">العودة إلى لوحة الطلبات</a>
</div>
</form>
</div>
</div>
<div class="col-lg-4">
<div class="app-card sidebar-card mb-4">
<div class="section-title mb-3">ماذا يحدث بعد الإرسال؟</div>
<ol class="workflow-list mb-0">
<li>يسجل النظام الطلب ويعطيه مرجعاً مباشراً.</li>
<li>يشاهد المشرف العام الطلب ضمن قائمة جميع المراكز.</li>
<li>يتم تعيين حالة الطلب وتدوين ملاحظات التقييم الأولي.</li>
<li>يمكن اعتماد المركز أو طلب الاستكمال.</li>
</ol>
</div>
<div class="app-card sidebar-card">
<div class="section-title mb-3">الحقول المطلوبة في هذه النسخة</div>
<ul class="check-list mb-0">
<li>هوية المركز والمنطقة</li>
<li>بيانات المسؤول المباشر</li>
<li>الفئة المستهدفة والطاقة التشغيلية</li>
<li>مواعيد تنفيذ البرنامج</li>
<li>ملخص احتياجات التشغيل</li>
</ul>
</div>
</div>
</div>
</div>
</section>
<?php render_page_end(); ?>