<?php
ob_start();

// --- 1. ตรวจสอบการล็อกอิน (สำคัญมาก) ---
if (!isset($_COOKIE['kRlfYPpU_user_card_id']) || !isset($_COOKIE['kRlfYPpU_user_br_id'])) {
    header('Location: index.php?reason=expired');
    exit;
}

// --- 2. ตรวจสอบว่าเป็นการ POST และรับค่า ---
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    
    $activity_code_select = trim($_POST['activity_code_select'] ?? '');
    $activity_code_input = trim($_POST['activity_code_input'] ?? '');
    
    $activity_code = '';
    if (!empty($activity_code_input)) {
        $activity_code = $activity_code_input;
    } elseif (!empty($activity_code_select)) {
        $activity_code = $activity_code_select;
    }

    // --- 3. ตรวจสอบว่าเลือก/กรอกมาหรือไม่ ---
    if (empty($activity_code)) {
        header('Location: select_activity.php?error=no_activity');
        exit();
    }

    // --- 4. ตรวจสอบ Activity Code (คัดลอกจาก login_process.php เดิม) ---
    // (จำเป็นต้องตรวจสอบอีกครั้ง เพื่อความปลอดภัย)
    
    $host_sqlsrv_1 = '192.168.10.61';
    $port_sqlsrv_1 = '1433';
    $user_sqlsrv_1 = 'zack';
    $pass_sqlsrv_1 = 'zack123456';
    $db_config = 'CONFIG';
    $dsn_sqlsrv_config = "sqlsrv:Server=$host_sqlsrv_1,$port_sqlsrv_1;Database=$db_config;TrustServerCertificate=true";
    
    $user_br_id = $_COOKIE['kRlfYPpU_user_br_id']; // ดึงรหัสสาขาผู้ใช้

    try {
        $conn_config = new PDO($dsn_sqlsrv_config, $user_sqlsrv_1, $pass_sqlsrv_1);
        $conn_config->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        // === START: แก้ไข SQL ===
        // (เพิ่ม APP_NAME และ JOIN เพื่อเอา BR_NAME)
        $sql_check_activity = "
            SELECT 
                a.APP_CODE, a.APP_NAME, a.APP_STATUS, a.APP_ENDSTATUS, a.APP_LDATE, a.BR_ID,
                ISNULL(b.BR_NAME, 'ไม่พบชื่อสาขา') AS BR_NAME
            FROM 
                CONFIG.dbo.APP_APPROVES AS a
            LEFT JOIN 
                EHONGDB.dbo.BRANCH AS b ON a.BR_ID = b.BR_ID
            WHERE 
                a.APP_CODE = ?";
        // === END: แก้ไข SQL ===
        
        $stmt_activity = $conn_config->prepare($sql_check_activity);
        $stmt_activity->execute([$activity_code]);
        $activity_record = $stmt_activity->fetch(PDO::FETCH_ASSOC);

        // --- 5. เริ่มการตรวจสอบ ---
        if (!$activity_record) {
            header('Location: select_activity.php?error=invalid_activity');
            exit();
        }

        // ยกเลิกข้อจำกัดทั้งหมดตามคำขอ
        // if ($activity_record['APP_ENDSTATUS'] == 'S') {
        // ...
        // }

        
        // --- 7. ถ้าผ่านทั้งหมด: Set Cookie และ Redirect ---
        $ten_years_expiry = time() + (10 * 365 * 24 * 60 * 60);
        $cookie_options = [
            'expires' => $ten_years_expiry,
            'path' => '/',
            'domain' => '', 
            'secure' => false, 
            'httponly' => true,
            'samesite' => 'Lax'
        ];
        
        // === START: แก้ไข/เพิ่ม Cookie ===
        setcookie('kRlfYPpU_activity_code', $activity_record['APP_CODE'], $cookie_options);
        setcookie('kRlfYPpU_activity_name', $activity_record['APP_NAME'], $cookie_options); // <-- เพิ่มตัวนี้
        setcookie('kRlfYPpU_activity_br_name', $activity_record['BR_NAME'], $cookie_options); // <-- เพิ่มตัวนี้
        // === END: แก้ไข/เพิ่ม Cookie ===

        header('Location: main.php');
        exit();

    } catch (PDOException $e) {
        error_log("Save Activity Error: " . $e.getMessage());
        header('Location: select_activity.php?error=dberror');
        exit();
    }
} else {
    // ถ้าไม่ได้ POST มา
    header('Location: select_activity.php');
    exit();
}

ob_end_flush();
?>