<?php
session_start();
require_once 'includes/config.php';

if (!isset($_SESSION['nguoi_dung_id'])) {
    header("Location: dang-nhap.php");
    exit;
}

$id_user = $_SESSION['nguoi_dung_id'];

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // 1. Nhận dữ liệu văn bản
    $ho_ten = trim($_POST['ho_ten']);
    $dien_thoai = trim($_POST['dien_thoai']);
    $ngay_sinh = $_POST['ngay_sinh'];
    $gioi_tinh = $_POST['gioi_tinh'];
    $cccd = trim($_POST['cccd']);
    $linh_vuc = $_POST['linh_vuc'] ?? '';
    $linh_vuc_chi_tiet = trim($_POST['linh_vuc_chi_tiet'] ?? '');
    $dia_chi = trim($_POST['dia_chi']);
    $tinh_thanh = trim($_POST['tinh_thanh'] ?? '');
    $gioi_thieu = trim($_POST['gioi_thieu_ban_than']);
    $fb = trim($_POST['fb']);
    $yt = trim($_POST['yt']);
    $tt = trim($_POST['tt']);
    $web = trim($_POST['web']);

    // 2. Xử lý Tải ảnh đại diện (Nếu có)
    $duong_dan_anh = null;
    if (isset($_FILES['anh_dai_dien']) && $_FILES['anh_dai_dien']['error'] == 0) {
        $thu_muc_luu = "uploads/avatars/";
        
        // Lấy phần mở rộng của file (jpg, png)
        $phan_mo_rong = pathinfo($_FILES['anh_dai_dien']['name'], PATHINFO_EXTENSION);
        $phan_mo_rong = strtolower($phan_mo_rong);
        
        // Chỉ cho phép ảnh
        $dinh_dang_cho_phep = ['jpg', 'jpeg', 'png', 'gif'];
        
        if (in_array($phan_mo_rong, $dinh_dang_cho_phep)) {
            // Đổi tên file để không bị trùng (Ví dụ: avatar_5_168000000.jpg)
            $ten_file_moi = "avatar_" . $id_user . "_" . time() . "." . $phan_mo_rong;
            $duong_dan_dich = $thu_muc_luu . $ten_file_moi;
            
            // Di chuyển file từ bộ nhớ tạm vào thư mục
            if (move_uploaded_file($_FILES['anh_dai_dien']['tmp_name'], $duong_dan_dich)) {
                $duong_dan_anh = $duong_dan_dich;
            }
        }
    }

    // 3. Cập nhật vào Cơ sở dữ liệu
    if ($duong_dan_anh) {
        // Nếu có tải ảnh lên thì cập nhật cả cột anh_dai_dien
        $lenh = "UPDATE thanh_vien SET ho_ten=?, dien_thoai=?, ngay_sinh=?, gioi_tinh=?, cccd=?, linh_vuc=?, linh_vuc_chi_tiet=?, dia_chi=?, tinh_thanh=?, gioi_thieu_ban_than=?, facebook=?, youtube=?, tiktok=?, website=?, anh_dai_dien=? WHERE id=?";
        $thuc_thi = $pdo->prepare($lenh);
        $thuc_thi->execute([$ho_ten, $dien_thoai, $ngay_sinh, $gioi_tinh, $cccd, $linh_vuc, $linh_vuc_chi_tiet, $dia_chi, $tinh_thanh, $gioi_thieu, $fb, $yt, $tt, $web, $duong_dan_anh, $id_user]);
    } else {
        // Nếu không tải ảnh mới, giữ nguyên ảnh cũ
        $lenh = "UPDATE thanh_vien SET ho_ten=?, dien_thoai=?, ngay_sinh=?, gioi_tinh=?, cccd=?, linh_vuc=?, linh_vuc_chi_tiet=?, dia_chi=?, tinh_thanh=?, gioi_thieu_ban_than=?, facebook=?, youtube=?, tiktok=?, website=? WHERE id=?";
        $thuc_thi = $pdo->prepare($lenh);
        $thuc_thi->execute([$ho_ten, $dien_thoai, $ngay_sinh, $gioi_tinh, $cccd, $linh_vuc, $linh_vuc_chi_tiet, $dia_chi, $tinh_thanh, $gioi_thieu, $fb, $yt, $tt, $web, $id_user]);
    }

    // Chuyển hướng về lại trang hồ sơ kèm thông báo
    // Tính điểm uy tín theo mức độ hoàn thiện hồ sơ
    $diem = 0;
    if (!empty($dien_thoai))        $diem += 5;
    if (!empty($ngay_sinh))         $diem += 5;
    if (!empty($cccd))              $diem += 15;
    if (!empty($linh_vuc_chi_tiet)) $diem += 10;
    if (!empty($dia_chi))           $diem += 5;
    if (!empty($tinh_thanh))        $diem += 5;
    if (!empty($gioi_thieu))        $diem += 15;
    if (!empty($fb))                $diem += 5;
    if (!empty($yt))                $diem += 5;
    if (!empty($tt))                $diem += 5;
    if (!empty($web))               $diem += 5;
    if ($duong_dan_anh)             $diem += 20; // ảnh đại diện quan trọng nhất
    // Tổng tối đa = 100 điểm

    // Chỉ cập nhật nếu điểm hồ sơ cao hơn điểm hiện tại (không trừ điểm khi xóa thông tin)
    $stmt_diem = $pdo->prepare("
        UPDATE thanh_vien
        SET diem_uy_tin = LEAST(GREATEST(diem_uy_tin, ?), 1000),
            cap_bac = CASE
                WHEN GREATEST(diem_uy_tin, ?) >= 500 THEN 'tinh_hoa'
                WHEN GREATEST(diem_uy_tin, ?) >= 100 THEN 'chuyen_nghiep'
                ELSE 'tieu_chuan'
            END
        WHERE id = ?
    ");
    $stmt_diem->execute([$diem, $diem, $diem, $id_user]);

    $_SESSION['thong_bao'] = ['loai' => 'thanh_cong', 'noi_dung' => 'Cập nhật hồ sơ thành công! Điểm hồ sơ: ' . $diem . '/100'];
    header("Location: ho-so-ca-nhan.php");
    exit;
}
?>