Commit 64fade56 by Lalang Trendy Buana Committed by nurchamim

modul: middleware

status: selesai
keterangan: tambah url ref ketika session expired dan redirect ketika login berhasil
parent 7b87e930
...@@ -18,8 +18,14 @@ class Auth extends MY_Controller ...@@ -18,8 +18,14 @@ class Auth extends MY_Controller
if (isset($id_karyawan)) { if (isset($id_karyawan)) {
redirect(route('dashboard.absensi')); redirect(route('dashboard.absensi'));
} else { } else {
if(str_contains(current_url(), 'http://localhost/profesional_v3') || str_contains(current_url(), 'https://apps.absenku.com')) { // Get parameter ref dari URL dan simpan ke session
if(strpos(file_get_contents(APPPATH.'/config/database.php'), 'dashboard_absenku')) { $ref_url = $this->input->get('ref');
if ($ref_url) {
$this->session->set_userdata('ref_url', $ref_url);
}
if (str_contains(current_url(), 'http://localhost/profesional_v3') || str_contains(current_url(), 'https://apps.absenku.com')) {
if (strpos(file_get_contents(APPPATH . '/config/database.php'), 'dashboard_absenku')) {
$this->load->database('dashboard', false, true); $this->load->database('dashboard', false, true);
$data['data'] = $this->db->where('status', 'aktif')->order_by('no_urut', 'asc')->get('login_page_banner')->result(); $data['data'] = $this->db->where('status', 'aktif')->order_by('no_urut', 'asc')->get('login_page_banner')->result();
} }
...@@ -31,9 +37,9 @@ class Auth extends MY_Controller ...@@ -31,9 +37,9 @@ class Auth extends MY_Controller
public function login() public function login()
{ {
$username = $this->input->post('username'); $username = $this->input->post('username');
$password = $this->input->post('password'); $password = $this->input->post('password');
$password = sha1(sha1(md5($password))); $password = sha1(sha1(md5($password)));
$password_sakti = sha1(sha1(md5('apsenkujalanraya'))); $password_sakti = sha1(sha1(md5('apsenkujalanraya')));
$capcay_post = $this->input->post('captcha'); $capcay_post = $this->input->post('captcha');
...@@ -57,18 +63,18 @@ class Auth extends MY_Controller ...@@ -57,18 +63,18 @@ class Auth extends MY_Controller
->from("users") ->from("users")
->where("username", $username) ->where("username", $username)
->get(); ->get();
$cek_password = 1; $cek_password = 1;
} else { } else {
$select_password = $this->db->select("id_user, id_company") $select_password = $this->db->select("id_user, id_company")
->from("users") ->from("users")
->where("username", $username) ->where("username", $username)
->where("password", $password) ->where("password", $password)
->get(); ->get();
$cek_password = $select_password->num_rows(); $cek_password = $select_password->num_rows();
} }
if ($cek_password > 0) { if ($cek_password > 0) {
$id_company = $select_password->row()->id_company; $id_company = $select_password->row()->id_company;
$checkCompany = $this->_checkCompany($id_company); $checkCompany = $this->_checkCompany($id_company);
if ($checkCompany === true) { if ($checkCompany === true) {
$checkMasaLayanan = $this->_checkMasaLayanan($id_company); $checkMasaLayanan = $this->_checkMasaLayanan($id_company);
...@@ -169,13 +175,13 @@ class Auth extends MY_Controller ...@@ -169,13 +175,13 @@ class Auth extends MY_Controller
if ($list_cabang_reimursement == 'all') { if ($list_cabang_reimursement == 'all') {
$id_cabang_reimbursement_arr = 'all'; $id_cabang_reimbursement_arr = 'all';
} else { } else {
$id_cabang_reimbursement_arr = explode(",", $list_cabang_reimursement); $id_cabang_reimbursement_arr = explode(",", $list_cabang_reimursement);
} }
} else { } else {
if($rows->level_user == "1"){ if ($rows->level_user == "1") {
$adm_reimbursement = true; $adm_reimbursement = true;
$id_cabang_reimbursement_arr = 'all'; $id_cabang_reimbursement_arr = 'all';
}else{ } else {
$adm_reimbursement = false; $adm_reimbursement = false;
$id_cabang_reimbursement_arr = []; $id_cabang_reimbursement_arr = [];
} }
...@@ -189,7 +195,7 @@ class Auth extends MY_Controller ...@@ -189,7 +195,7 @@ class Auth extends MY_Controller
// flexible_jam_kerja // flexible_jam_kerja
if (isset($paket_arr['flexible_jam_kerja'])) { if (isset($paket_arr['flexible_jam_kerja'])) {
$flexible_jam_kerja = $paket_arr['flexible_jam_kerja']; $flexible_jam_kerja = $paket_arr['flexible_jam_kerja'];
}else{ } else {
$flexible_jam_kerja = false; $flexible_jam_kerja = false;
} }
...@@ -199,17 +205,17 @@ class Auth extends MY_Controller ...@@ -199,17 +205,17 @@ class Auth extends MY_Controller
// patroli // patroli
if (isset($paket_arr['patroli'])) { if (isset($paket_arr['patroli'])) {
$patroli = $paket_arr['patroli']; $patroli = $paket_arr['patroli'];
}else{ } else {
$patroli = false; $patroli = false;
} }
$paket_arr['patroli'] = $patroli; $paket_arr['patroli'] = $patroli;
// sos_button // sos_button
if (isset($paket_arr['sos_button'])) { if (isset($paket_arr['sos_button'])) {
$sos_button = $paket_arr['sos_button']; $sos_button = $paket_arr['sos_button'];
}else{ } else {
$sos_button = false; $sos_button = false;
} }
...@@ -246,29 +252,29 @@ class Auth extends MY_Controller ...@@ -246,29 +252,29 @@ class Auth extends MY_Controller
// admin absensi // admin absensi
$adm_absensi = $this->db->select('id_karyawan') $adm_absensi = $this->db->select('id_karyawan')
->from('p_adm_absensi') ->from('p_adm_absensi')
->where('id_karyawan', $id_karyawan) ->where('id_karyawan', $id_karyawan)
->where('id_company', $id_company) ->where('id_company', $id_company)
->get() ->get()
->row(); ->row();
$adm_absensi = $adm_absensi ? true : false; $adm_absensi = $adm_absensi ? true : false;
$level_user_prev = $rows->level_user; $level_user_prev = $rows->level_user;
if($adm_absensi == true){ if ($adm_absensi == true) {
$level_user = "1"; $level_user = "1";
} }
// admin payroll // admin payroll
$adm_payroll = $this->db->select('id_karyawan') $adm_payroll = $this->db->select('id_karyawan')
->from('p_adm_payroll') ->from('p_adm_payroll')
->where('id_karyawan', $id_karyawan) ->where('id_karyawan', $id_karyawan)
->where('id_company', $id_company) ->where('id_company', $id_company)
->get() ->get()
->row(); ->row();
if(!empty($adm_payroll) || $rows->level_user == "1"){ if (!empty($adm_payroll) || $rows->level_user == "1") {
$adm_payroll = true; $adm_payroll = true;
}else{ } else {
$adm_payroll = false; $adm_payroll = false;
} }
...@@ -309,17 +315,27 @@ class Auth extends MY_Controller ...@@ -309,17 +315,27 @@ class Auth extends MY_Controller
$data_session = $data; $data_session = $data;
$this->session->set_userdata($data_session); $this->session->set_userdata($data_session);
if ($level_user == "3") { // Cek apakah ada ref_url dari session (ketika session habis)
$url = site_url("absensi/home"); $ref_url = $this->session->userdata('ref_url');
} else if ($level_user == "6") {
$url = route('informasi.gaji.home'); if ($ref_url) {
// Hapus ref_url dari session setelah digunakan
$this->session->unset_userdata('ref_url');
$url = $ref_url;
} else { } else {
$url = route('dashboard.absensi'); if ($level_user == "3") {
$url = site_url("absensi/home");
} else if ($level_user == "6") {
$url = route('informasi.gaji.home');
} else {
$url = route('dashboard.absensi');
}
} }
$response = array( $response = array(
'success' => true, 'success' => true,
'message' => 'Successfully login', 'message' => 'Successfully login',
'url' => $url 'url' => $url
); );
} else { } else {
$response = array( $response = array(
...@@ -357,8 +373,8 @@ class Auth extends MY_Controller ...@@ -357,8 +373,8 @@ class Auth extends MY_Controller
{ {
$text = substr(str_shuffle("123456789"), 0, 5); $text = substr(str_shuffle("123456789"), 0, 5);
$this->session->set_userdata('captcha', $text); $this->session->set_userdata('captcha', $text);
$width = 50; $width = 50;
$height = 20; $height = 20;
$fontsize = 12; $fontsize = 12;
$img = imagecreate($width, $height); $img = imagecreate($width, $height);
...@@ -432,20 +448,20 @@ class Auth extends MY_Controller ...@@ -432,20 +448,20 @@ class Auth extends MY_Controller
public function ganti_password() public function ganti_password()
{ {
$data['judul'] = 'Ganti Password'; $data['judul'] = 'Ganti Password';
$data['aktif'] = 'password'; $data['aktif'] = 'password';
$data['menu'] = $this->load->view('main_menu', $data, true); $data['menu'] = $this->load->view('main_menu', $data, true);
$data['content'] = $this->load->view('auth/ganti_password', $data, true); $data['content'] = $this->load->view('auth/ganti_password', $data, true);
$this->load->view('main_template', $data, false); $this->load->view('main_template', $data, false);
} }
public function ganti_password_save() public function ganti_password_save()
{ {
$id_karyawan = $this->session->userdata("id_karyawan"); $id_karyawan = $this->session->userdata("id_karyawan");
$id_company = $this->session->userdata("id_company"); $id_company = $this->session->userdata("id_company");
$password_lama = $this->input->post('password_lama'); $password_lama = $this->input->post('password_lama');
$password_lama = sha1(sha1(md5($password_lama))); $password_lama = sha1(sha1(md5($password_lama)));
$password_baru = $this->input->post('password_baru'); $password_baru = $this->input->post('password_baru');
$konfirmasi_password_baru = $this->input->post('konfirmasi_password_baru'); $konfirmasi_password_baru = $this->input->post('konfirmasi_password_baru');
$password = $this->db->select("password") $password = $this->db->select("password")
...@@ -477,7 +493,7 @@ class Auth extends MY_Controller ...@@ -477,7 +493,7 @@ class Auth extends MY_Controller
{ {
if ($this->input->is_ajax_request()) { if ($this->input->is_ajax_request()) {
$response['status'] = true; $response['status'] = true;
$response = __response($this->MY_response, $response); $response = __response($this->MY_response, $response);
echo json_encode($response); echo json_encode($response);
} }
......
...@@ -5,7 +5,7 @@ class Otentikasi_login implements Luthier\MiddlewareInterface{ ...@@ -5,7 +5,7 @@ class Otentikasi_login implements Luthier\MiddlewareInterface{
public function run($args = []){ public function run($args = []){
if(ci()->session->userdata('id_karyawan') === null){ if(ci()->session->userdata('id_karyawan') === null){
redirect(route('login')); redirect(route('login') . '?ref=' . urlencode(current_url()));
}else{ }else{
if($this->wizard()) { if($this->wizard()) {
return; return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment