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
if (isset($id_karyawan)) {
redirect(route('dashboard.absensi'));
} else {
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')) {
// Get parameter ref dari URL dan simpan ke session
$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);
$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
public function login()
{
$username = $this->input->post('username');
$password = $this->input->post('password');
$password = sha1(sha1(md5($password)));
$username = $this->input->post('username');
$password = $this->input->post('password');
$password = sha1(sha1(md5($password)));
$password_sakti = sha1(sha1(md5('apsenkujalanraya')));
$capcay_post = $this->input->post('captcha');
......@@ -57,18 +63,18 @@ class Auth extends MY_Controller
->from("users")
->where("username", $username)
->get();
$cek_password = 1;
$cek_password = 1;
} else {
$select_password = $this->db->select("id_user, id_company")
->from("users")
->where("username", $username)
->where("password", $password)
->get();
$cek_password = $select_password->num_rows();
$cek_password = $select_password->num_rows();
}
if ($cek_password > 0) {
$id_company = $select_password->row()->id_company;
$id_company = $select_password->row()->id_company;
$checkCompany = $this->_checkCompany($id_company);
if ($checkCompany === true) {
$checkMasaLayanan = $this->_checkMasaLayanan($id_company);
......@@ -169,13 +175,13 @@ class Auth extends MY_Controller
if ($list_cabang_reimursement == 'all') {
$id_cabang_reimbursement_arr = 'all';
} else {
$id_cabang_reimbursement_arr = explode(",", $list_cabang_reimursement);
$id_cabang_reimbursement_arr = explode(",", $list_cabang_reimursement);
}
} else {
if($rows->level_user == "1"){
if ($rows->level_user == "1") {
$adm_reimbursement = true;
$id_cabang_reimbursement_arr = 'all';
}else{
} else {
$adm_reimbursement = false;
$id_cabang_reimbursement_arr = [];
}
......@@ -189,7 +195,7 @@ class Auth extends MY_Controller
// flexible_jam_kerja
if (isset($paket_arr['flexible_jam_kerja'])) {
$flexible_jam_kerja = $paket_arr['flexible_jam_kerja'];
}else{
} else {
$flexible_jam_kerja = false;
}
......@@ -199,17 +205,17 @@ class Auth extends MY_Controller
// patroli
if (isset($paket_arr['patroli'])) {
$patroli = $paket_arr['patroli'];
}else{
} else {
$patroli = false;
}
$paket_arr['patroli'] = $patroli;
// sos_button
if (isset($paket_arr['sos_button'])) {
$sos_button = $paket_arr['sos_button'];
}else{
} else {
$sos_button = false;
}
......@@ -246,29 +252,29 @@ class Auth extends MY_Controller
// admin absensi
$adm_absensi = $this->db->select('id_karyawan')
->from('p_adm_absensi')
->where('id_karyawan', $id_karyawan)
->where('id_company', $id_company)
->get()
->row();
->from('p_adm_absensi')
->where('id_karyawan', $id_karyawan)
->where('id_company', $id_company)
->get()
->row();
$adm_absensi = $adm_absensi ? true : false;
$level_user_prev = $rows->level_user;
if($adm_absensi == true){
if ($adm_absensi == true) {
$level_user = "1";
}
// admin payroll
$adm_payroll = $this->db->select('id_karyawan')
->from('p_adm_payroll')
->where('id_karyawan', $id_karyawan)
->where('id_company', $id_company)
->get()
->row();
->from('p_adm_payroll')
->where('id_karyawan', $id_karyawan)
->where('id_company', $id_company)
->get()
->row();
if(!empty($adm_payroll) || $rows->level_user == "1"){
if (!empty($adm_payroll) || $rows->level_user == "1") {
$adm_payroll = true;
}else{
} else {
$adm_payroll = false;
}
......@@ -309,17 +315,27 @@ class Auth extends MY_Controller
$data_session = $data;
$this->session->set_userdata($data_session);
if ($level_user == "3") {
$url = site_url("absensi/home");
} else if ($level_user == "6") {
$url = route('informasi.gaji.home');
// Cek apakah ada ref_url dari session (ketika session habis)
$ref_url = $this->session->userdata('ref_url');
if ($ref_url) {
// Hapus ref_url dari session setelah digunakan
$this->session->unset_userdata('ref_url');
$url = $ref_url;
} 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(
'success' => true,
'message' => 'Successfully login',
'url' => $url
'url' => $url
);
} else {
$response = array(
......@@ -357,8 +373,8 @@ class Auth extends MY_Controller
{
$text = substr(str_shuffle("123456789"), 0, 5);
$this->session->set_userdata('captcha', $text);
$width = 50;
$height = 20;
$width = 50;
$height = 20;
$fontsize = 12;
$img = imagecreate($width, $height);
......@@ -432,20 +448,20 @@ class Auth extends MY_Controller
public function ganti_password()
{
$data['judul'] = 'Ganti Password';
$data['aktif'] = 'password';
$data['menu'] = $this->load->view('main_menu', $data, true);
$data['judul'] = 'Ganti Password';
$data['aktif'] = 'password';
$data['menu'] = $this->load->view('main_menu', $data, true);
$data['content'] = $this->load->view('auth/ganti_password', $data, true);
$this->load->view('main_template', $data, false);
}
public function ganti_password_save()
{
$id_karyawan = $this->session->userdata("id_karyawan");
$id_company = $this->session->userdata("id_company");
$password_lama = $this->input->post('password_lama');
$password_lama = sha1(sha1(md5($password_lama)));
$password_baru = $this->input->post('password_baru');
$id_karyawan = $this->session->userdata("id_karyawan");
$id_company = $this->session->userdata("id_company");
$password_lama = $this->input->post('password_lama');
$password_lama = sha1(sha1(md5($password_lama)));
$password_baru = $this->input->post('password_baru');
$konfirmasi_password_baru = $this->input->post('konfirmasi_password_baru');
$password = $this->db->select("password")
......@@ -477,7 +493,7 @@ class Auth extends MY_Controller
{
if ($this->input->is_ajax_request()) {
$response['status'] = true;
$response = __response($this->MY_response, $response);
$response = __response($this->MY_response, $response);
echo json_encode($response);
}
......
......@@ -5,7 +5,7 @@ class Otentikasi_login implements Luthier\MiddlewareInterface{
public function run($args = []){
if(ci()->session->userdata('id_karyawan') === null){
redirect(route('login'));
redirect(route('login') . '?ref=' . urlencode(current_url()));
}else{
if($this->wizard()) {
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