<?php
// ملف تهيئة قاعدة البيانات

// تحديد المسار إلى ملف التكوين
$configFile = __DIR__ . '/config.php';

// التحقق من وجود ملف التكوين
if (!file_exists($configFile)) {
    die('ملف التكوين غير موجود.');
}

// تضمين ملف التكوين
require_once $configFile;

// تهيئة قاعدة البيانات
$db = initDatabase();

// إنشاء المجلدات اللازمة إذا لم تكن موجودة
$directories = [
    UPLOADS_PATH,
    MEMBERS_PHOTOS_PATH,
    COACHES_PHOTOS_PATH,
    LOGO_PATH,
    __DIR__ . '/uploads/events',
    __DIR__ . '/uploads/events/results'
];

foreach ($directories as $dir) {
    if (!file_exists($dir)) {
        if (mkdir($dir, 0777, true)) {
            echo "تم إنشاء المجلد: $dir<br>";
        } else {
            echo "فشل في إنشاء المجلد: $dir<br>";
        }
    } else {
        echo "المجلد موجود بالفعل: $dir<br>";
    }
}

// إنشاء صورة الشعار الافتراضية
$defaultLogoPath = __DIR__ . '/assets/img';
if (!file_exists($defaultLogoPath)) {
    mkdir($defaultLogoPath, 0777, true);
}

// نسخ صورة الشعار الافتراضية (يمكنك استبدالها بصورة حقيقية لاحقًا)
$defaultLogo = __DIR__ . '/assets/img/default-logo.png';
if (!file_exists($defaultLogo)) {
    // إنشاء صورة بسيطة كشعار افتراضي
    $image = imagecreate(200, 200);
    $background = imagecolorallocate($image, 0, 102, 204);
    $textColor = imagecolorallocate($image, 255, 255, 255);
    imagestring($image, 5, 50, 90, "LOGO", $textColor);
    imagepng($image, $defaultLogo);
    imagedestroy($image);
    echo "تم إنشاء الشعار الافتراضي<br>";
}

// إنشاء جدول الإعدادات
echo "<h3>إنشاء جدول الإعدادات...</h3>";
$query = "CREATE TABLE IF NOT EXISTS settings (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT,
    phone TEXT,
    address TEXT,
    city TEXT,
    description TEXT,
    founding_date TEXT,
    logo TEXT,
    social_facebook TEXT,
    social_twitter TEXT,
    social_instagram TEXT,
    social_youtube TEXT,
    created_at TEXT DEFAULT CURRENT_TIMESTAMP,
    updated_at TEXT
)";
$result = executeQuery($query);
echo $result ? "تم إنشاء جدول الإعدادات بنجاح<br>" : "فشل في إنشاء جدول الإعدادات<br>";

// إدخال البيانات الافتراضية للإعدادات
$checkQuery = "SELECT COUNT(*) as count FROM settings";
$count = fetchOne($checkQuery)['count'] ?? 0;

if ($count == 0) {
    $insertQuery = "INSERT INTO settings (
        name, email, phone, address, city, description, founding_date, created_at
    ) VALUES (
        'الجمعية الرياضية', 'contact@association-sportive.com', '+212600000000', 
        'عنوان الجمعية', 'المدينة', 'وصف الجمعية الرياضية', '2023-01-01', 
        datetime('now')
    )";
    $result = executeQuery($insertQuery);
    echo $result ? "تم إدخال البيانات الافتراضية للإعدادات بنجاح<br>" : "فشل في إدخال البيانات الافتراضية للإعدادات<br>";
}

// إنشاء جداول الأحداث والفعاليات
echo "<h3>إنشاء جداول الأحداث والفعاليات...</h3>";

// جدول الأنشطة والفعاليات
$query = "CREATE TABLE IF NOT EXISTS events (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    description TEXT,
    location TEXT,
    start_date TEXT NOT NULL,
    end_date TEXT,
    start_time TEXT,
    end_time TEXT,
    category_id INTEGER,
    max_participants INTEGER,
    registration_required INTEGER DEFAULT 0,
    registration_deadline TEXT,
    status TEXT DEFAULT 'upcoming',
    image TEXT,
    created_by INTEGER,
    created_at TEXT NOT NULL,
    updated_at TEXT,
    FOREIGN KEY (category_id) REFERENCES categories(id),
    FOREIGN KEY (created_by) REFERENCES users(id)
)";
$result = executeQuery($query);
echo $result ? "تم إنشاء جدول الأنشطة بنجاح<br>" : "فشل في إنشاء جدول الأنشطة<br>";

// جدول المشاركين في الأنشطة
$query = "CREATE TABLE IF NOT EXISTS event_participants (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    event_id INTEGER NOT NULL,
    member_id INTEGER NOT NULL,
    registration_date TEXT NOT NULL,
    status TEXT DEFAULT 'registered',
    attendance INTEGER DEFAULT 0,
    notes TEXT,
    created_at TEXT DEFAULT CURRENT_TIMESTAMP,
    updated_at TEXT,
    FOREIGN KEY (event_id) REFERENCES events(id),
    FOREIGN KEY (member_id) REFERENCES members(id)
)";
$result = executeQuery($query);
echo $result ? "تم إنشاء جدول المشاركين في الأنشطة بنجاح<br>" : "فشل في إنشاء جدول المشاركين في الأنشطة<br>";

// جدول نتائج الأنشطة والفعاليات
$query = "CREATE TABLE IF NOT EXISTS event_results (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    event_id INTEGER NOT NULL,
    title TEXT NOT NULL,
    description TEXT,
    result_date TEXT NOT NULL,
    attachment TEXT,
    created_by INTEGER,
    created_at TEXT NOT NULL,
    updated_at TEXT,
    FOREIGN KEY (event_id) REFERENCES events(id),
    FOREIGN KEY (created_by) REFERENCES users(id)
)";
$result = executeQuery($query);
echo $result ? "تم إنشاء جدول نتائج الأنشطة بنجاح<br>" : "فشل في إنشاء جدول نتائج الأنشطة<br>";

echo "<h2>تم تهيئة النظام بنجاح!</h2>";
echo "<p>يمكنك الآن <a href='" . SITE_URL . "/login.php'>تسجيل الدخول</a> باستخدام:</p>";
echo "<ul>";
echo "<li>اسم المستخدم: admin</li>";
echo "<li>كلمة المرور: admin123</li>";
echo "</ul>";
echo "<p><strong>ملاحظة:</strong> يرجى تغيير كلمة المرور الافتراضية بعد تسجيل الدخول لأول مرة.</p>";
?>
