# نظام نماذج اي إس إس للحلول الذكية / EIEVSS Smart Forms System

نظام ويب بسيط ومتجاوب لإدارة نماذج شركة **اي إس إس للحلول الذكية** التابعة لقرية الإمارات العالمية للقدرة. تم بناء النظام باستخدام:

**HTML + CSS + JavaScript + PHP + SQL + Bootstrap**

The system is a responsive bilingual web application for managing EIEVSS Word templates. It supports Arabic and English UI, template search, form creation, editing, saving, printing, and multi-format export.

---

## محتويات الحزمة / Package Contents

- `public/index.php` - واجهة النظام الرئيسية.
- `public/install.php` - معالج إنشاء الجداول واستيراد النماذج.
- `app/` - ملفات الإعداد، قاعدة البيانات، الدوال المساعدة، ودعم التصدير إلى DOCX.
- `data/templates.json` - تعريفات النماذج المستخرجة من ملفات Word.
- `storage/original_templates/` - جميع ملفات Word الأصلية كما وردت في الحزمة.
- `schema.sql` - مخطط MySQL/MariaDB جاهز.
- `REVIEW_SUMMARY_AR_EN.md` - ملخص مراجعة النماذج المستخرجة.

---

## ما الذي تم استيراده؟ / Imported Templates

تمت مراجعة واستخراج جميع ملفات Word الموجودة في الملف المرفق:

- 58 نموذج Word ثنائي اللغة.
- 1 ملف فهرس للحزمة.
- الإجمالي داخل النظام: **59 تعريف قابل للبحث والمعاينة والتحميل**.

التوزيع:

- داخلي / Internal: 35
- خارجي / External: 23
- فهرس / Index: 1

الأقسام:

- HR: 11
- IT: 15
- OPS: 13
- RD: 12
- ADM: 7
- IDX: 1

---

## الميزات / Features

1. البحث في النماذج حسب الرمز أو العنوان أو القسم أو أي نص داخل القالب.
2. إنشاء نموذج جديد من أي قالب.
3. التعديل المباشر على النصوص والجداول داخل محرر شبيه بالمستند.
4. حفظ النماذج المنشأة داخل قاعدة البيانات.
5. البحث في النماذج المخزنة حسب الرقم أو العنوان أو المحتوى أو الحالة أو اللغة.
6. فتح النماذج المخزنة وتعديلها لاحقاً.
7. تحميل ملفات Word الأصلية للقوالب.
8. طباعة النماذج من المتصفح.
9. تصدير النماذج المحفوظة بصيغ: HTML، Word DOC، Word DOCX، JSON، CSV، وPDF عبر نافذة الطباعة / Save as PDF.
10. واجهة عربية/إنجليزية مع دعم RTL/LTR.
11. تصميم متجاوب باستخدام Bootstrap ومناسب للحاسوب والجوال والتابلت.

---

## متطلبات التشغيل / Requirements

- PHP 7.4 أو أحدث، ويفضل PHP 8.x.
- أحد مشغلات PDO:
  - `pdo_mysql` لاستخدام MySQL/MariaDB، أو
  - `pdo_sqlite` للتشغيل المحلي السريع عبر SQLite.
- خادم ويب مثل Apache/Nginx أو خادم PHP المدمج.
- متصفح حديث.
- اتصال إنترنت لتحميل Bootstrap من CDN. يمكن استبداله بنسخة Bootstrap محلية إذا كان التشغيل بدون إنترنت مطلوباً.

> لا يحتاج النظام إلى Composer أو مكتبات PHP خارجية. مولّد DOCX مدمج داخل النظام.

---

## التثبيت السريع باستخدام SQLite / Quick Install with SQLite

1. انسخ مجلد النظام إلى الخادم.
2. اجعل مجلد `public` هو Web Root إن أمكن.
3. تأكد من أن مجلد `storage/database` قابل للكتابة.
4. افتح:

```text
/public/install.php
```

5. اضغط زر التثبيت. سيتم إنشاء قاعدة SQLite واستيراد جميع النماذج.
6. افتح:

```text
/public/index.php
```

---

## التثبيت باستخدام MySQL / MySQL Installation

1. أنشئ قاعدة بيانات MySQL أو نفّذ الملف:

```sql
schema.sql
```

2. افتح الملف:

```text
app/config.php
```

3. عدّل الإعدادات:

```php
'driver' => 'mysql',
'mysql' => [
    'host' => 'localhost',
    'port' => '3306',
    'database' => 'eievss_forms',
    'username' => 'YOUR_DB_USER',
    'password' => 'YOUR_DB_PASSWORD',
    'charset' => 'utf8mb4',
],
```

4. افتح:

```text
/public/install.php
```

5. اضغط زر التثبيت لاستيراد النماذج إلى جدول `templates`.

---

## التشغيل المحلي للتجربة / Local Test Server

من داخل مجلد النظام:

```bash
php -S localhost:8000 -t public
```

ثم افتح:

```text
http://localhost:8000/install.php
```

---

## ملاحظات أمنية / Security Notes

- بعد التثبيت، يفضل حذف `public/install.php` أو تقييد الوصول إليه.
- اجعل `public` فقط هو المجلد المتاح للويب، لأن `app` و`data` و`storage` لا يجب أن تكون متاحة مباشرة.
- النظام يحتوي على `.htaccess` أساسي لمنع الفهرسة وحماية المجلدات عند استخدام Apache، لكن الأفضل ضبط Web Root على `public`.
- استخدم HTTPS على الخادم الفعلي.

---

## طريقة الاستخدام / How to Use

1. افتح صفحة النماذج Templates.
2. ابحث عن النموذج المطلوب.
3. اختر “إنشاء نموذج”.
4. عدّل النصوص والجداول مباشرة داخل مساحة المستند.
5. احفظ النموذج.
6. من صفحة النماذج المخزنة يمكنك فتح النموذج أو تعديله أو طباعته أو تصديره بصيغ مختلفة.

---

## ملاحظة حول PDF

التصدير إلى PDF يتم عبر صفحة طباعة مخصصة في المتصفح، ثم اختيار **Save as PDF**. هذا الأسلوب متوافق مع Chrome وEdge وSafari وFirefox ولا يحتاج مكتبات خادم إضافية.

---

## Technical Notes

- Templates are stored in SQL with extracted HTML and searchable text.
- Saved forms are stored as sanitized HTML plus searchable plain text.
- DOCX export uses a lightweight built-in OOXML generator.
- Original `.docx` files remain available for download from the application.
