<?php
/**
 * ميزات إضافية: عروض موسمية، محتوى تعليمي، ربط عيادات، إعادة توجيه
 */
$config = require __DIR__ . '/../config/config.php';
$pdo = new PDO(
    'mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['name'] . ';charset=utf8mb4',
    $config['db']['user'],
    $config['db']['pass'],
    [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);

$changes = [];

// محتوى تعليمي للفحوصات
try {
    $pdo->exec("ALTER TABLE tests ADD COLUMN educational_content TEXT NULL");
    $changes[] = "tests.educational_content";
} catch (PDOException $e) {
    if (strpos($e->getMessage(), 'Duplicate column') === false) $changes[] = "Error: " . $e->getMessage();
}

// عروض موسمية
$pdo->exec("CREATE TABLE IF NOT EXISTS seasonal_offers (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(150) NOT NULL,
    description TEXT NULL,
    start_date DATE NOT NULL,
    end_date DATE NOT NULL,
    package_id INT NULL,
    discount_percent DECIMAL(5,2) NULL,
    discount_fixed DECIMAL(10,2) NULL,
    is_active TINYINT(1) NOT NULL DEFAULT 1,
    tenant_id INT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (package_id) REFERENCES test_packages(id)
)");
$changes[] = "seasonal_offers";

// ربط العيادات - مفتاح API
$pdo->exec("CREATE TABLE IF NOT EXISTS clinic_api_keys (
    id INT AUTO_INCREMENT PRIMARY KEY,
    clinic_name VARCHAR(150) NOT NULL,
    api_key VARCHAR(64) NOT NULL UNIQUE,
    is_active TINYINT(1) NOT NULL DEFAULT 1,
    tenant_id INT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)");
$changes[] = "clinic_api_keys";

// إعادة توجيه الفحوصات لمختبر مركزي
try {
    $pdo->exec("ALTER TABLE tests ADD COLUMN redirect_to_branch_id INT NULL");
    $changes[] = "tests.redirect_to_branch_id";
} catch (PDOException $e) {
    if (strpos($e->getMessage(), 'Duplicate column') === false) $changes[] = "Error: " . $e->getMessage();
}

// سجلات التخلص - طريقة الإتلاف
try {
    $pdo->exec("ALTER TABLE samples ADD COLUMN disposal_method VARCHAR(100) NULL");
    $changes[] = "samples.disposal_method";
} catch (PDOException $e) {
    if (strpos($e->getMessage(), 'Duplicate column') === false) $changes[] = "Error: " . $e->getMessage();
}

// توقيع إلكتروني - توسيع approved_by
try {
    $pdo->exec("ALTER TABLE lab_orders ADD COLUMN approved_signature VARCHAR(255) NULL");
    $changes[] = "lab_orders.approved_signature";
} catch (PDOException $e) {
    if (strpos($e->getMessage(), 'Duplicate column') === false) $changes[] = "Error: " . $e->getMessage();
}

// إعدادات: رابط دفع، رقم حوالة
$pdo->exec("INSERT IGNORE INTO settings (setting_key, setting_value) VALUES ('payment_link', ''), ('payment_number', '')");
$changes[] = "settings payment";

foreach ($changes as $c) echo $c . "\n";
echo "Done.\n";
