true, CURLOPT_POST => true, CURLOPT_TIMEOUT => 15, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_FOLLOWLOCATION => true, CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', ]); if ($body) { curl_setopt($ch, CURLOPT_POSTFIELDS, $body); } $res = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $error = curl_error($ch); curl_close($ch); if ($error) { return ['error' => true, 'message' => 'CURL Error: ' . $error]; } $data = json_decode($res, true); $success = false; if ($httpCode >= 200 && $httpCode < 300) { if (isset($data['status'])) { $success = ($data['status'] == 1); } else { $success = true; } } return [ 'success' => $success, 'http_code' => $httpCode, 'data' => $data, 'raw_response' => $res ]; } // Helper function untuk login function api_login($username, $password) { // Coba format yang berbeda $data = [ 'username' => $username, 'password' => $password ]; error_log("Login data: " . json_encode($data)); return api_request(API_LOGIN, null, $data); } // Helper function untuk silent login dengan token function api_login_token($token) { return api_request(API_LOGIN_TOKEN, $token); } // Helper function untuk get profil function api_get_profil($token) { return api_request(API_PROFIL, null, ['token' => $token]); } // Helper function untuk save presensi masuk function api_save_masuk($token, $data) { $data['token'] = $token; return api_request(API_SAVE_MASUK, null, $data); } // Helper function untuk save presensi pulang function api_save_pulang($token, $data) { $data['token'] = $token; return api_request(API_SAVE_PULANG, null, $data); } // Helper function untuk save istirahat function api_save_istirahat($token, $data) { $data['token'] = $token; return api_request(API_SAVE_ISTIRAHAT, null, $data); } // Helper function untuk get riwayat presensi function api_get_presensi($token) { return api_request(API_PRESENSI, null, ['token' => $token]); } // Helper function untuk get presensi hari ini function api_get_presensi_today($token) { return api_request(API_PRESENSI_TODAY, null, ['token' => $token]); } // Helper function untuk get cuti function api_get_cuti($token) { return api_request(API_CUTI, null, ['token' => $token]); } // Helper function untuk save cuti function api_save_cuti($token, $data) { $data['token'] = $token; return api_request(API_SAVE_CUTI, null, $data); } // Helper function untuk batalkan cuti function api_batalkan_cuti($token, $data) { $data['token'] = $token; return api_request(API_BATALKAN_CUTI, null, $data); } // Helper function untuk get lembur function api_get_lembur($token) { return api_request(API_LEMBUR, null, ['token' => $token]); } // Helper function untuk get berita function api_get_berita($token) { return api_request(API_BERITA, null, ['token' => $token]); } // Helper function untuk get libur function api_get_libur($token) { return api_request(API_LIBUR, null, ['token' => $token]); } // Helper function untuk upload photo profil function api_save_pp($token, $data) { $data['token'] = $token; return api_request(API_SAVE_PP, null, $data); }