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

// Tự động bắt mã giới thiệu từ đường link URL nếu có (Ví dụ: ?ref=SPNT123456)
$ma_gioi_thieu_sẵn = '';
$loai_noi_dung = '';
$id_noi_dung = 0;
$ten_noi_dung_affiliate = '';
$gia_noi_dung_affiliate = 0;
$loai_noi_dung_hien_thi = '';
if (isset($_GET['ref'])) {
    $ma_gioi_thieu_sẵn = htmlspecialchars(trim($_GET['ref']));
}
if (isset($_GET['item']) && in_array($_GET['item'], ['khoa_hoc', 'dich_vu', 'tin_tuc'], true)) {
    $loai_noi_dung = trim($_GET['item']);
}
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
    $id_noi_dung = (int)$_GET['id'];
}

if (!empty($loai_noi_dung) && $id_noi_dung > 0) {
    switch ($loai_noi_dung) {
        case 'khoa_hoc':
            $stmt_chi_tiet = $pdo->prepare("SELECT ten_khoa_hoc AS ten_noi_dung, gia FROM chuong_trinh_dao_tao WHERE id = ? LIMIT 1");
            $loai_noi_dung_hien_thi = 'khóa học';
            break;
        case 'dich_vu':
            $stmt_chi_tiet = $pdo->prepare("SELECT ten_dich_vu AS ten_noi_dung, gia FROM dich_vu_su_kien WHERE id = ? LIMIT 1");
            $loai_noi_dung_hien_thi = 'dịch vụ';
            break;
        case 'tin_tuc':
            $stmt_chi_tiet = $pdo->prepare("SELECT tieu_de AS ten_noi_dung, 0 AS gia FROM tin_tuc_su_kien WHERE id = ? LIMIT 1");
            $loai_noi_dung_hien_thi = 'sự kiện / tin tức';
            break;
        default:
            $stmt_chi_tiet = null;
    }

    if (!empty($stmt_chi_tiet)) {
        $stmt_chi_tiet->execute([$id_noi_dung]);
        $chi_tiet_aff = $stmt_chi_tiet->fetch();
        if ($chi_tiet_aff) {
            $ten_noi_dung_affiliate = $chi_tiet_aff['ten_noi_dung'] ?? '';
            $gia_noi_dung_affiliate = (float)($chi_tiet_aff['gia'] ?? 0);
        }
    }
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $ho_ten = trim($_POST['ho_ten']);
    $email = trim($_POST['email']);
    $mat_khau = password_hash($_POST['mat_khau'], PASSWORD_DEFAULT);
    $vai_tro = $_POST['vai_tro']; // ca_nhan hoặc to_chuc
    $linh_vuc = $_POST['linh_vuc'];
    $ma_gioi_thieu_nhap = trim($_POST['ma_gioi_thieu_nhap']);

    // 1. Kiểm tra hòm thư điện tử xem đã tồn tại chưa
    $stmt_check = $pdo->prepare("SELECT id FROM thanh_vien WHERE email = ?");
    $stmt_check->execute([$email]);
    if ($stmt_check->fetch()) {
        $thong_bao = '<div class="thong-bao loi">Địa chỉ thư điện tử này đã được sử dụng trên hệ thống!</div>';
    } else {
        // 2. Xác minh mã giới thiệu của người bảo trợ (nếu có nhập)
        $nguoi_bao_tro_id = null;
        $hop_le = true;
        
        if (!empty($ma_gioi_thieu_nhap)) {
            $stmt_ref = $pdo->prepare("SELECT id FROM thanh_vien WHERE ma_gioi_thieu = ?");
            $stmt_ref->execute([$ma_gioi_thieu_nhap]);
            $nguoi_moi = $stmt_ref->fetch();
            
            if ($nguoi_moi) {
                $nguoi_bao_tro_id = $nguoi_moi['id'];
            } else {
                $thong_bao = '<div class="thong-bao loi">Mã giới thiệu không tồn tại! Vui lòng kiểm tra lại.</div>';
                $hop_le = false;
            }
        }

        // 3. Nếu mọi thứ hợp lệ, tiến hành lưu trữ dữ liệu tập trung
        if ($hop_le) {
            // Tự động sinh mã giới thiệu định dạng định sẵn cho thành viên mới
            $ma_gioi_thieu_moi = "SPNT" . rand(100000, 999999);

            $stmt_insert = $pdo->prepare("INSERT INTO thanh_vien (ma_gioi_thieu, nguoi_bao_tro_id, ho_ten, email, mat_khau, vai_tro, linh_vuc) VALUES (?, ?, ?, ?, ?, ?, ?)");
            
            if ($stmt_insert->execute([$ma_gioi_thieu_moi, $nguoi_bao_tro_id, $ho_ten, $email, $mat_khau, $vai_tro, $linh_vuc])) {
                
                // LUỒNG TỰ ĐỘNG AFFILIATE: Nếu có người bảo trợ, ghi nhận hoa hồng theo chính sách đã cấu hình
                if ($nguoi_bao_tro_id) {
                    $id_thanh_vien_moi = $pdo->lastInsertId();
                    $tien_thuong = 50000;
                    $ten_noi_dung = null;
                    $loai_noi_dung_db = null;
                    $id_noi_dung_db = null;

                    if ($loai_noi_dung !== '' && $id_noi_dung > 0) {
                        $stmt_policy = $pdo->prepare("SELECT * FROM chinh_sach_affiliate WHERE loai_noi_dung = ? AND id_noi_dung = ? AND trang_thai = 1 LIMIT 1");
                        $stmt_policy->execute([$loai_noi_dung, $id_noi_dung]);
                        $chinh_sach = $stmt_policy->fetch();

                        if ($chinh_sach) {
                            $loai_noi_dung_db = $chinh_sach['loai_noi_dung'];
                            $id_noi_dung_db = $chinh_sach['id_noi_dung'];
                            switch ($loai_noi_dung_db) {
                                case 'khoa_hoc':
                                    $stmt_nd = $pdo->prepare("SELECT ten_khoa_hoc, gia FROM chuong_trinh_dao_tao WHERE id = ?");
                                    break;
                                case 'dich_vu':
                                    $stmt_nd = $pdo->prepare("SELECT ten_dich_vu AS ten_noi_dung, 0 AS gia FROM dich_vu_su_kien WHERE id = ?");
                                    break;
                                default:
                                    $stmt_nd = $pdo->prepare("SELECT tieu_de AS ten_noi_dung, 0 AS gia FROM tin_tuc_su_kien WHERE id = ?");
                                    break;
                            }
                            $stmt_nd->execute([$id_noi_dung]);
                            $noi_dung_aff = $stmt_nd->fetch();
                            if ($noi_dung_aff) {
                                $ten_noi_dung = $noi_dung_aff['ten_khoa_hoc'] ?? $noi_dung_aff['ten_noi_dung'] ?? null;
                            }

                            if ($chinh_sach['loai_hoa_hong'] === 'phan_tram') {
                                $gia_noi_dung = (float) preg_replace('/[^0-9.]/', '', $noi_dung_aff['gia'] ?? '0');
                                $tien_thuong = $gia_noi_dung > 0 ? round($gia_noi_dung * $chinh_sach['gia_tri'] / 100) : 50000;
                            } else {
                                $tien_thuong = (float) $chinh_sach['gia_tri'];
                            }
                        }
                    }

                    // Ghi vào sổ cái lịch sử tiếp thị liên kết
                    $stmt_aff = $pdo->prepare("INSERT INTO lich_su_affiliate (nguoi_gioi_thieu_id, nguoi_duoc_gioi_thieu_id, so_tien_hoa_hong, trang_thai, loai_noi_dung, id_noi_dung, ten_noi_dung) VALUES (?, ?, ?, 'cho_duyet', ?, ?, ?)");
                    $stmt_aff->execute([$nguoi_bao_tro_id, $id_thanh_vien_moi, max(0, $tien_thuong), $loai_noi_dung_db, $id_noi_dung_db, $ten_noi_dung]);
                    
                    // Tự động bắn thông báo cho người bảo trợ biết
                    $noi_dung_tb = "Hệ thống ghi nhận hoa hồng: Bạn nhận được " . number_format($tien_thuong) . "đ từ việc giới thiệu thành viên mới " . $ho_ten;
                    if (!empty($ten_noi_dung)) {
                        $noi_dung_tb .= " cho " . $ten_noi_dung;
                    }
                    $stmt_noti = $pdo->prepare("INSERT INTO thong_bao (id_thanh_vien, noi_dung) VALUES (?, ?)");
                    $stmt_noti->execute([$nguoi_bao_tro_id, $noi_dung_tb]);
                }

                $thong_bao = '<div class="thong-bao thanh-cong">Đăng ký tài khoản thành công! <a href="dang-nhap.php">Đăng nhập ngay</a></div>';
            } else {
                $thong_bao = '<div class="thong-bao loi">Trục trặc hệ thống, vui lòng thử lại sau!</div>';
            }
        }
    }
}
?>
<!DOCTYPE html>
<html lang="vi">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ghi danh Thành viên - PHẠM NGỌC TV</title>
    <link rel="icon" type="image/png" href="images/icon.png">
    <link rel="apple-touch-icon" href="images/icon.png">
    <style>
        body { font-family: 'Segoe UI', Arial, sans-serif; background-color: #f4f6f9; margin: 0; display: flex; justify-content: center; align-items: center; min-height: 100vh; color: #333; }
        .khung-dang-ky { background: white; padding: 40px; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); width: 100%; max-width: 480px; box-sizing: border-box; }
        .tieu-de { text-align: center; color: #0056b3; font-size: 24px; font-weight: bold; margin-bottom: 5px; }
        .mo-ta { text-align: center; font-size: 13px; color: #666; margin-bottom: 25px; }
        
        .form-group { margin-bottom: 18px; }
        .form-group label { display: block; font-weight: 600; font-size: 13px; color: #495057; margin-bottom: 6px; }
        .form-group input, .form-group select { width: 100%; padding: 12px; border: 1px solid #ced4da; border-radius: 6px; box-sizing: border-box; font-size: 14px; transition: 0.2s; }
        .form-group input:focus, .form-group select:focus { border-color: #0056b3; outline: none; box-shadow: 0 0 0 3px rgba(0,86,179,0.1); }
        
        .luoi-doi-cot { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
        .nut-gui { width: 100%; padding: 14px; background: #0056b3; color: white; border: none; border-radius: 6px; font-size: 16px; font-weight: bold; cursor: pointer; transition: 0.3s; margin-top: 10px; }
        .nut-gui:hover { background: #004085; }
        
        .lien-ket-phu { text-align: center; margin-top: 20px; font-size: 14px; color: #666; }
        .lien-ket-phu a { color: #0056b3; text-decoration: none; font-weight: bold; }
        
        /* Định dạng các khối thông báo */
        .thong-bao { padding: 12px; border-radius: 6px; font-size: 14px; font-weight: 500; margin-bottom: 20px; text-align: center; }
        .thong-bao.loi { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
        .thong-bao.thanh-cong { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
        .thong-bao.thanh-cong a { color: #155724; font-weight: bold; }
    </style>
</head>
<body>

    <div class="khung-dang-ky">
        <div class="tieu-de">Đăng Ký Thành Viên Cộng Đồng</div>
        <div class="mo-ta">Tham gia hệ sinh thái cộng đồng để nhận ưu đãi và ghi nhận hoa hồng giới thiệu.</div>
        
        <?php if (!empty($ten_noi_dung_affiliate)): ?>
            <div class="thong-bao thanh-cong" style="background:#e8f7ff;color:#0c5460;border-color:#bee5eb;">
                Bạn được mời tham gia chương trình affiliate cho <strong><?php echo htmlspecialchars($loai_noi_dung_hien_thi); ?></strong>:
                <strong><?php echo htmlspecialchars($ten_noi_dung_affiliate); ?></strong>
                <?php if ($gia_noi_dung_affiliate > 0): ?> với giá <?php echo number_format($gia_noi_dung_affiliate, 0, ',', '.'); ?> đ<?php endif; ?>.
                Vui lòng điền thông tin để nhận trợ giúp và ưu đãi từ chương trình.
            </div>
        <?php endif; ?>

        <?php echo $thong_bao; ?>
        
        <form method="POST" action="">
            <div class="form-group">
                <label>Họ và tên (Bắt buộc khớp với Căn cước công dân):</label>
                <input type="text" name="ho_ten" required placeholder="Ví dụ: NGUYEN VAN A">
                <div style="font-size: 12px; color: #dc3545; margin-top: 6px; line-height: 1.4; padding: 8px; background: #f8d7da; border-radius: 4px; border: 1px solid #f5c6cb;">
                    <strong>* Lưu ý quan trọng:</strong> Tên định danh này sẽ được sử dụng để đối soát tài khoản ngân hàng khi nhận thù lao. Bạn <strong>không thể tự thay đổi</strong> sau khi hoàn tất ghi danh.
                </div>
            </div>
            
            <div class="form-group">
                <label>Địa chỉ Thư điện tử (Email):</label>
                <input type="email" name="email" required placeholder="vi_du@gmail.com">
            </div>
            
            <div class="form-group">
                <label>Mật khẩu bảo mật:</label>
                <input type="password" name="mat_khau" required placeholder="Tối thiểu 6 ký tự...">
            </div>
            
            <div class="luoi-doi-cot">
                <div class="form-group">
                    <label>Vai trò tham gia:</label>
                    <select name="vai_tro">
                        <option value="ca_nhan">Cá nhân (Nghệ sĩ)</option>
                        <option value="to_chuc">Tổ chức (Trung tâm)</option>
                    </select>
                </div>
                
                <div class="form-group">
                    <label>Lĩnh vực tham gia / Sở thích chính:</label>
                    <select name="linh_vuc">
                        <option value="nhac">🎵 Âm nhạc</option>
                        <option value="hoa">🎨 Hội họa</option>
                        <option value="chung">🤝 Đa lĩnh vực / Khách hàng</option>
                    </select>
                </div>
            </div>
            
            <div class="form-group">
                <label>Mã người giới thiệu (Nếu có):</label>
                <input type="text" name="ma_gioi_thieu_nhap" value="<?php echo !empty($ma_gioi_thieu_sẵn) ? $ma_gioi_thieu_sẵn : ''; ?>" placeholder="Ví dụ: SPNT123456" style="text-transform: uppercase;">
            </div>
            
            <button type="submit" class="nut-gui">HOÀN TẤT GHI DANH</button>
        </form>
        
        <div class="lien-ket-phu">
            Đã có tài khoản? <a href="dang-nhap.php">Đăng nhập tại đây</a>
        </div>
    </div>

    <?php require_once 'includes/menu-dien-thoai.php'; ?>
</body>
</html>