# دليل نسخ احتياطي لجهات الاتصال

## نظرة عامة
تم إضافة ميزة نسخ احتياطي لجهات الاتصال التي تسمح بسحب جميع جهات الاتصال من كل جهاز وحفظها في الداشبورد مع إمكانية تصديرها إلى Excel.

## المكونات

### 1. قاعدة البيانات
- **الجدول**: `device_contacts`
- **الملف**: `create_contacts_table.sql`
- **الاستخدام**: قم بتشغيل ملف SQL لإنشاء الجدول في قاعدة البيانات

### 2. API Endpoint
- **الملف**: `upload_contacts.php`
- **الوظيفة**: استقبال جهات الاتصال من التطبيق وحفظها في قاعدة البيانات
- **الرابط**: `https://almanara.serveirc.com:8333/upload_contacts.php`

### 3. التطبيق (Flutter)
- **الملف**: `APP/lib/settings_page.dart`
- **الوظيفة**: 
  - استخراج جميع جهات الاتصال من الجهاز
  - إرسالها إلى السيرفر
  - عرض حالة العملية

### 4. الداشبورد
- **الملف**: `contacts_backup.php`
- **الوظيفة**: 
  - عرض جميع الأجهزة التي لديها جهات اتصال
  - عرض جهات الاتصال لكل جهاز
  - تصدير إلى Excel

## خطوات الإعداد

### 1. إنشاء الجدول في قاعدة البيانات
```sql
-- قم بتشغيل ملف create_contacts_table.sql
mysql -u root -p amanarac_almanara < create_contacts_table.sql
```

أو قم بتشغيل محتوى الملف مباشرة في phpMyAdmin.

### 2. رفع جهات الاتصال من التطبيق
1. افتح التطبيق على الجهاز
2. اذهب إلى **الإعدادات**
3. اضغط على زر **"رفع جهات الاتصال"**
4. سيتم طلب إذن الوصول إلى جهات الاتصال (إذا لم يكن ممنوحاً)
5. انتظر حتى يتم رفع جميع جهات الاتصال

### 3. عرض جهات الاتصال في الداشبورد
1. افتح الداشبورد
2. اضغط على رابط **"📱 نسخ احتياطي لجهات الاتصال"** في شريط التنقل العلوي
3. اختر الجهاز المطلوب لعرض جهات الاتصال الخاصة به

### 4. تصدير إلى Excel
1. في صفحة جهات الاتصال، اضغط على زر **"📥 تصدير Excel"**
2. يمكنك تصدير:
   - جهات الاتصال لجهاز محدد
   - جميع جهات الاتصال من جميع الأجهزة

## البيانات المحفوظة

لكل جهة اتصال يتم حفظ:
- اسم جهة الاتصال
- رقم الهاتف
- البريد الإلكتروني
- المؤسسة
- الملاحظات
- تاريخ الرفع
- معرف الجهاز
- اسم الجهاز

## ملاحظات مهمة

1. **الخصوصية**: تأكد من أن المستخدمين على دراية بأن جهات الاتصال سيتم رفعها إلى السيرفر
2. **الأذونات**: التطبيق يحتاج إلى إذن الوصول إلى جهات الاتصال
3. **الأداء**: عند وجود عدد كبير من جهات الاتصال، قد يستغرق الرفع بعض الوقت
4. **التكرار**: يمكن رفع نفس جهات الاتصال عدة مرات (سيتم حفظها كسجلات منفصلة)

## استكشاف الأخطاء

### التطبيق لا يرفع جهات الاتصال
- تحقق من اتصال الإنترنت
- تأكد من منح إذن الوصول إلى جهات الاتصال
- تحقق من معرف الجهاز (device_id) في التطبيق

### لا تظهر جهات الاتصال في الداشبورد
- تحقق من أن الجدول تم إنشاؤه في قاعدة البيانات
- تحقق من أن الرفع تم بنجاح (راجع رسالة النجاح في التطبيق)
- تحقق من الاتصال بقاعدة البيانات

### خطأ في تصدير Excel
- تأكد من وجود جهات اتصال محفوظة
- تحقق من صلاحيات الكتابة في المجلد المؤقت

## التطوير المستقبلي

يمكن إضافة الميزات التالية:
- حذف جهات الاتصال القديمة قبل الرفع الجديد
- تصفية جهات الاتصال المكررة
- استعادة جهات الاتصال من الداشبورد إلى الجهاز
- تصدير بصيغ أخرى (CSV, vCard)

