Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Get_dat ex..
Decoded Output download
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Get_dat extends MX_Controller {
private $table_db = 'sys_user';
private $limitLogin = 1000; //batas user = 1000
private $timeLimit = 60000; //batas login = 1 jam
function __construct() {
parent::__construct();
$this->load->model('admin/m_master','m_master');
// $this->middleware('guest', 'only',
// ['dologin', 'index','reminder','redirect_page','select_user','change_session_role_id']
// );
// $this->login_limit();
}
public function format_db(){
$arr = $this->m_global->getDataAllArray('mtr_project_unit_trans');
// var_dump($arr);exit;
foreach($arr as $key => $ar){
if($ar['pic_y'] == ''){ $ar['pic_y'] = 0;}else{$ar['pic_y'] = (float)$ar['pic_y'];}
if($ar['pic_x'] == ''){ $ar['pic_x'] = 0;}else{$ar['pic_x'] = (float)$ar['pic_x'];}
if($ar['count_unit'] == ''){ $ar['count_unit'] = 0;}else{$ar['count_unit'] = (float)$ar['count_unit'];}
if($ar['lt'] == ''){ $ar['lt'] = 0;}else{$ar['lt'] = (float)$ar['lt'];}
if($ar['lb'] == ''){ $ar['lb'] = 0;}else{$ar['lb'] = (float)$ar['lb'];}
if($ar['lt_extra'] == ''){ $ar['lt_extra'] = 0;}else{$ar['lt_extra'] = (float)$ar['lt_extra'];}
if($ar['prestasi'] == ''){ $ar['prestasi'] = 0;}else{$ar['prestasi'] = (float)$ar['prestasi'];}
if($ar['hrg_sat'] == ''){ $ar['hrg_sat'] = 0;}else{$ar['hrg_sat'] = (float)$ar['hrg_sat'];}
if($ar['hrg_gross'] == ''){ $ar['hrg_gross'] = 0;}else{$ar['hrg_gross'] = (float)$ar['hrg_gross'];}
if($ar['brate'] == ''){ $ar['brate'] = 0;}else{$ar['brate'] = (float)$ar['brate'];}
if($ar['irate'] == ''){ $ar['irate'] = 0;}else{$ar['irate'] = (float)$ar['irate'];}
if($ar['total_lahan'] == ''){ $ar['total_lahan'] = 0;}else{$ar['total_lahan'] = (float)$ar['total_lahan'];}
if($ar['last_update'] == ''){ $ar['last_update'] = null;}else{$ar['last_update'] = date('Y-m-d h:i',strtotime($ar['last_update']));}
if($ar['audit_date'] == ''){ $ar['audit_date'] = null;}else{$ar['audit_date'] = date('Y-m-d h:i',strtotime($ar['audit_date']));}
$data = [
'code_project' => $ar['code_project'],
'code_unit' => $ar['code_unit'],
'level' => $ar['level'],
'class' => $ar['class'],
'type_prop' => $ar['type_prop'],
'pic_y' => $ar['pic_y'],
'pic_x' => $ar['pic_x'],
'no_unit' => $ar['no_unit'],
'lt' => $ar['lt'],
'lb' => $ar['lb'],
'lt_extra' => $ar['lt_extra'],
'hrg_sat' => $ar['hrg_sat'],
'status' => $ar['status'],
'prestasi' => $ar['prestasi'],
'serah' => $ar['serah'],
'huni' => $ar['huni'],
'ket' => $ar['ket'],
'sts_stock' => $ar['sts_stock'],
'audit_user' => $ar['audit_user'],
'audit_date' => $ar['audit_date'],
'hrg_gross' => $ar['hrg_gross'],
'brate' => $ar['brate'],
'irate' => $ar['irate'],
'total_lahan' => $ar['total_lahan'],
'last_update' => $ar['last_update'],
'user_update' => $ar['user_update'],
'category' => $ar['category'],
];
$this->db->insert('mtr_project_unit',$data);
}
}
public function decode()
{
header("Content-type: image/png");
$data = "
";
echo base64_decode($data);
}
public function tes_rad()
{
$earthRadius = 6371000*0.001;
$latFrom = deg2rad(-6.2954944);
$lonFrom = deg2rad(106.6672505);
$latTo = deg2rad(-6.1990526);
$lonTo = deg2rad(106.8866304);
$lonDelta = $lonTo - $lonFrom;
$a = pow(cos($latTo) * sin($lonDelta), 2) + pow(cos($latFrom) * sin($latTo) - sin($latFrom) * cos($latTo) * cos($lonDelta), 2);
$b = sin($latFrom) * sin($latTo) + cos($latFrom) * cos($latTo) * cos($lonDelta);
$angle = atan2(sqrt($a), $b);
echo $angle * $earthRadius;
}
public function get_radius()
{
$lat = $_GET['latitude'];
$long = $_GET['longitude'];
$return['response'] = "false";
$sql_1 = $this->db->where('status',1)->from('sys_radius')->get()->result_array();
foreach($sql_1 as $row){
$get_far = $this->getDistanceBetweenPoints($row['latitude'],$row['longitude'],$lat,$long);
if($get_far['kilometers'] <= $row['radius']){
$return['response'] = "true";
}
}
echo json_encode($return);
}
public function getDistanceBetweenPoints($lat1=0, $lon1=0, $lat2=0, $lon2=0) {
$theta = $lon1 - $lon2;
$miles = (sin(deg2rad($lat1)) * sin(deg2rad($lat2))) + (cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)));
$miles = acos($miles);
$miles = rad2deg($miles);
$miles = $miles * 60 * 1.1515;
$feet = $miles * 5280;
$yards = $feet / 3;
$kilometers = $miles * 1.609344;
$meters = $kilometers * 1000;
return compact('miles','feet','yards','kilometers','meters');
}
public function absen_cop()
{
for ($x = 6651; $x <= 6999; $x++) {
$im = $this->db->where('id',$x)->get('sys_absen')->row();
if(isset($im->id)){
$data = [
'id' =>$im->id,
'name'=>$im->name,
'userid'=>$im->userid,
'tgl_jam_absen'=>$im->tgl_jam_absen,
'location' => $im->location,
'keterangan'=> $im->keterangan,
'status'=>$im->status,
'tgl_jam_sys'=>$im->tgl_jam_sys,
'longitude'=>$im->longitude,
'latitude' =>$im->latitude,
'dinas' => $im->dinas,
];
$this->db->insert('sys_absen_n',$data);
}
}
}
public function absen_up()
{
$json = file_get_contents('php://input');
$param = json_decode($json);
if($param->userid != null){
$check = $this->db->query("SELECT count(id) as tot FROM sys_absen_n WHERE userid='".$param->userid."' AND tgl_jam_absen::date='".$param->tglmasuk."'::date AND status='".$param->status."'")->row();
if($check->tot == 0){
$data = [
'name' => $param->fullname,
'userid' => $param->userid,
'email' => $param->email,
'tgl_jam_absen' => $param->tglmasuk,
'location' => $param->location,
'longitude' => $param->longitude,
'latitude' => $param->latitude,
'keterangan' => $param->keterangan,
'status' => $param->status,
'tgl_jam_sys'=> date("Y-m-d H:i:s")
];
$this->db->insert('sys_absen_n',$data);
$last_id = $this->db->insert_id();
if($last_id){
//start decode and save photo
$b64 = $param->photo;
$bin = base64_decode($b64);
$new_name = $last_id.'_'.$param->userid.'.png';
$img_file = getcwd().'/public/files/img/'.$new_name;
file_put_contents($img_file, $bin);
// end decode and save photo
$data_photo = ['photo'=>$new_name,'id_absen'=>$last_id,'userid' => $param->userid];
$this->db->insert('sys_absen_photo_n',$data_photo);
$return = ['id' => $last_id,'status' => 'success'];
}else{
$return = ['id' => null,'status' => 'failed'];
}
}else{
$return = ['id' => 0,'status' => 'success'];
}
}else{
$return = ['id' => null,'status' => 'failed'];
}
echo json_encode($return);
}
public function absen_mark()
{
$json = file_get_contents('php://input');
$param = json_decode($json);
if($param->userid != null){
$check = $this->db->query("SELECT count(id) as tot FROM sys_absen_n WHERE userid='".$param->userid."' AND tgl_jam_absen::date='".$param->tglmasuk."'::date AND status='".$param->status."'")->row();
if($check->tot == 0){
$data = [
'name' => $param->fullname,
'userid' => $param->userid,
'email' => $param->email,
'tgl_jam_absen' => $param->tglmasuk,
'location' => $param->location,
'longitude' => $param->longitude,
'latitude' => $param->latitude,
'keterangan' => $param->keterangan,
'status' => $param->status,
'tgl_jam_sys' => date("Y-m-d H:i:s"),
'dinas' => $param->dinas
];
$this->db->insert('sys_absen_n',$data);
$last_id = $this->db->insert_id();
if($last_id){
//start decode and save photo
$b64 = $param->photo;
$bin = base64_decode($b64);
$new_name = $last_id.'_'.$param->userid.'.png';
$img_file = getcwd().'/public/files/img/'.$new_name;
file_put_contents($img_file, $bin);
// end decode and save photo
$data_photo = ['photo'=>$new_name,'id_absen'=>$last_id,'userid' => $param->userid];
$this->db->insert('sys_absen_photo_n',$data_photo);
$return = ['id' => $last_id,'status' => 'success'];
}else{
$return = ['id' => null,'status' => 'failed'];
}
}else{
$return = ['id' => 0,'status' => 'success'];
}
}else{
$return = ['id' => null,'status' => 'failed'];
}
echo json_encode($return);
}
public function checkin()
{
$user_id = $_GET['userid'];
$this->db->where('userid',$user_id);
$this->db->where('status','Absen Masuk');
$this->db->where("tgl_jam_absen Like'".date('Y-m-d')."%'");
$this->db->from('sys_absen_n');
$result = $this->db->get();
if($result->num_rows() > 0){
$output['response'] = "false";
}else{
$output['response'] = "true";
}
echo json_encode($output);
}
public function checkout()
{
$user_id = $_GET['userid'];
$this->db->where('userid',$user_id);
$this->db->where('status','Absen Masuk');
$this->db->where("tgl_jam_absen Like'".date('Y-m-d')."%'");
$this->db->from('sys_absen_n');
$result = $this->db->get();
if($result->num_rows() > 0){
$output['response_1'] = "true";
}else{
$output['response_1'] = "false";
}
$this->db->where('userid',$user_id);
$this->db->where('status','Absen Keluar');
$this->db->where("tgl_jam_absen Like'".date('Y-m-d')."%'");
$this->db->from('sys_absen_n');
$result = $this->db->get();
if($result->num_rows() > 0){
$output['response_2'] = "false";
}else{
$output['response_2'] = "true";
}
echo json_encode($output);
}
public function get_history_ab()
{
if($this->uri->segment(4) != null){
$user_id = $this->uri->segment(4);
if(date('d') < 26){
$d=strtotime("-1 Months");
$date_1 = date('Y-m',$d).'-26';
$date_2 = date('Y-m').'-26';
$this->db->where('tgl_jam_absen >=',$date_1);
$this->db->where('tgl_jam_absen <=',$date_2);
}else{
$d=strtotime("+1 Months");
$date_1 = date('Y-m').'-26';
$date_2 = date('Y-m',$d).'-25';
$this->db->where('tgl_jam_absen >=',$date_1);
$this->db->where('tgl_jam_absen <=',$date_2);
}
if($user_id){
$this->db->where("userid",$user_id);
$this->db->from('sys_absen_n');
$this->db->order_by('tgl_jam_absen','DESC');
$result = $this->db->get();
if($result->num_rows() > 0){
$data = $result->result();
$output = $data;
}else{
$output = null;
}
}else{
$output = null;
}
echo json_encode($output);
}
}
public function test_loopd()
{
date_default_timezone_set('UTC');
// Start date
$date = '2017-01-29';
// End date
$end_date = '2017-12-29';
while (strtotime($date) <= strtotime($end_date)) {
echo "$date
";
echo "<br>";
$date = date("Y-m-d", strtotime("+1 day", strtotime($date)));
}
}
public function izin()
{
$json = file_get_contents('php://input');
$param = json_decode($json);
$b64 = $param->photo;
$bin = base64_decode($b64);
$new_name = date('Ymd').'_'.$param->userid.'.png';
$img_file = getcwd().'/public/files/img/izin/'.$new_name;
file_put_contents($img_file, $bin);
$data = [
'userid' => $param->userid,
'fullname' => $param->fullname,
'email' => $param->email,
'from' => $param->inputTanggal1,
'to' => $param->inputTanggal2,
'photo' => $new_name,
'izin' => $param->izin,
'keterangan' => $param->keterangan,
'status' => 'New',
'date_submit' => date('Y-m-d')
];
$this->db->insert('sys_izin_n',$data);
$last_id = $this->db->insert_id();
if($last_id){
$return = ['id' => $last_id,'status' => 'success'];
}else{
$return = ['id' => null,'status' => 'failed'];
}
echo json_encode($return);
}
public function update_base_i()
{
for ($x = 1; $x <= 26; $x++) {
$im_base = $this->db->where('id',$x)->get('sys_izin')->row();
if(isset($im_base->photo)){
// $b64 = $im_base->photo;
// $bin = base64_decode($b64);
// $new_name = $im_base->id.'_'.$im_base->userid;
// $img_file = getcwd().'/public/files/img/izin/'.$new_name.'.png';
// file_put_contents($img_file, $bin);
$data = [
'id' => $im_base->id,
'fullname' => $im_base->fullname,
'email' => $im_base->email,
'from' => $im_base->from,
'to' => $im_base->to,
'izin' => $im_base->izin,
'keterangan' => $im_base->keterangan,
'photo' => null,
'status' => $im_base->status,
'userid' => $im_base->userid,
'user_approve' => $im_base->user_approve,
'date_approve' => $im_base->date_approve,
'date_submit' => $im_base->date_submit,
'comment' => $im_base->comment,
'approve_stat' =>$im_base->approve_stat
];
$this->db->insert('sys_izin_n',$data);
}else{
echo $x." is null<br>";
}
}
}
public function dologin()
{
if($_GET['method']=="login"){
$username= strval($_GET["username"]);
$password= $_GET["password"];
$device_id = '';
if(isset($_GET['devid'])){
$device_id = $_GET['devid'];
}
// encrypt
$pass = md5_mod($password);
$this->db->where('password',$pass);
$this->db->where('email',$username);
$result = $this->db->get('sys_user');
if($result->num_rows() > 0){
$output['response'] = "false";
$output['userid'] = "no_record_found";
$output['name'] = "no_record_found";
$output['username'] = "no_record_found";
$row = $result->row_array();
if($device_id){
$data_log = [
'userid' =>$row["id"],
'name' =>$row["fullname"],
'datelog' => date('Y-m-d'),
'device_id' => $device_id
];
$this->db->insert('sys_devlog',$data_log);
}
// RETURN DATA
$output["response"] = trim("true");
$output["userid"] = trim($row["id"]);
$name = $row['fullname'];
$output["name"] = trim($name);
$username = $row['email'];
$output["username"] = trim($username);
}else{
// echo "1";exit;
$output['response'] = "false";
$output['userid'] = "no_record_found";
$output['name'] = "no_record_found";
$output['username'] = "no_record_found";
}
}else{
// echo "2";exit;
$output['response'] = "false";
$output['userid'] = "no_record_found";
$output['name'] = "no_record_found";
$output['username'] = "no_record_found";
}
echo json_encode($output);
}
public function security_login(){
$this->load->library('curl');
$curl = curl_init('https://app.qontak.com/oauth/token');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS,"grant_type=password&[email protected]&password=Qontak123_");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
$headers[] = 'Accept: */*';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
throw new Exception("Error Processing Request : ". $err, 1);
} else {
$token_data = json_decode($response, true);
}
if (isset($token_data['error'])) {
throw new Exception("Error Processing Request : ".$token_data['error'], 1);
}
$time = new DateTime('now');
$time->add(new DateInterval('PT5M'));
$token = array(
"tokenType" => $token_data['token_type'],
"accessToken" => $token_data['access_token'],
"refreshToken" => $token_data['refresh_token'],
'token_time' => $time->format('Y-m-d H:i:s')
);
return $token;
}
public function M_dealsQontak()
{
$token = $this->security_login();
$curl = curl_init('https://www.qontak.com/api/v3.1/deals');;
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Accept: */*';
$headers[] = 'Authorization: '.$token['tokenType'].' '.$token['accessToken'];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
$err = curl_error($curl);
$res = json_encode($response);
// var_dump($response);exit;
return $res;
}
public function M_kontakQontak()
{
$token = $this->security_login();
$curl = curl_init('https://www.qontak.com/api/v3.1/contacts');;
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Accept: */*';
$headers[] = 'Authorization: '.$token['tokenType'].' '.$token['accessToken'];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
$err = curl_error($curl);
$res = json_encode($response);
// var_dump($res);exit;
return $res;
}
public function cek_swag()
{
$this->load->library('curl');
$curl = curl_init('http://103.150.116.16/swag/public/alm_ws/swagger/GetToken');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS,"grant_type=password&[email protected]&password=Qontak123_");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Accept: */*';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
$err = curl_error($curl);
var_dump($response);exit;
}
public function api_ip_get()
{
$get_all = $this->db->where(['region IS NULL'=>NULL])->get('log_recon')->result();
// var_dump($get_all);exit;
$i = 0;
foreach($get_all as $rows){
$ip_api = $this->m_master->get_ip_loc($rows->ip);
$data = [
'region'=>@$ip_api['regionName'],
'city' =>@$ip_api['city'],
'isp' =>@$ip_api['isp']
];
if(isset($ip_api['regionName']))
{
$this->db->where('id',$rows->id);
$this->db->update('log_recon',$data);
if($this->db->affected_rows() > 0){
$i++;
}
}
}
echo "total update ".$i." Data";
}
public function update_email()
{
$data = $this->db->where('email is null',null)->get('sys_absen_n')->result_array();
foreach($data as $row){
$get = $this->db->select('email')->where('id',$row['userid'])->get('sys_user')->row_array();
$update = ['email'=>$get['email']];
$this->db->where('id',$row['id']);
$this->db->update('sys_absen_n',$update);
}
}
public function update_base()
{
// Define the Base64 value you need to save as an image
for ($x = 6598; $x <= 6600; $x++) {
$im_base = $this->db->where('id_absen',$x)->get('sys_absen_photo_30042024')->row();
if(isset($im_base->photo)){
$b64 = $im_base->photo;
$bin = base64_decode($b64);
$new_name = $im_base->id_absen.'_'.$im_base->userid;
$img_file = getcwd().'/public/files/img/'.$new_name.'.png';
file_put_contents($img_file, $bin);
$data = [
'id_absen'=> $im_base->id_absen,
'userid' => $im_base->userid,
'photo' => $new_name.'.png'
];
$this->db->insert('sys_absen_photo_n',$data);
}else{
echo $x." is null<br>";
}
}
}
public function bacnkup_db_ab()
{
$DB1 = $this->load->database('vm', TRUE);
$DB2 = $this->load->database('default', TRUE);
$DB3 = $this->load->database('vm_old', TRUE);
$data_vm = $DB1->get('sys_absen_n')->result_array();
$data_vm_old = $DB3->get('sys_absen')->result_array();
foreach($data_vm as $row)
{
}
}
} ?>
Did this file decode correctly?
Original Code
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Get_dat extends MX_Controller {
private $table_db = 'sys_user';
private $limitLogin = 1000; //batas user = 1000
private $timeLimit = 60000; //batas login = 1 jam
function __construct() {
parent::__construct();
$this->load->model('admin/m_master','m_master');
// $this->middleware('guest', 'only',
// ['dologin', 'index','reminder','redirect_page','select_user','change_session_role_id']
// );
// $this->login_limit();
}
public function format_db(){
$arr = $this->m_global->getDataAllArray('mtr_project_unit_trans');
// var_dump($arr);exit;
foreach($arr as $key => $ar){
if($ar['pic_y'] == ''){ $ar['pic_y'] = 0;}else{$ar['pic_y'] = (float)$ar['pic_y'];}
if($ar['pic_x'] == ''){ $ar['pic_x'] = 0;}else{$ar['pic_x'] = (float)$ar['pic_x'];}
if($ar['count_unit'] == ''){ $ar['count_unit'] = 0;}else{$ar['count_unit'] = (float)$ar['count_unit'];}
if($ar['lt'] == ''){ $ar['lt'] = 0;}else{$ar['lt'] = (float)$ar['lt'];}
if($ar['lb'] == ''){ $ar['lb'] = 0;}else{$ar['lb'] = (float)$ar['lb'];}
if($ar['lt_extra'] == ''){ $ar['lt_extra'] = 0;}else{$ar['lt_extra'] = (float)$ar['lt_extra'];}
if($ar['prestasi'] == ''){ $ar['prestasi'] = 0;}else{$ar['prestasi'] = (float)$ar['prestasi'];}
if($ar['hrg_sat'] == ''){ $ar['hrg_sat'] = 0;}else{$ar['hrg_sat'] = (float)$ar['hrg_sat'];}
if($ar['hrg_gross'] == ''){ $ar['hrg_gross'] = 0;}else{$ar['hrg_gross'] = (float)$ar['hrg_gross'];}
if($ar['brate'] == ''){ $ar['brate'] = 0;}else{$ar['brate'] = (float)$ar['brate'];}
if($ar['irate'] == ''){ $ar['irate'] = 0;}else{$ar['irate'] = (float)$ar['irate'];}
if($ar['total_lahan'] == ''){ $ar['total_lahan'] = 0;}else{$ar['total_lahan'] = (float)$ar['total_lahan'];}
if($ar['last_update'] == ''){ $ar['last_update'] = null;}else{$ar['last_update'] = date('Y-m-d h:i',strtotime($ar['last_update']));}
if($ar['audit_date'] == ''){ $ar['audit_date'] = null;}else{$ar['audit_date'] = date('Y-m-d h:i',strtotime($ar['audit_date']));}
$data = [
'code_project' => $ar['code_project'],
'code_unit' => $ar['code_unit'],
'level' => $ar['level'],
'class' => $ar['class'],
'type_prop' => $ar['type_prop'],
'pic_y' => $ar['pic_y'],
'pic_x' => $ar['pic_x'],
'no_unit' => $ar['no_unit'],
'lt' => $ar['lt'],
'lb' => $ar['lb'],
'lt_extra' => $ar['lt_extra'],
'hrg_sat' => $ar['hrg_sat'],
'status' => $ar['status'],
'prestasi' => $ar['prestasi'],
'serah' => $ar['serah'],
'huni' => $ar['huni'],
'ket' => $ar['ket'],
'sts_stock' => $ar['sts_stock'],
'audit_user' => $ar['audit_user'],
'audit_date' => $ar['audit_date'],
'hrg_gross' => $ar['hrg_gross'],
'brate' => $ar['brate'],
'irate' => $ar['irate'],
'total_lahan' => $ar['total_lahan'],
'last_update' => $ar['last_update'],
'user_update' => $ar['user_update'],
'category' => $ar['category'],
];
$this->db->insert('mtr_project_unit',$data);
}
}
public function decode()
{
header("Content-type: image/png");
$data = "
";
echo base64_decode($data);
}
public function tes_rad()
{
$earthRadius = 6371000*0.001;
$latFrom = deg2rad(-6.2954944);
$lonFrom = deg2rad(106.6672505);
$latTo = deg2rad(-6.1990526);
$lonTo = deg2rad(106.8866304);
$lonDelta = $lonTo - $lonFrom;
$a = pow(cos($latTo) * sin($lonDelta), 2) + pow(cos($latFrom) * sin($latTo) - sin($latFrom) * cos($latTo) * cos($lonDelta), 2);
$b = sin($latFrom) * sin($latTo) + cos($latFrom) * cos($latTo) * cos($lonDelta);
$angle = atan2(sqrt($a), $b);
echo $angle * $earthRadius;
}
public function get_radius()
{
$lat = $_GET['latitude'];
$long = $_GET['longitude'];
$return['response'] = "false";
$sql_1 = $this->db->where('status',1)->from('sys_radius')->get()->result_array();
foreach($sql_1 as $row){
$get_far = $this->getDistanceBetweenPoints($row['latitude'],$row['longitude'],$lat,$long);
if($get_far['kilometers'] <= $row['radius']){
$return['response'] = "true";
}
}
echo json_encode($return);
}
public function getDistanceBetweenPoints($lat1=0, $lon1=0, $lat2=0, $lon2=0) {
$theta = $lon1 - $lon2;
$miles = (sin(deg2rad($lat1)) * sin(deg2rad($lat2))) + (cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)));
$miles = acos($miles);
$miles = rad2deg($miles);
$miles = $miles * 60 * 1.1515;
$feet = $miles * 5280;
$yards = $feet / 3;
$kilometers = $miles * 1.609344;
$meters = $kilometers * 1000;
return compact('miles','feet','yards','kilometers','meters');
}
public function absen_cop()
{
for ($x = 6651; $x <= 6999; $x++) {
$im = $this->db->where('id',$x)->get('sys_absen')->row();
if(isset($im->id)){
$data = [
'id' =>$im->id,
'name'=>$im->name,
'userid'=>$im->userid,
'tgl_jam_absen'=>$im->tgl_jam_absen,
'location' => $im->location,
'keterangan'=> $im->keterangan,
'status'=>$im->status,
'tgl_jam_sys'=>$im->tgl_jam_sys,
'longitude'=>$im->longitude,
'latitude' =>$im->latitude,
'dinas' => $im->dinas,
];
$this->db->insert('sys_absen_n',$data);
}
}
}
public function absen_up()
{
$json = file_get_contents('php://input');
$param = json_decode($json);
if($param->userid != null){
$check = $this->db->query("SELECT count(id) as tot FROM sys_absen_n WHERE userid='".$param->userid."' AND tgl_jam_absen::date='".$param->tglmasuk."'::date AND status='".$param->status."'")->row();
if($check->tot == 0){
$data = [
'name' => $param->fullname,
'userid' => $param->userid,
'email' => $param->email,
'tgl_jam_absen' => $param->tglmasuk,
'location' => $param->location,
'longitude' => $param->longitude,
'latitude' => $param->latitude,
'keterangan' => $param->keterangan,
'status' => $param->status,
'tgl_jam_sys'=> date("Y-m-d H:i:s")
];
$this->db->insert('sys_absen_n',$data);
$last_id = $this->db->insert_id();
if($last_id){
//start decode and save photo
$b64 = $param->photo;
$bin = base64_decode($b64);
$new_name = $last_id.'_'.$param->userid.'.png';
$img_file = getcwd().'/public/files/img/'.$new_name;
file_put_contents($img_file, $bin);
// end decode and save photo
$data_photo = ['photo'=>$new_name,'id_absen'=>$last_id,'userid' => $param->userid];
$this->db->insert('sys_absen_photo_n',$data_photo);
$return = ['id' => $last_id,'status' => 'success'];
}else{
$return = ['id' => null,'status' => 'failed'];
}
}else{
$return = ['id' => 0,'status' => 'success'];
}
}else{
$return = ['id' => null,'status' => 'failed'];
}
echo json_encode($return);
}
public function absen_mark()
{
$json = file_get_contents('php://input');
$param = json_decode($json);
if($param->userid != null){
$check = $this->db->query("SELECT count(id) as tot FROM sys_absen_n WHERE userid='".$param->userid."' AND tgl_jam_absen::date='".$param->tglmasuk."'::date AND status='".$param->status."'")->row();
if($check->tot == 0){
$data = [
'name' => $param->fullname,
'userid' => $param->userid,
'email' => $param->email,
'tgl_jam_absen' => $param->tglmasuk,
'location' => $param->location,
'longitude' => $param->longitude,
'latitude' => $param->latitude,
'keterangan' => $param->keterangan,
'status' => $param->status,
'tgl_jam_sys' => date("Y-m-d H:i:s"),
'dinas' => $param->dinas
];
$this->db->insert('sys_absen_n',$data);
$last_id = $this->db->insert_id();
if($last_id){
//start decode and save photo
$b64 = $param->photo;
$bin = base64_decode($b64);
$new_name = $last_id.'_'.$param->userid.'.png';
$img_file = getcwd().'/public/files/img/'.$new_name;
file_put_contents($img_file, $bin);
// end decode and save photo
$data_photo = ['photo'=>$new_name,'id_absen'=>$last_id,'userid' => $param->userid];
$this->db->insert('sys_absen_photo_n',$data_photo);
$return = ['id' => $last_id,'status' => 'success'];
}else{
$return = ['id' => null,'status' => 'failed'];
}
}else{
$return = ['id' => 0,'status' => 'success'];
}
}else{
$return = ['id' => null,'status' => 'failed'];
}
echo json_encode($return);
}
public function checkin()
{
$user_id = $_GET['userid'];
$this->db->where('userid',$user_id);
$this->db->where('status','Absen Masuk');
$this->db->where("tgl_jam_absen Like'".date('Y-m-d')."%'");
$this->db->from('sys_absen_n');
$result = $this->db->get();
if($result->num_rows() > 0){
$output['response'] = "false";
}else{
$output['response'] = "true";
}
echo json_encode($output);
}
public function checkout()
{
$user_id = $_GET['userid'];
$this->db->where('userid',$user_id);
$this->db->where('status','Absen Masuk');
$this->db->where("tgl_jam_absen Like'".date('Y-m-d')."%'");
$this->db->from('sys_absen_n');
$result = $this->db->get();
if($result->num_rows() > 0){
$output['response_1'] = "true";
}else{
$output['response_1'] = "false";
}
$this->db->where('userid',$user_id);
$this->db->where('status','Absen Keluar');
$this->db->where("tgl_jam_absen Like'".date('Y-m-d')."%'");
$this->db->from('sys_absen_n');
$result = $this->db->get();
if($result->num_rows() > 0){
$output['response_2'] = "false";
}else{
$output['response_2'] = "true";
}
echo json_encode($output);
}
public function get_history_ab()
{
if($this->uri->segment(4) != null){
$user_id = $this->uri->segment(4);
if(date('d') < 26){
$d=strtotime("-1 Months");
$date_1 = date('Y-m',$d).'-26';
$date_2 = date('Y-m').'-26';
$this->db->where('tgl_jam_absen >=',$date_1);
$this->db->where('tgl_jam_absen <=',$date_2);
}else{
$d=strtotime("+1 Months");
$date_1 = date('Y-m').'-26';
$date_2 = date('Y-m',$d).'-25';
$this->db->where('tgl_jam_absen >=',$date_1);
$this->db->where('tgl_jam_absen <=',$date_2);
}
if($user_id){
$this->db->where("userid",$user_id);
$this->db->from('sys_absen_n');
$this->db->order_by('tgl_jam_absen','DESC');
$result = $this->db->get();
if($result->num_rows() > 0){
$data = $result->result();
$output = $data;
}else{
$output = null;
}
}else{
$output = null;
}
echo json_encode($output);
}
}
public function test_loopd()
{
date_default_timezone_set('UTC');
// Start date
$date = '2017-01-29';
// End date
$end_date = '2017-12-29';
while (strtotime($date) <= strtotime($end_date)) {
echo "$date\n";
echo "<br>";
$date = date("Y-m-d", strtotime("+1 day", strtotime($date)));
}
}
public function izin()
{
$json = file_get_contents('php://input');
$param = json_decode($json);
$b64 = $param->photo;
$bin = base64_decode($b64);
$new_name = date('Ymd').'_'.$param->userid.'.png';
$img_file = getcwd().'/public/files/img/izin/'.$new_name;
file_put_contents($img_file, $bin);
$data = [
'userid' => $param->userid,
'fullname' => $param->fullname,
'email' => $param->email,
'from' => $param->inputTanggal1,
'to' => $param->inputTanggal2,
'photo' => $new_name,
'izin' => $param->izin,
'keterangan' => $param->keterangan,
'status' => 'New',
'date_submit' => date('Y-m-d')
];
$this->db->insert('sys_izin_n',$data);
$last_id = $this->db->insert_id();
if($last_id){
$return = ['id' => $last_id,'status' => 'success'];
}else{
$return = ['id' => null,'status' => 'failed'];
}
echo json_encode($return);
}
public function update_base_i()
{
for ($x = 1; $x <= 26; $x++) {
$im_base = $this->db->where('id',$x)->get('sys_izin')->row();
if(isset($im_base->photo)){
// $b64 = $im_base->photo;
// $bin = base64_decode($b64);
// $new_name = $im_base->id.'_'.$im_base->userid;
// $img_file = getcwd().'/public/files/img/izin/'.$new_name.'.png';
// file_put_contents($img_file, $bin);
$data = [
'id' => $im_base->id,
'fullname' => $im_base->fullname,
'email' => $im_base->email,
'from' => $im_base->from,
'to' => $im_base->to,
'izin' => $im_base->izin,
'keterangan' => $im_base->keterangan,
'photo' => null,
'status' => $im_base->status,
'userid' => $im_base->userid,
'user_approve' => $im_base->user_approve,
'date_approve' => $im_base->date_approve,
'date_submit' => $im_base->date_submit,
'comment' => $im_base->comment,
'approve_stat' =>$im_base->approve_stat
];
$this->db->insert('sys_izin_n',$data);
}else{
echo $x." is null<br>";
}
}
}
public function dologin()
{
if($_GET['method']=="login"){
$username= strval($_GET["username"]);
$password= $_GET["password"];
$device_id = '';
if(isset($_GET['devid'])){
$device_id = $_GET['devid'];
}
// encrypt
$pass = md5_mod($password);
$this->db->where('password',$pass);
$this->db->where('email',$username);
$result = $this->db->get('sys_user');
if($result->num_rows() > 0){
$output['response'] = "false";
$output['userid'] = "no_record_found";
$output['name'] = "no_record_found";
$output['username'] = "no_record_found";
$row = $result->row_array();
if($device_id){
$data_log = [
'userid' =>$row["id"],
'name' =>$row["fullname"],
'datelog' => date('Y-m-d'),
'device_id' => $device_id
];
$this->db->insert('sys_devlog',$data_log);
}
// RETURN DATA
$output["response"] = trim("true");
$output["userid"] = trim($row["id"]);
$name = $row['fullname'];
$output["name"] = trim($name);
$username = $row['email'];
$output["username"] = trim($username);
}else{
// echo "1";exit;
$output['response'] = "false";
$output['userid'] = "no_record_found";
$output['name'] = "no_record_found";
$output['username'] = "no_record_found";
}
}else{
// echo "2";exit;
$output['response'] = "false";
$output['userid'] = "no_record_found";
$output['name'] = "no_record_found";
$output['username'] = "no_record_found";
}
echo json_encode($output);
}
public function security_login(){
$this->load->library('curl');
$curl = curl_init('https://app.qontak.com/oauth/token');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS,"grant_type=password&[email protected]&password=Qontak123_");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
$headers[] = 'Accept: */*';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
throw new Exception("Error Processing Request : ". $err, 1);
} else {
$token_data = json_decode($response, true);
}
if (isset($token_data['error'])) {
throw new Exception("Error Processing Request : ".$token_data['error'], 1);
}
$time = new DateTime('now');
$time->add(new DateInterval('PT5M'));
$token = array(
"tokenType" => $token_data['token_type'],
"accessToken" => $token_data['access_token'],
"refreshToken" => $token_data['refresh_token'],
'token_time' => $time->format('Y-m-d H:i:s')
);
return $token;
}
public function M_dealsQontak()
{
$token = $this->security_login();
$curl = curl_init('https://www.qontak.com/api/v3.1/deals');;
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Accept: */*';
$headers[] = 'Authorization: '.$token['tokenType'].' '.$token['accessToken'];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
$err = curl_error($curl);
$res = json_encode($response);
// var_dump($response);exit;
return $res;
}
public function M_kontakQontak()
{
$token = $this->security_login();
$curl = curl_init('https://www.qontak.com/api/v3.1/contacts');;
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Accept: */*';
$headers[] = 'Authorization: '.$token['tokenType'].' '.$token['accessToken'];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
$err = curl_error($curl);
$res = json_encode($response);
// var_dump($res);exit;
return $res;
}
public function cek_swag()
{
$this->load->library('curl');
$curl = curl_init('http://103.150.116.16/swag/public/alm_ws/swagger/GetToken');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS,"grant_type=password&[email protected]&password=Qontak123_");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$headers = array();
$headers[] = 'Content-Type: application/json';
$headers[] = 'Accept: */*';
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($curl);
$err = curl_error($curl);
var_dump($response);exit;
}
public function api_ip_get()
{
$get_all = $this->db->where(['region IS NULL'=>NULL])->get('log_recon')->result();
// var_dump($get_all);exit;
$i = 0;
foreach($get_all as $rows){
$ip_api = $this->m_master->get_ip_loc($rows->ip);
$data = [
'region'=>@$ip_api['regionName'],
'city' =>@$ip_api['city'],
'isp' =>@$ip_api['isp']
];
if(isset($ip_api['regionName']))
{
$this->db->where('id',$rows->id);
$this->db->update('log_recon',$data);
if($this->db->affected_rows() > 0){
$i++;
}
}
}
echo "total update ".$i." Data";
}
public function update_email()
{
$data = $this->db->where('email is null',null)->get('sys_absen_n')->result_array();
foreach($data as $row){
$get = $this->db->select('email')->where('id',$row['userid'])->get('sys_user')->row_array();
$update = ['email'=>$get['email']];
$this->db->where('id',$row['id']);
$this->db->update('sys_absen_n',$update);
}
}
public function update_base()
{
// Define the Base64 value you need to save as an image
for ($x = 6598; $x <= 6600; $x++) {
$im_base = $this->db->where('id_absen',$x)->get('sys_absen_photo_30042024')->row();
if(isset($im_base->photo)){
$b64 = $im_base->photo;
$bin = base64_decode($b64);
$new_name = $im_base->id_absen.'_'.$im_base->userid;
$img_file = getcwd().'/public/files/img/'.$new_name.'.png';
file_put_contents($img_file, $bin);
$data = [
'id_absen'=> $im_base->id_absen,
'userid' => $im_base->userid,
'photo' => $new_name.'.png'
];
$this->db->insert('sys_absen_photo_n',$data);
}else{
echo $x." is null<br>";
}
}
}
public function bacnkup_db_ab()
{
$DB1 = $this->load->database('vm', TRUE);
$DB2 = $this->load->database('default', TRUE);
$DB3 = $this->load->database('vm_old', TRUE);
$data_vm = $DB1->get('sys_absen_n')->result_array();
$data_vm_old = $DB3->get('sys_absen')->result_array();
foreach($data_vm as $row)
{
}
}
}
Function Calls
None |
Stats
MD5 | 38a923fc73a9e43abf4a23d38e7ea220 |
Eval Count | 0 |
Decode Time | 65 ms |