<?php
/**
 * ملف تشخيص مؤقت - احذفه بعد حل المشكلة!
 * ارفع هذا الملف مع المشروع وافتح: https://a-manara.com/debug.php
 */

// عرض الأخطاء مؤقتاً للتشخيص
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('log_errors', 1);

header('Content-Type: text/html; charset=utf-8');

echo "<h1>تشخيص النظام</h1>";
echo "<pre style='background:#f5f5f5;padding:15px;direction:ltr;text-align:left;'>";

// 1. إصدار PHP
echo "=== PHP Version ===\n";
echo "PHP: " . phpversion() . "\n";
$min = '7.4';
if (version_compare(phpversion(), $min, '<')) {
    echo "⚠️ تحذير: يحتاج المشروع PHP {$min} أو أحدث\n";
} else {
    echo "✓ إصدار PHP مناسب\n";
}

// 2. الامتدادات المطلوبة
echo "\n=== PHP Extensions ===\n";
$exts = ['pdo', 'pdo_mysql', 'json', 'mbstring', 'session'];
foreach ($exts as $e) {
    echo $e . ": " . (extension_loaded($e) ? "✓" : "✗ مفقود!") . "\n";
}

// 3. الاتصال بقاعدة البيانات
echo "\n=== Database Connection ===\n";
$configFile = __DIR__ . '/config/config.php';
if (!file_exists($configFile)) {
    echo "✗ ملف config/config.php غير موجود!\n";
} else {
    $config = require $configFile;
    $dbConfig = $config['db'] ?? [];
    echo "Host: " . ($dbConfig['host'] ?? '?') . "\n";
    echo "Database: " . ($dbConfig['name'] ?? '?') . "\n";
    echo "User: " . ($dbConfig['user'] ?? '?') . "\n";

    try {
        $dsn = 'mysql:host=' . ($dbConfig['host'] ?? 'localhost') .
            ';port=' . ($dbConfig['port'] ?? 3306) .
            ';dbname=' . ($dbConfig['name']) .
            ';charset=' . ($dbConfig['charset'] ?? 'utf8mb4');
        $pdo = new PDO($dsn, $dbConfig['user'], $dbConfig['pass'], [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
        ]);
        echo "✓ الاتصال بقاعدة البيانات ناجح\n";

        // 4. الجداول الأساسية
        echo "\n=== Database Tables ===\n";
        $required = ['users', 'tenants', 'roles', 'settings'];
        foreach ($required as $t) {
            try {
                $pdo->query("SELECT 1 FROM `$t` LIMIT 1");
                echo "$t: ✓\n";
            } catch (PDOException $ex) {
                echo "$t: ✗ غير موجود - " . $ex->getMessage() . "\n";
            }
        }
    } catch (PDOException $e) {
        echo "✗ فشل الاتصال: " . $e->getMessage() . "\n";
        echo "\nأسباب محتملة:\n";
        echo "- اسم المستخدم أو كلمة المرور خاطئة\n";
        echo "- اسم قاعدة البيانات غير موجود (أنشئها من cPanel)\n";
        echo "- Host قد يكون مختلف (جرب: localhost أو mysql أو اسم السيرفر من الاستضافة)\n";
    }
}

// 5. الصلاحيات
echo "\n=== Permissions ===\n";
$dirs = ['uploads', 'uploads/logos'];
foreach ($dirs as $d) {
    $p = __DIR__ . '/' . $d;
    if (!is_dir($p)) {
        echo "$d: مجلد غير موجود\n";
    } else {
        echo "$d: " . (is_writable($p) ? "✓ قابل للكتابة" : "✗ غير قابل للكتابة (chmod 755 أو 775)") . "\n";
    }
}

// 6. مسار المشروع
echo "\n=== Paths ===\n";
echo "Document root: " . ($_SERVER['DOCUMENT_ROOT'] ?? '?') . "\n";
echo "Script path: " . __DIR__ . "\n";

echo "</pre>";
echo "<p><strong>مهم:</strong> احذف ملف debug.php بعد الانتهاء من التشخيص لأسباب أمنية!</p>";
