<?php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Allow-Headers: Content-Type');

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

try {
    $database = new Database();
    $db = $database->getConnection();
    
    if (!$db) {
        throw new Exception("فشل الاتصال بقاعدة البيانات");
    }
    
    $input = json_decode(file_get_contents('php://input'), true);
    $user_id = $input['user_id'] ?? 1; // من الجلسة في النظام الفعلي
    $current_password = $input['current'] ?? '';
    $new_password = $input['new'] ?? '';
    
    if (!$current_password || !$new_password) {
        throw new Exception("كلمة المرور الحالية والجديدة مطلوبة");
    }
    
    // التحقق من كلمة المرور الحالية
    $checkQuery = "SELECT password FROM users WHERE id = :user_id";
    $checkStmt = $db->prepare($checkQuery);
    $checkStmt->execute(['user_id' => $user_id]);
    $user = $checkStmt->fetch(PDO::FETCH_ASSOC);
    
    if (!password_verify($current_password, $user['password'])) {
        throw new Exception("كلمة المرور الحالية غير صحيحة");
    }
    
    // تحديث كلمة المرور
    $hashed_password = password_hash($new_password, PASSWORD_DEFAULT);
    
    $updateQuery = "UPDATE users SET password = :password WHERE id = :user_id";
    $updateStmt = $db->prepare($updateQuery);
    $updateStmt->execute([
        'user_id' => $user_id,
        'password' => $hashed_password
    ]);
    
    // تسجيل النشاط
    $logQuery = "INSERT INTO activity_logs (user_id, action, details, created_at) 
                 VALUES (:user_id, 'change_password', 'تم تغيير كلمة المرور', NOW())";
    $logStmt = $db->prepare($logQuery);
    $logStmt->execute(['user_id' => $user_id]);
    
    echo json_encode([
        'success' => true,
        'message' => 'تم تغيير كلمة المرور بنجاح'
    ]);
    
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'message' => $e->getMessage()
    ]);
}
?>