<?php
include_once('CONFIGURE.php');

class myfit_class{

   public  $REACT_APP_AUX_ENDPOINT = "https://devapi.mermsemr.com/en/desktop/api/v2/myfit";
   public  $REACT_APP_USERS_ENDPOINT = "https://devapi.mermsemr.com/en/desktop/api/v2/myfituser";

//    public  $REACT_APP_AUX_ENDPOINT = "https://api.mermsemr.com/en/desktop/api/v2/myfit";
//    public  $REACT_APP_USERS_ENDPOINT = "https://api.mermsemr.com/en/desktop/api/v2/myfituser";

    function __construct() {
        
      }



      public function myfit_api($urlPath,$in, &$out = array()) {
        $ret = 0;
           // $urlPath = $this->baseUrlPath($in);
            $local_url = $this->REACT_APP_USERS_ENDPOINT; 
           // $local_url = $this->REACT_APP_AUX_ENDPOINT;
            $url = $local_url ."/".$urlPath; 
            $data = $in;

            $content = json_encode($data);

            $curl = curl_init($url);
            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);
            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);
           $this->showResult($url, $in, $response);
           var_dump($response);
        $out = $response;
        return $response;
    }

    public function myfit_get_api($urlPath,$in, &$out = array()) {
        $ret = 0;
           // $urlPath = $this->baseUrlPath($in);
            $local_url = $this->REACT_APP_USERS_ENDPOINT; 
           // $local_url = $this->REACT_APP_AUX_ENDPOINT;
            $url = $local_url ."/".$urlPath; 
            $data = $in;

            $content = json_encode($data);

            $curl = curl_init($url);
            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);
            
            curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
            curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
            $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);
            $this->showResult($url, $in, $response);
        $out = $response;
        return $response;
    }

    public function showResult($url, $in,$out){

        $inHeaders =  array_keys($in);

        echo "<hr />API INPUT <table>
        <tr><td colspan='3'>".$url."</td></tr>
        </table>";
        var_dump($inHeaders);
        echo "<hr />";
        //$response['result_list']
        if ( isset($out['result_list']) && is_array($out['result_list']) && count($out['result_list']) > 0 ){
            $arr =  $out['result_list'];
            $myHeaders =  array_keys($arr[0]);

var_dump( $myHeaders);
        $tableHead = '<tr>';
        foreach ($myHeaders as $hd){
            $tableHead .= "<th>".$hd."</th>";
        }
        $tableHead .= '</tr>';

        $tableBody = '';
        foreach ($arr as $item) {
            $tableBody .= '<tr>';
            $backColor ='white';
            foreach ($myHeaders as $hd){
                $backColor = ($backColor=='aliceblue')?'white': 'aliceblue';
                $tableBody .= "<td style='background-color:$backColor'>".$item[$hd]."</td>";
            }
            $tableBody .= '</tr>';
        }

        echo "<table>".$tableHead.$tableBody."</table>";
        }
    }

    public function showOutResult($out){


        //$response['result_list']
        if ( isset($out['tracking_data']) && is_array($out['tracking_data']) && count($out['tracking_data']) > 0 ){
            $arr =  $out['tracking_data'];
            $myHeaders =  array_keys($arr[0]);

var_dump( $myHeaders);
        $tableHead = '<tr style=\"background-color:lightblue;\">';
        foreach ($myHeaders as $hd){
            $tableHead .= "<th>".$hd."</th>";
        }
        $tableHead .= '</tr>';

        $tableBody = '';
        foreach ($arr as $item) {
            $tableBody .= '<tr>';
            $backColor ='white';
            foreach ($myHeaders as $hd){
                $backColor = ($backColor=='aliceblue')?'white': 'aliceblue';
                $tableBody .= "<td style='background-color:$backColor'>".$item[$hd]."</td>";
            }
            $tableBody .= '</tr>';
        }

        echo "<table>".$tableHead.$tableBody."</table>";
        }
    }

}

?>