<?php
/**
 * تنفيذ إضافة أعمدة Location للجداول
 */

require_once __DIR__ . '/../config/database.php';

$database = new Database();
$conn = $database->getConnection();

try {
    echo "جاري إضافة أعمدة Location...\n\n";
    
    // إضافة أعمدة للـ users table
    echo "1. إضافة أعمدة للـ users table...\n";
    
    // Check if columns exist first
    $check = $conn->query("SHOW COLUMNS FROM users LIKE 'location'");
    if ($check->rowCount() == 0) {
        $conn->exec("ALTER TABLE `users` ADD COLUMN `location` VARCHAR(255) DEFAULT NULL COMMENT 'الموقع الجغرافي (lat,lng)' AFTER `address`");
        echo "   ✓ تم إضافة عمود location\n";
    } else {
        echo "   - عمود location موجود بالفعل\n";
    }
    
    $check = $conn->query("SHOW COLUMNS FROM users LIKE 'latitude'");
    if ($check->rowCount() == 0) {
        $conn->exec("ALTER TABLE `users` ADD COLUMN `latitude` DECIMAL(10, 8) DEFAULT NULL COMMENT 'خط العرض' AFTER `location`");
        echo "   ✓ تم إضافة عمود latitude\n";
    } else {
        echo "   - عمود latitude موجود بالفعل\n";
    }
    
    $check = $conn->query("SHOW COLUMNS FROM users LIKE 'longitude'");
    if ($check->rowCount() == 0) {
        $conn->exec("ALTER TABLE `users` ADD COLUMN `longitude` DECIMAL(11, 8) DEFAULT NULL COMMENT 'خط الطول' AFTER `latitude`");
        echo "   ✓ تم إضافة عمود longitude\n";
    } else {
        echo "   - عمود longitude موجود بالفعل\n";
    }
    
    // إضافة أعمدة للـ addresses table (if exists)
    echo "\n2. إضافة أعمدة للـ addresses table...\n";
    
    $check_table = $conn->query("SHOW TABLES LIKE 'addresses'");
    if ($check_table->rowCount() > 0) {
        $check = $conn->query("SHOW COLUMNS FROM addresses LIKE 'location'");
        if ($check->rowCount() == 0) {
            $conn->exec("ALTER TABLE `addresses` ADD COLUMN `location` VARCHAR(255) DEFAULT NULL COMMENT 'الموقع الجغرافي (lat,lng)' AFTER `postal_code`");
            echo "   ✓ تم إضافة عمود location\n";
        } else {
            echo "   - عمود location موجود بالفعل\n";
        }
        
        $check = $conn->query("SHOW COLUMNS FROM addresses LIKE 'latitude'");
        if ($check->rowCount() == 0) {
            $conn->exec("ALTER TABLE `addresses` ADD COLUMN `latitude` DECIMAL(10, 8) DEFAULT NULL COMMENT 'خط العرض' AFTER `location`");
            echo "   ✓ تم إضافة عمود latitude\n";
        } else {
            echo "   - عمود latitude موجود بالفعل\n";
        }
        
        $check = $conn->query("SHOW COLUMNS FROM addresses LIKE 'longitude'");
        if ($check->rowCount() == 0) {
            $conn->exec("ALTER TABLE `addresses` ADD COLUMN `longitude` DECIMAL(11, 8) DEFAULT NULL COMMENT 'خط الطول' AFTER `latitude`");
            echo "   ✓ تم إضافة عمود longitude\n";
        } else {
            echo "   - عمود longitude موجود بالفعل\n";
        }
    } else {
        echo "   - جدول addresses غير موجود\n";
    }
    
    // إضافة أعمدة للـ user_addresses table (if exists)
    echo "\n3. إضافة أعمدة للـ user_addresses table...\n";
    
    $check_table = $conn->query("SHOW TABLES LIKE 'user_addresses'");
    if ($check_table->rowCount() > 0) {
        $check = $conn->query("SHOW COLUMNS FROM user_addresses LIKE 'location'");
        if ($check->rowCount() == 0) {
            $conn->exec("ALTER TABLE `user_addresses` ADD COLUMN `location` VARCHAR(255) DEFAULT NULL COMMENT 'الموقع الجغرافي (lat,lng)' AFTER `address`");
            echo "   ✓ تم إضافة عمود location\n";
        } else {
            echo "   - عمود location موجود بالفعل\n";
        }
        
        // Check if latitude/longitude already exist
        $check = $conn->query("SHOW COLUMNS FROM user_addresses LIKE 'latitude'");
        if ($check->rowCount() > 0) {
            echo "   - أعمدة latitude و longitude موجودة بالفعل\n";
        }
    } else {
        echo "   - جدول user_addresses غير موجود (سيتم إنشاؤه تلقائياً عند أول استخدام)\n";
    }
    
    echo "\n✅ تم التحديث بنجاح!\n";
    echo "\nالآن يمكنك:\n";
    echo "1. الذهاب لصفحة الحساب\n";
    echo "2. إضافة عنوان جديد\n";
    echo "3. الضغط على 'استخدام موقعي الحالي'\n";
    echo "4. السماح للمتصفح بالوصول للموقع\n";
    
} catch (PDOException $e) {
    echo "❌ خطأ: " . $e->getMessage() . "\n";
}
