<?php
// تم نقل بدء الجلسة إلى config.php
include 'config.php'; // هذا سيبدأ الجلسة تلقائياً

// إذا كان المستخدم مسجلاً بالفعل، توجيهه للرئيسية
if (isset($_SESSION['customer_id']) && isset($_SESSION['customer_name'])) {
    $redirect_url = $_SESSION['redirect_url'] ?? 'home.php';
    unset($_SESSION['redirect_url']);
    header('Location: ' . $redirect_url);
    exit();
}

$message = '';
$message_type = '';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $phone = $conn->real_escape_string($_POST['phone']);
    $password = $_POST['password'];
    
    // التحقق من أن رقم الهاتف يتكون من 9 أرقام فقط
    if (!preg_match('/^[0-9]{9}$/', $phone)) {
        $message = "يجب أن يتكون رقم الهاتف من 9 أرقام فقط";
        $message_type = "danger";
    } else {
        $sql = "SELECT * FROM customers WHERE phone = '$phone'";
        $result = $conn->query($sql);
        
        if ($result && $result->num_rows == 1) {
            $customer = $result->fetch_assoc();
            
            // التحقق من كلمة المرور
            if (password_verify($password, $customer['password'])) {
                // تعيين بيانات الجلسة (الجلسة بدأت بالفعل في config.php)
                $_SESSION['customer_id'] = $customer['id'];
                $_SESSION['customer_name'] = $customer['name'];
                $_SESSION['customer_phone'] = $customer['phone'];
                $_SESSION['customer_address'] = $customer['address'];
                $_SESSION['last_activity'] = time();
                $_SESSION['user_agent'] = $_SERVER['HTTP_USER_AGENT'] ?? '';
                $_SESSION['ip_address'] = $_SERVER['REMOTE_ADDR'] ?? '';
                $_SESSION['valid_session'] = true;
                
                // تجديد معرف الجلسة لمنع fixation attacks
                session_regenerate_id(true);
                $_SESSION['last_regeneration'] = time(); // تحديث وقت التجديد
                
                // إعادة التوجيه إلى الصفحة المطلوبة أو الرئيسية
                $redirect_url = $_SESSION['redirect_url'] ?? 'home.php';
                unset($_SESSION['redirect_url']);
                
                header('Location: ' . $redirect_url);
                exit();
            } else {
                $message = "رقم الهاتف أو كلمة المرور غير صحيحة";
                $message_type = "danger";
            }
        } else {
            $message = "رقم الهاتف أو كلمة المرور غير صحيحة";
            $message_type = "danger";
        }
    }
}
?>

<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>تسجيل الدخول - Max</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.rtl.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
    <style>
        body {
            font-family: 'Tajawal', sans-serif;
            background: linear-gradient(135deg, #FFF3E0, #F57C00);
            height: 100vh;
            display: flex;
            align-items: center;
        }
        .login-container {
            background: white;
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
            overflow: hidden;
        }
        .login-header {
            background: #F57C00;
            color: white;
            padding: 2rem;
            text-align: center;
        }
        .login-form {
            padding: 2rem;
        }
        .btn-primary {
            background: #F57C00;
            border: none;
            padding: 12px;
        }
        .btn-primary:hover {
            background: #E65100;
        }
        .register-link {
            text-align: center;
            margin-top: 1rem;
        }
        .debug-info {
            display: none;
            background: #f8f9fa;
            border: 1px solid #dee2e6;
            border-radius: 5px;
            padding: 10px;
            margin-top: 15px;
            font-size: 12px;
            color: #666;
        }
        .phone-prefix {
            background-color: #f8f9fa;
            border-right: 0;
            border-top-right-radius: 0.375rem;
            border-bottom-right-radius: 0.375rem;
        }
        .phone-input {
            border-top-left-radius: 0.375rem;
            border-bottom-left-radius: 0.375rem;
            border-left: 0;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-5">
                <div class="login-container">
                    <div class="login-header">
                        <h2><i class="bi bi-shop"></i> <?php echo $settings['name']; ?></h2>
                        <p class="mb-0">تسجيل الدخول</p>
                    </div>
                    <div class="login-form">
                        <?php if ($message): ?>
                            <div class="alert alert-<?php echo $message_type; ?> alert-dismissible fade show" role="alert">
                                <?php echo $message; ?>
                                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
                            </div>
                        <?php endif; ?>
                        
                        <form method="POST" id="loginForm">
                            <div class="mb-3">
                                <label for="phone" class="form-label">رقم الهاتف</label>
                                <div class="input-group">
                                    
                                    <input type="tel" class="form-control phone-input" id="phone" name="phone" required 
                                           pattern="[0-9]{9}" 
                                           placeholder="ادخل رقم الهاتف ">
                                    <span class="input-group-text phone-prefix">967+</span>
                                </div>
                                <small class="form-text text-muted">أدخل رقم هاتفك  </small>
                            </div>
                            <div class="mb-3">
                                <label for="password" class="form-label">كلمة المرور</label>
                                <input type="password" class="form-control" id="password" name="password" required 
                                       placeholder="أدخل كلمة المرور">
                             
                            </div>
                            <button type="submit" class="btn btn-primary w-100" id="loginBtn">
                                <i class="bi bi-box-arrow-in-right"></i> تسجيل الدخول
                            </button>
                        </form>
                        
                        <!-- زر لتشغيل وضع التصحيح
                        <div class="text-center mt-3">
                            <button type="button" class="btn btn-sm btn-outline-info" onclick="toggleDebug()">
                                <i class="bi bi-bug"></i> وضع التصحيح
                            </button>
                        </div>-
                        
                        <div class="debug-info" id="debugInfo">
                            <?php
                            echo "Session Status: " . session_status() . "<br>";
                            echo "Session ID: " . session_id() . "<br>";
                            echo "Session Data: " . print_r($_SESSION, true) . "<br>";
                            echo "POST Data: " . print_r($_POST, true);
                            ?>
                        </div>
                        -->
                        <div class="register-link">
                            <p class="mb-0">لا تملك حساب؟ 
                                <a href="register.php" class="text-decoration-none">أنشئ حساب جديد</a>
                            </p>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script>
        // تحقق إضافي من جانب العميل
        document.getElementById('phone').addEventListener('input', function(e) {
            // إزالة أي أحرف غير رقمية
            let cleanValue = this.value.replace(/[^0-9]/g, '');
            
            // تحديد الطول إلى 9 أرقام كحد أقصى
            if (cleanValue.length > 9) {
                cleanValue = cleanValue.slice(0, 9);
            }
            
            // تحديث القيمة الظاهرة
            this.value = cleanValue;
        });
        
        // التحقق من النموذج قبل الإرسال
        document.getElementById('loginForm').addEventListener('submit', function(e) {
            const phoneInput = document.getElementById('phone');
            const cleanValue = phoneInput.value.replace(/[^0-9]/g, '');
            
            // التحقق من أن الرقم يتكون من 9 أرقام
            if (cleanValue.length !== 9) {
                e.preventDefault();
                alert('يجب أن يتكون رقم الهاتف من 9 أرقام فقط');
                phoneInput.focus();
                return false;
            }
            
            // إضافة تأثير التحميل
            const loginBtn = document.getElementById('loginBtn');
            loginBtn.innerHTML = '<span class="spinner-border spinner-border-sm me-2"></span> جاري الدخول...';
            loginBtn.disabled = true;
        });
        
        // إظهار/إخفاء معلومات التصحيح
        function toggleDebug() {
            const debugInfo = document.getElementById('debugInfo');
            debugInfo.style.display = debugInfo.style.display === 'block' ? 'none' : 'block';
        }
        
        // منع إعادة إرسال النموذج
        if (window.history.replaceState) {
            window.history.replaceState(null, null, window.location.href);
        }
        
        // التركيز على حقل رقم الهاتف عند تحميل الصفحة
        document.addEventListener('DOMContentLoaded', function() {
            document.getElementById('phone').focus();
        });
    </script>
</body>
</html>