diff --git a/www-api/app/Controllers/BaseController.php b/www-api/app/Controllers/BaseController.php index e08e30b5..128dc6d7 100644 --- a/www-api/app/Controllers/BaseController.php +++ b/www-api/app/Controllers/BaseController.php @@ -372,4 +372,37 @@ abstract class BaseController extends Controller ]; return $excludedPoint; } + + public function APIcall($method, $url, $data) { + // $curl = curl_init(); + $curl = curl_init($url); + switch ($method) { + case "POST": + curl_setopt($curl, CURLOPT_POST, 1); + if ($data) + curl_setopt($curl, CURLOPT_POSTFIELDS, $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); + } } diff --git a/www-api/app/Controllers/WrenchBanners.php b/www-api/app/Controllers/WrenchBanners.php new file mode 100644 index 00000000..acea26fd --- /dev/null +++ b/www-api/app/Controllers/WrenchBanners.php @@ -0,0 +1,119 @@ +request = $request = \Config\Services::request(); + } + public function index() + { + return []; + } + + public function apigate(){ + log_message('critical', "0001"); + header('Access-Control-Allow-Origin: *'); + log_message('critical', "WrenchBanners Path GATE 001"); + $call_backend = true; + + header("Access-Control-Allow-Headers: Origin, X-API-KEY, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method, Access-Control-Allow-Headers, Authorization, observe, enctype, Content-Length, X-Csrf-Token"); + log_message('critical', "0003"); + header("Access-Control-Allow-Methods: GET, PUT, POST, DELETE, PATCH, OPTIONS"); + header("Access-Control-Allow-Credentials: true"); + header("Access-Control-Max-Age: 3600"); + header('content-type: application/json; charset=utf-8'); + $method = $_SERVER['REQUEST_METHOD']; + + $ip_loc = $this->getIpData(); + + + + if ($method == "OPTIONS") { + header("HTTP/1.1 200 OK CORS"); + log_message('critical', " WrenchJobs()-> OPTIONS DIE*****" ); + die(); + } + + //$request = service('request'); + // what is the endpoint + $uri = urldecode(current_url(true)); + $findme = '?'; + $pos = strpos($uri, $findme); + if ($pos > 5) { + $uri = substr($uri, 0, $pos); + } + log_message('critical', "API-GATE URI -> ".$uri ); + $pieces = explode('/', $uri); + $psc = count($pieces); + + $endpoint = $psc > 0 ? $pieces[$psc - 1] : ''; + log_message('critical', "Enpoint-> ".$endpoint ); + + $endpoints = $this->endPointList(); + $out = array(); + $res1 = []; + if (array_key_exists($endpoint, $endpoints)) { + } else { + http_response_code(404); + // tell the user product does not exist + echo json_encode([ + 'message' => 'Endpoint not found.', + 'URI' => $uri, + ]); + } + + $current_env = $this->getSiteConfigurations("system.live"); + $primary_image_sever = $this->getSiteConfigurations("system.primary_image_sever"); + $server_tag = $this->getSiteConfigurations("system.server_tag"); + + // echo "EXYTACT INPUT DATA HERE"; + $raw_json = file_get_contents('php://input'); + $raw_array = json_decode($raw_json, true); + $local_out =[]; + if ($_SERVER['REQUEST_METHOD'] == 'GET') { + log_message('critical', "Enpoint LOC2 HERE -> ".$endpoint ); + $get_param = $_GET['reqData'] ?? null; + $raw_array = ($get_param!=null) ? json_decode($get_param, true):[]; + } + + $in = $raw_array; + + $in["loc"] = $_SERVER["REMOTE_ADDR"]; + $out = array(); + + + $res1 = []; + if (!array_key_exists($endpoint, $this->sessionExcludedList())) { + // TOKEN VERIFICATION WILL GAPPEN + } + + switch($endpoint) { + case 'getjobsdata': + $in["action"] = 'marketjobs'; //WRENCHBOARD_ACCOUNT_JOBLIST; + break; + } + + + if ( $call_backend == true && $in["action"] !='' ){ + $local_url = "http://10.10.10.120:3033/marketjobs"; + $out = $this->APIcall('GET', $local_url, $in); + } + else + { + $out = $local_out; + } + + $this->doCacheStep($in, $out); + $final_out = $out; // start from all out + $final_out["environment"] = $current_env + 0; // force convert to interger = $this->getSiteConfigurations("system.live"); + $final_out["session_image_server"] = $primary_image_sever; // ( $final_out["environment"] > 0 )? 'https://apigate.nebula.g1.wrenchboard.com/en/wrench/api/v1/getmedia/' : "https://apigate.lotus.g1.wrenchboard.com/en/wrench/api/v1/getmedia/"; + $final_out["server_tag"] = $server_tag; + $final_out["language"] = "en"; + $final_out["ip_loc"] = $ip_loc; + return json_encode( $final_out ); + } + +} \ No newline at end of file diff --git a/www-api/app/Controllers/WrenchJobs.php b/www-api/app/Controllers/WrenchJobs.php index 697446ba..6624277b 100644 --- a/www-api/app/Controllers/WrenchJobs.php +++ b/www-api/app/Controllers/WrenchJobs.php @@ -117,67 +117,39 @@ class WrenchJobs extends BaseController } - public function APIcall($method, $url, $data) { - // $curl = curl_init(); - $curl = curl_init($url); - switch ($method) { - case "POST": - curl_setopt($curl, CURLOPT_POST, 1); - if ($data) - curl_setopt($curl, CURLOPT_POSTFIELDS, $data); - break; - case "PUT": - curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT"); - if ($data) - curl_setopt($curl, CURLOPT_POSTFIELDS, $data); - break; - } +// public function APIcall($method, $url, $data) { +// // $curl = curl_init(); +// $curl = curl_init($url); +// switch ($method) { +// case "POST": +// curl_setopt($curl, CURLOPT_POST, 1); +// if ($data) +// curl_setopt($curl, CURLOPT_POSTFIELDS, $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); +// } - 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); - } - - public function wrenchboard_api($in, &$out = array(),$pathWay='') { - $ret = 0; - $local_url = "http://10.10.10.120:3033/marketjobs"; - $url = $local_url ; // ."/".$urlPath; //"/generics"; - $data = $in; - //$content = json_encode($data); - $content = urlencode($data); - $curl = curl_init($url); - curl_setopt($ch, CURLOPT_URL,$content); - curl_setopt($curl, CURLOPT_HEADER, false); - curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); - curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type" => "application/json")); - // curl_setopt($curl, CURLOPT_POST, true); // true to make POST - // curl_setopt($curl, CURLOPT_POSTFIELDS, $content); - - $json_response = curl_exec($curl); - $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); - - if ($status != 200) { - echo ("Error: call to URL $url failed with status $status, response $json_response, | curl_error " . curl_error($curl) . ", | curl_errno " . curl_errno($curl)); - } - - curl_close($curl); - $response = json_decode($json_response, true); - $out = $response; - return $response["internal_return"]; - } } \ No newline at end of file