<?php

function getTrovaResult($query, $start = 0, $num = 10, $client, $safe ) {
    $query = urlencode($query);
    $qh = substr(hash('sha256', $query.'trovaSharedSecret123'),0,5);

    $url = 'https://trova.imds-api.com/v2/web/google?content-type=application%2Fjson&client='.$client.'&filter=1&hl=en&num=' . $num . '&q=' . $query . '&qh=' . $qh . '&safe=' . $safe . '&start=' . $start;
    $curl = curl_init();

    // Set cURL options
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
    if (defined('CURLOPT_TCP_FASTOPEN')) {
        curl_setopt($curl, CURLOPT_TCP_FASTOPEN, 1);  // Only set this option if it is defined
    } 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_ENCODING, '');
    curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
    curl_setopt($curl, CURLOPT_TIMEOUT, 0);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');

    // Execute the request and fetch response
    $response = curl_exec($curl);
    curl_close($curl);
    // Check for errors
    if ($response === false) {
     return [];
    } else {
        return $response;
    }
}