From bdc05c52cda69abca731625bf3fb66be72317d15 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Sat, 31 Aug 2024 14:06:31 -0400 Subject: [PATCH] api call --- app/Controllers/BaseController.php | 47 ++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/app/Controllers/BaseController.php b/app/Controllers/BaseController.php index 8b435da..7c3213d 100644 --- a/app/Controllers/BaseController.php +++ b/app/Controllers/BaseController.php @@ -55,4 +55,51 @@ abstract class BaseController extends Controller // E.g.: $this->session = \Config\Services::session(); } + + public function APIcall($method, $url, $data) { + // $curl = curl_init(); + $curl = curl_init($url); + switch ($method) { + case "GET": + $params2 = ''; + foreach($data as $key2=>$value2) + $params2 .= $key2.'='.$value2.'&'; + + $params2 = trim($params2, '&'); + $url = $url.'?'.$params2;// add param to URL + log_message('critical', "API URL FINAL =>".$url ); + //curl_setopt($curl, CURLOPT_FRESH_CONNECT, true); + //curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + //curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); + break; + case "POST": + curl_setopt($curl, CURLOPT_POST, 1); + if ($data) + // curl_setopt($curl, CURLOPT_POSTFIELDS, $data); + curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); + // curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); + break; + case "PUT": + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT"); + if ($data) + curl_setopt($curl, CURLOPT_POSTFIELDS, $data); + break; + } + + curl_setopt($curl, CURLOPT_URL, $url); + curl_setopt($curl, CURLOPT_HTTPHEADER, array( + 'APIKEY: RegisteredAPIkey', + 'Content-Type: application/json', + )); + + curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + $result = curl_exec($curl); + + if(!$result) { + echo("Connection failure!"); + } + curl_close($curl); + return json_decode($result, true); + } }