class Auth extends MY_Controller { protected $params = array(); public function __construct() { parent::__construct(); $this->load->library('form_validation'); $this->load->model('Main_Model', 'model'); } /** * Fungsi ini berfungsi membuka halaman login apabila session tidak ditemukan, * melakukan form_validation jika form tidak diisi, * jika session ditemukan, diarahkan ke 'Dashboard/index' */ public function login() { if($this->session->userdata('authenticated') == true){ if($this->session->userdata('user_group') == null){ $this->logout(); } else { // simpan data ke table login $data = array( 'KAR_ID' => $this->session->userdata('kar_id'), 'login_datetime' => time() ); $insert = $this->model->insert('login', $data); // redirect ke halaman masing-masing $kar_id = intval($this->session->userdata('kar_id')); if($this->session->userdata('user_group') == 'subordinate'){ redirect('program?id='.$kar_id , 'location'); } else { redirect('dashboard'); } } } else { $this->session->unset_userdata('message'); $this->form_validation->set_rules('nik', 'NIK', 'required'); $this->form_validation->set_rules('password', 'Password', 'required'); if($this->form_validation->run() == false){ $this->view('auth'); } else { $nik = $this->input->post('nik'); $pass = $this->input->post('password'); $this->validate($nik, $pass); } } } /** * Fungsi ini berfungsi untuk melakukan user validation dari halaman login * cek user, cek password, create session, select user-group, relation */ public function validate($nik, $pass) { $this->session->unset_userdata('message'); $user = $this->db('user',$nik); if($user == null){ $this->session->set_flashdata('message', 'NIK Anda tidak ditemukan'); $this->view('auth'); } else { if($user->ug_id == 0){ $this->session->set_flashdata('message', 'Anda tidak mempunyai akses SLD'); $this->view('auth'); } elseif(md5($pass) !== $user->KAR_PASSWORD){ $this->session->set_flashdata('message', 'Password Anda salah'); $this->view('auth'); } else { $name_string = $user->KAR_NAME; $arr = explode(" ", $name_string); $first = $arr[0]; $second = isset($arr[1]) ? $arr[1] : ''; $result = ''; if (count($arr) === 1) { $result = substr($first, 0, 1); } else { $result = substr($first, 0, 1) . substr($second, 0, 1); } $session = array( 'authenticated'=>true, 'kar_id'=>$user->KAR_ID, 'nik'=>$user->KAR_NIK, 'initial'=>$result, 'name'=>$user->KAR_NAME, 'email'=>$user->KAR_EMAIL, 'photo'=>$user->KAR_PHOTO, 'role'=>$user->KAR_ROLE, 'last_login'=>$user->KAR_LAST_LOGIN, 'user_group'=>$user->ug_name, 'position'=>$user->JAB_NAME, 'section'=>$user->SEC_NAME, 'direct'=>$user->KAR_ATASAN, ); $this->session->set_userdata($session); $this->login(); } } } /** * Fungsi ini digunakan didalam controller Auth untuk menjadi jembatan antara controller Auth dan database di Model */ public function db($db,$nik) { if($db == 'user') { return $this->model->getUser(array('KAR_NIK' => $nik))->row(); } } public function logout(){ $this->session->unset_userdata('authenticated'); $this->session->unset_userdata('user_group'); $this->session->sess_destroy(); redirect('auth'); } }
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/bumalati/sld.bumalati.com/application/controllers/Auth.php:1)
Filename: core/Common.php
Line Number: 571
Backtrace:
File: /home/bumalati/sld.bumalati.com/index.php
Line: 315
Function: require_once
The page you requested was not found.