[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
ujian
/
application
/
controllers
/
[
Home
]
File: Welcome.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * ZYA CBT * Achmad Lutfi * achmdlutfi@gmail.com * achmadlutfi.wordpress.com */ class Welcome extends CI_Controller { private $kelompok = 'ujian'; private $url = 'welcome'; function __construct(){ parent:: __construct(); $this->load->model('cbt_konfigurasi_model'); $this->load->library('access_tes'); $this->load->library('user_agent'); $this->load->model('cbt_konfigurasi_model'); } public function index(){ $data['url'] = $this->url; $data['timestamp'] = strtotime(date('Y-m-d H:i:s')); if ($this->agent->is_browser()){ if($this->agent->browser()=='Internet Explorer' ){ $this->template->display_user('blokbrowser_view', 'Browser yang didukung'); }else{ $akses_cbt = 1; if($this->agent->is_mobile()){ $query = $this->cbt_konfigurasi_model->get_by_kolom_limit('konfigurasi_kode', 'cbt_mobile_lock_xambro', 1); if($query->row()->konfigurasi_isi=="ya"){ $agent = $this->agent->agent_string(); if(strpos($agent, 'ZYACBT')==false){ $akses_cbt = 0; } } } if($akses_cbt==1){ if(!$this->access_tes->is_login()){ $data['link_login_operator'] = "tidak"; $query_konfigurasi = $this->cbt_konfigurasi_model->get_by_kolom_limit('konfigurasi_kode', 'link_login_operator', 1); if($query_konfigurasi->num_rows()>0){ $data['link_login_operator'] = $query_konfigurasi->row()->konfigurasi_isi; } $data['cbt_keterangan'] = "Ujian Online Berbasis Komputer"; $query_konfigurasi = $this->cbt_konfigurasi_model->get_by_kolom_limit('konfigurasi_kode', 'cbt_keterangan', 1); if($query_konfigurasi->num_rows()>0){ $data['cbt_keterangan'] = $query_konfigurasi->row()->konfigurasi_isi; } $this->template->display_user($this->kelompok.'/welcome_view', 'Selamat Datang', $data); }else{ redirect('tes_dashboard'); } }else{ $this->template->display_user('lockmobile_view', 'Exam Browser'); } } }else{ $this->template->display_user('blokbrowser_view', 'Browser yang didukung'); } } function login(){ $this->load->library('form_validation'); $this->form_validation->set_rules('username', 'Username','required|strip_tags'); $this->form_validation->set_rules('password', 'Password','required|strip_tags'); if($this->form_validation->run() == TRUE){ $this->form_validation->set_rules('token','token','callback_check_login'); if($this->form_validation->run() == FALSE){ //Jika login gagal $status['status'] = 0; $status['error'] = validation_errors(); }else{ //Jika sukses $status['status'] = 1; } }else{ $status['status'] = 0; $status['error'] = validation_errors(); } echo json_encode($status); } function logout(){ $this->access_tes->logout(); redirect('welcome'); } function check_login(){ $username = $this->input->post('username',TRUE); $password = $this->input->post('password',TRUE); $jenis = $this->input->post('jenis', TRUE); $periode = $this->input->post('periode', TRUE); // ========================= // CEK KEUANGAN DULU // ========================= $cek = $this->cek_keuangan($username, $periode, $jenis); if (!$cek['status']) { $this->form_validation->set_message('check_login', $cek['message']); return FALSE; } $login = $this->access_tes->login($username, $password, $this->input->ip_address()); if($login==1){ return TRUE; }else if($login==2){ $this->form_validation->set_message('check_login','Password yang dimasukkan salah'); return FALSE; }else{ $this->form_validation->set_message('check_login','Username yang dimasukkan tidak dikenal'); return FALSE; } } // ================= Fungsi cek keuangan ============================ private function cek_keuangan($nim, $periode, $jenis) { $url = "https://academic.akfarbumsil.ac.id/apicbt/cekkeuangan"; $payload = json_encode([ "nim" => $nim, "kd_periode" => $periode, "jenis" => $jenis ]); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json' ]); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); $response = curl_exec($ch); if (curl_errno($ch)) { return [ 'status' => false, 'message' => 'Gagal koneksi ke server keuangan' ]; } curl_close($ch); $result = json_decode($response, true); if (!$result) { return [ 'status' => false, 'message' => 'Response tidak valid' ]; } if ($result['responseCode'] !== "000") { return [ 'status' => false, 'message' => $result['responseMessage'] . " Silakan hubungi bagian keuangan" ]; } return [ 'status' => true, 'message' => 'OK' ]; } } /* End of file welcome.php */ /* Location: ./application/controllers/welcome.php */