array('POST'), 'createuser' => array('POST'), 'userlogin' => array('POST'), 'updateprofile' => array('POST'), 'updsprofile' => array('POST'), 'newlundrypickup' => array('POST'), 'newdrycleanpickup' => array('POST'), 'confirmlundrypickup' => array('POST'), 'savecardpayment' => array('POST'), 'getlundrylocation' => array('POST'), 'getcardpaymentlist' => array('POST'), 'getmyservicelist' => array('POST'), 'getoneserviceitem' => array('POST'), 'loadprofile' => array('POST'), 'deletecard' => array('POST') ); if(array_key_exists( $endpoint, $endpoints)){ // echo "EXYTACT INPUT DATA HERE"; } else{ http_response_code(404); // tell the user product does not exist echo json_encode(array("message" => "Product does not exist.")); } if (!isset($endpoints[$endpoint])) { header('HTTP/1.1 400 Bad Request'); header('Status: 400 Bad Request'); echo "{\"status\":\"Invalid endpoint url\"}"; exit(); } $methods = $endpoints[$endpoint]; if (array_search($_SERVER['REQUEST_METHOD'], $methods)===false) { header('HTTP/1.1 405 Method Not Allowed'); header('Status: 405 Method Not Allowed'); echo "{\"status\":\"Invalid request method\"}"; exit(); } if ($_SERVER["REQUEST_METHOD"] == "POST") { if ($endpoint == "uploadfile") { upload_file_call(); exit(); } else { $in = $this->flatten(json_decode(file_get_contents('php://input'), true)); } } if ($_SERVER["REQUEST_METHOD"] == "PUT") { parse_str(file_get_contents('php://input'), $in); } $in["loc"] = $_SERVER["REMOTE_ADDR"]; // get who is connecting IP $in["pid"] = 100; $res=[]; log_message('critical', "API-WAS CALLED user 009" ); log_message('critical', json_encode($in) ); log_message('critical', json_encode($_POST) ); $inx = $_POST; switch ($endpoint) { case 'getdrycleanservicelist': $in["action"] = SAVVYEXT_USER_DRYCLIST; break; case 'createuser': $in["action"] = SAVVYEXT_USER_CREATE; $in["street1"] = $in["streetaddress"]; $in["zipcode"] = $in["zip"]; $in["country"] = "US"; $in["loc"] = $_SERVER["REMOTE_ADDR"]; break; case 'userlogin': $in["action"] = SAVVYEXT_USER_LOGIN; //{"username":"ses66181@gmail.com","password":"12345678","sessionid":"DUMMYSESSION","loc":"172.24.0.1","pid":100} if ($inx['username'] == 'ses66181@gmail.com'){ $res= $this->dummy_data(); } else{ $res = FloatLogin::floatLoginUser($inx['username'], $inx['password']); if (!empty($res)){ $data = json_decode($res, TRUE); if (isset($data['accessToken'])){ $res = UserProfile::floatUserProfile($data['accessToken']); } } } break; case 'updateprofile': $in["action"] = SAVVYEXT_USER_PROFILE; $in["street1"] = $in["streetaddress"]; $in["zipcode"] = $in["zip"]; $in["country"] = "US"; $in["loc"] = $_SERVER["REMOTE_ADDR"]; break; case 'updsprofile': $in["action"] = SAVVYEXT_USER_COMPLETEPROFILE; break; case 'getcardpaymentlist': $in["action"] = SAVVYEXT_USER_GETCCLIST; break; case 'newlundrypickup': $in["action"] = SAVVYEXT_USER_NEWLUNDRYPICK; $in["service_type"] = 1; $in["service_date"] = $in["pickupdate"] . " " . $in["pickuptime"]; break; case 'newdrycleanpickup': $in["action"] = SAVVYEXT_USER_NEWLUNDRYPICK; $in["service_type"] = 2; $in["service_date"] = $in["pickupdate"] . " " . $in["pickuptime"]; break; case 'confirmlundrypickup': $in["action"] = SAVVYEXT_USER_CONFIRMPICKUP; break; case 'savecardpayment': $in["action"] = SAVVYEXT_USER_SAVECARDPAYMENT; break; case 'getlundrylocation': $in["action"] = SAVVYEXT_USER_LUNDRYLOCATION; $in["limit"] = 100; break; case 'getmyservicelist': $in["action"] = SAVVYEXT_USER_GETSERVICELIST; break; case 'getoneserviceitem': $in["action"] = SAVVYEXT_USER_GETSERVICEITEM; break; case 'loadprofile': $in["action"] = SAVVYEXT_USER_PROFILE; break; case 'deletecard': $in["action"] = SAVVYEXT_USER_DELETECARD; break; } //echo $res; $result = ['payload'=>$res]; $this->logArray($result); echo json_encode($result); exit(); } private function logArray($in){ if (!is_array($in)){ return; } foreach($in as $key => $value){ $vl=''; if (is_array($value)){ foreach($value as $kk => $vv){ $vl .= "$kk => $vv \n"; } } else{ $vl=$value; } log_message('critical', "$key=>".$vl); } } public function oauth2(){ log_message('critical', "API-WAS CALLED oauth2" ); return []; } public function banklogin(){ log_message('critical', "API-WAS CALLED banklogin" ); return []; } public function booking(){ log_message('critical', "API-WAS CALLED booking" ); return []; } public function advice(){ log_message('critical', "API-WAS CALLED advice" ); return []; } public function trips(){ log_message('critical', "API-WAS CALLED trips" ); return []; } public function blog(){ log_message('critical', "API-WAS CALLED blog" ); return []; } private function flatten($data, $parentkey="") { $result = array(); if (!is_array($data) ){ return []; } foreach ($data as $key=>$val) { if (is_array($val)) { $result = array_merge($result, flatten($val, $parentkey.$key."_")); } else { $result[$parentkey.$key] = $val; } } return $result; } private function dummy_data(){ $out=[]; $out["firstname"] = "firstname"; $out["lastname"] = "lastname"; $out["session"] = "3333333777FFFFFFFFFFJJJJJJJJKKGFFFF"; $out["session_contructed"] = "3333333777FFFFFFFFFFJJJJJJJJKKGFFFF"; $out["username"] = ""; $out["last_login"] = "10-10-2021"; $out["member_id"] = "1"; $out["balance"] = "1000"; $out["added"] = "added"; $out["account_added"] = "10-10-2021"; $out["city"] = "Powder Springs"; $out["country"] = "US"; $out["email"] = "test@float.sg"; $out["fb_id"] = ""; $out["id"] = "1"; $out["loc"] = "192.168.1.1"; $out["news"] = ""; $out["phone"] = ""; $out["post_jobs"] = ""; $out["profile_pic"] = ""; $out["refer"] = ""; $out["state"] = "GA"; $out["status"] = "1"; $out["street1"] = "4202 defoors farm"; $out["zipcode"] = "30127"; $out["test"] = "0"; $out["points"] = "600000"; $out["min_budget"] = "10"; $out["max_budget"] = "10000"; $out["prompt_background_gps"] = "1"; return $out; } }