session = \Config\Services::session(); $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!"); return json_decode('', true); } curl_close($curl); return json_decode($result, true); } protected function getBlogOneItem($postId) :array { $siteData = $this->getBlogItems(); $blogItem = $this->loopToFindItem($siteData['blogdata'],$postId); // $siteData['blogdata'][0]; $blogItem['blog_media_url'] = $siteData['blog_media_url']; return $blogItem; } // TODO - This is bad idea - good for now private function loopToFindItem($blogItem, $postId) { foreach($blogItem as $p) { if($p['id'] == $postId) { return $p; } } } protected function getBlogItems() :array { $siteData =[]; if ( $this->session->get("siteData") !== null && count( $this->session->get("siteData")) > 0 ){ return $this->session->get("siteData"); } $blogURL = 'https://blogdata.chiefsoft.net/blogdata/coregrade'; //http://10.10.10.35:8805/blogdata/coregrade $out = $this->APIcall('GET',$blogURL,[]); $siteData['blogdata'] = is_array( $out['payload']['blogdata']) ? $out['payload']['blogdata'] : []; $siteData['blog_media_url'] = $out['payload']['image_url']; $this->session->set("siteData",$siteData); return $siteData; // $apiEndpointsConfig = config('ApiEndpoints'); // $wpData = WpContentsClient::serviceGetBlogItems($apiEndpointsConfig->baseUrl); // $blog_post = array(); // $blog_cnt =0; // foreach ($wpData[0]->payload as $item) { // $itemA = array( // 'title' => $item->post_title, // 'desc' => substr($item->post_content,0,100), // 'link' => $item->guid, // 'date' => date_format(date_create( $item->post_date),'Y-m-d'), // 'image' => "https://blog.mermsemr.com/wp-content/uploads/".$item->meta_value, // ); // if ($blog_cnt == 0){ // $this->session->blogItem = $itemA ; // } // $blog_cnt++; // array_push($blog_post, $itemA); // } // return $blog_post; } }