<?php\
defined('BASEPATH') OR exit('No direct script access allowed');\
\
class Auth extends CI_Controller {\
\
    public function __construct()\
    {\
        parent::__construct();\
        $this->load->model('User_model');\
        $this->load->library('session');\
        $this->load->helper('url');\
    }\
\
    // =====================\
    // HALAMAN LOGIN\
    // =====================\
    public function index()\
    {\
        // Jika sudah login → redirect ke dashboard\
        if ($this->session->userdata('logged_in')) {\
            redirect('dashboard');\
        }\
\
        $this->load->view('login');\
    }\
\
    // =====================\
    // PROSES LOGIN\
    // =====================\
    public function login_process()\
    {\
        $nik_user = $this->input->post('nik_user', TRUE);\
        $password = $this->input->post('password', TRUE);\
\
        // ambil user lengkap + join unit\
        $user = $this->User_model->get_user_with_unit($nik_user);\
\
        // cek password manual\
        $check = $this->User_model->login($nik_user, $password);\
        if (!$check || !$user) {\
            $this->session->set_flashdata('error', 'NIK atau Password salah.');\
            redirect('auth');\
        }\
\
        // ===========================\
        // SIMPAN SESSION TERMASUK AREA\
        // ===========================\
        $session_data = [\
            'nik_user'  => $user->nik_user,\
            'id_unit'   => $user->id_unit,\
            'nama'      => $user->nama,\
            'role'      => $user->role,\
            'nama_unit' => $user->nama_unit ?: '-',\
            'area'      => $user->area,\
            'logged_in' => TRUE\
        ];\
        $this->session->set_userdata($session_data);\
\
        // update last_active\
        $this->User_model->set_last_active($user->nik_user);\
\
        redirect('dashboard');\
    }\
\
    // =====================\
    // LOGOUT\
    // =====================\
    public function logout()\
    {\
        $this->session->sess_destroy();\
        redirect('auth');\
    }\
}\

