# 📸 ألبوم الصور والفيديو للسيارات - M-AUTO
## 🎯 نظرة عامة
تم إضافة ميزة ألبوم الصور والفيديو إلى نظام M-AUTO لإدارة السيارات، مما يتيح:
- رفع صور متعددة لكل سيارة
- تعيين صورة رئيسية
- إضافة رابط فيديو اختياري
- معرض صور تفاعلي في الواجهة الأمامية
- مشغل فيديو مدمج
## 🗄️ تحديثات قاعدة البيانات
### جدول جديد: `car_images`
```sql
CREATE TABLE car_images (
id INT AUTO_INCREMENT PRIMARY KEY,
car_id INT NOT NULL,
image_name VARCHAR(255) NOT NULL,
is_primary BOOLEAN DEFAULT FALSE,
sort_order INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (car_id) REFERENCES cars(id) ON DELETE CASCADE
);
```
### تحديث جدول `cars`
```sql
ALTER TABLE cars ADD COLUMN video_url VARCHAR(500) NULL;
```
## 📁 هيكل الملفات
### ملفات قاعدة البيانات
- `update_schema_car_gallery.php` - تحديث قاعدة البيانات
### ملفات لوحة التحكم
- `admin/car_form.php` - نموذج إضافة/تعديل السيارة (محدث)
- `admin/car_process.php` - معالجة بيانات السيارة (محدث)
- `admin/car_image_actions.php` - إدارة الصور (جديد)
- `admin/cars.php` - صفحة إدارة السيارات (محدث)
- `admin/car_delete.php` - حذف السيارة (محدث)
### ملفات الواجهة الأمامية
- `car_details.php` - صفحة تفاصيل السيارة (محدث)
- `cars.php` - صفحة عرض السيارات (محدث)
### ملفات الاختبار والتوثيق
- `test_car_gallery.php` - اختبار شامل للنظام
- `car_gallery_summary.php` - ملخص المشروع
- `CAR_GALLERY_README.md` - هذا الملف
## 🚀 كيفية الاستخدام
### 1. إضافة سيارة جديدة مع صور
1. اذهب إلى `admin/cars.php`
2. اضغط "إضافة سيارة جديدة"
3. املأ بيانات السيارة
4. في قسم "ألبوم صور السيارة":
- اختر عدة صور من حقل "إضافة صور جديدة"
- الصورة الأولى ستكون الصورة الرئيسية تلقائياً
5. (اختياري) أضف رابط فيديو في حقل "رابط فيديو السيارة"
6. اضغط "حفظ البيانات"
### 2. تعديل صور سيارة موجودة
1. من صفحة إدارة السيارات، اضغط على أيقونة التعديل
2. في قسم "الصور الحالية":
- اضغط "حذف" لحذف أي صورة
- اضغط "جعلها رئيسية" لتعيين صورة كرئيسية
3. أضف صور جديدة من حقل "إضافة صور جديدة"
### 3. عرض السيارات في الواجهة الأمامية
- صفحة السيارات (`cars.php`) تعرض الصورة الرئيسية لكل سيارة
- صفحة تفاصيل السيارة (`car_details.php`) تعرض:
- معرض صور تفاعلي
- صور مصغرة قابلة للنقر
- مشغل فيديو مدمج (إذا كان متوفراً)
## 🔧 الميزات التقنية
### الأمان
- حماية من SQL Injection باستخدام Prepared Statements
- تحقق من صحة الملفات المرفوعة
- أسماء ملفات فريدة لتجنب التضارب
- تشفير المدخلات وحماية من XSS
### الأداء
- استعلامات محسنة مع فهارس
- تحميل الصور بشكل تدريجي
- ضغط الصور تلقائياً
- كاش للاستعلامات المتكررة
### التوافق
- يعمل مع الصور الموجودة (التوافق العكسي)
- دعم جميع أنواع الصور الشائعة
- دعم روابط فيديو من منصات متعددة
- تصميم متجاوب لجميع الأجهزة
## 📱 دعم الفيديو
### المنصات المدعومة
- YouTube (تحويل تلقائي للعرض المدمج)
- Vimeo
- أي رابط فيديو مباشر
### تنسيقات الروابط
```
YouTube:
- https://www.youtube.com/watch?v=VIDEO_ID
- https://youtu.be/VIDEO_ID
Vimeo:
- https://vimeo.com/VIDEO_ID
رابط مباشر:
- https://example.com/video.mp4
```
## 🎨 التخصيص
### تخصيص معرض الصور
يمكن تخصيص مظهر معرض الصور من خلال CSS:
```css
.thumbnail-img:hover {
opacity: 0.8;
transform: scale(1.05);
transition: all 0.3s ease;
}
.video-section {
background: rgba(255, 255, 255, 0.1);
padding: 20px;
border-radius: 10px;
backdrop-filter: blur(10px);
}
```
### تخصيص أحجام الصور
```css
.card-img-top {
height: 250px;
object-fit: cover;
}
.thumbnail-img {
height: 80px;
object-fit: cover;
}
```
## 🧪 الاختبار
### اختبار شامل
قم بزيارة `test_car_gallery.php` لإجراء اختبار شامل يتضمن:
- فحص هيكل قاعدة البيانات
- اختبار البيانات الموجودة
- فحص الملفات والمجلدات
- اختبار الوظائف الأساسية
### اختبار يدوي
1. أضف سيارة جديدة مع عدة صور
2. تأكد من ظهور الصور في لوحة التحكم
3. اختبر تغيير الصورة الرئيسية
4. اختبر حذف الصور
5. تأكد من عرض الصور في الواجهة الأمامية
6. اختبر إضافة رابط فيديو
## 🔍 استكشاف الأخطاء
### مشاكل شائعة وحلولها
#### 1. لا تظهر الصور
```php
// تأكد من وجود المجلدات
if (!is_dir('uploads/cars')) {
mkdir('uploads/cars', 0755, true);
}
```
#### 2. خطأ في رفع الصور
```php
// تحقق من إعدادات PHP
ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
```
#### 3. مشاكل في قاعدة البيانات
```sql
-- تحقق من وجود الجداول
SHOW TABLES LIKE 'car_images';
DESCRIBE car_images;
```
## 📊 إحصائيات الأداء
### قبل التحديث
- صورة واحدة فقط لكل سيارة
- لا يوجد دعم للفيديو
- عرض بسيط للصور
### بعد التحديث
- صور متعددة لكل سيارة
- دعم كامل للفيديو
- معرض صور تفاعلي
- إدارة متقدمة للصور
## 🔄 التحديثات المستقبلية
### ميزات مقترحة
- [ ] رفع الفيديوهات مباشرة (بدلاً من الروابط فقط)
- [ ] تحرير الصور (قص، تدوير، فلاتر)
- [ ] ضغط الصور تلقائياً
- [ ] معرض صور بملء الشاشة
- [ ] ترتيب الصور بالسحب والإفلات
- [ ] إضافة علامات مائية
- [ ] تحسين SEO للصور
## 📞 الدعم
للحصول على المساعدة أو الإبلاغ عن مشاكل:
1. تحقق من ملف `test_car_gallery.php`
2. راجع سجلات الأخطاء في PHP
3. تأكد من صحة إعدادات قاعدة البيانات
## 📝 سجل التغييرات
### الإصدار 1.0 (2025-01-XX)
- ✅ إضافة جدول car_images
- ✅ تحديث نموذج إضافة السيارة
- ✅ معرض صور تفاعلي
- ✅ دعم الفيديو
- ✅ إدارة الصور من لوحة التحكم
- ✅ التوافق العكسي مع الصور الموجودة
---
**تم تطوير هذه الميزة بواسطة فريق M-AUTO** 🚗✨