$cacheFileName = '/tmp/' . $tsId . '.json'; $cacheTimeOut = 43200; // half a day $apiUrl = 'http://api.trustedshops.com/rest/public/v2/shops/' . $tsId . '/quality/reviews.json'; $reviewsFound = false; if (!function_exists('cachecheck')) { function cachecheck($filename_cache, $timeout = 10800) { if (file_exists($filename_cache) && time() - filemtime($filename_cache) < $timeout) { return true; } return false; } } // check if cached version exists if (!cachecheck($cacheFileName, $cacheTimeOut)) { // load fresh from API $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_URL, $apiUrl); $output = curl_exec($ch); curl_close($ch); // Write the contents back to the file // Make sure you can write to file's destination file_put_contents($cacheFileName, $output); } if ($jsonObject = json_decode(file_get_contents($cacheFileName), true)) { $result = $jsonObject['response']['data']['shop']['qualityIndicators']['reviewIndicator']['overallMark']; $count = $jsonObject['response']['data']['shop']['qualityIndicators']['reviewIndicator']['activeReviewCount'];
} // check if cached version exists if (!cachecheck($cacheFileNameReviewsApi, $cacheTimeOut)) { // load fresh from API $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_URL, $reviewsApiUrl); $output = curl_exec($ch); curl_close($ch); // Write the contents back to the file // Make sure you can write to file's destination file_put_contents($cacheFileNameReviewsApi, $output); } if (!cachecheck($cacheFileNameQiApi, $cacheTimeOut)) { // load fresh from API $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_URL, $qiApiUrl); $output = curl_exec($ch); curl_close($ch); // Write the contents back to the file // Make sure you can write to file's destination file_put_contents($cacheFileNameQiApi, $output); } $jsonObjectReviews = json_decode(file_get_contents($cacheFileNameReviewsApi), true); $jsonObjectQi = json_decode(file_get_contents($cacheFileNameQiApi), true); if ($jsonObjectReviews && $jsonObjectQi) {