{source}
 $cachingTime) {
            // init curl handler
            $curlHandler = curl_init();
            // set curl options
            curl_setopt($curlHandler, CURLOPT_TIMEOUT, 3);
            curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curlHandler, CURLOPT_URL, $apiUrl . '?v=' . $scriptVersion);
            curl_setopt($curlHandler, CURLOPT_USERPWD, $yourApiId . ':' . $yourAPIKey);
            if (defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')) {
                curl_setopt($curlHandler, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
            }
            // send call to api
            $json = curl_exec($curlHandler);
            if ($json === false) {
                // curl error
                $errorMessage = 'curl error (' . date('c') . ')';
                if (file_exists($cachePath)) {
                    $errorMessage .= PHP_EOL . PHP_EOL . 'last call: ' . date('c', filemtime($cachePath));
                }
                $errorMessage .= PHP_EOL . PHP_EOL . curl_error($curlHandler);
                $errorMessage .= PHP_EOL . PHP_EOL . print_r(curl_version(), true);
                @file_put_contents(dirname($cachePath) . $errorFile, $errorMessage);
                $json = json_encode(array('status' => 'error', 'errors' => array('curl error')));
            }
            curl_close($curlHandler);
            // convert json to array
            $data = json_decode($json, true);
            if (! is_array($data)) {
                // json format is wrong
                $errorMessage = 'json error (' . date('c') . ')' . PHP_EOL . PHP_EOL . $json;
                if (file_exists($cachePath)) {
                    $errorMessage .= PHP_EOL . PHP_EOL . 'last call: ' . date('c', filemtime($cachePath));
                }
                @file_put_contents(dirname($cachePath) . $errorFile, $errorMessage);
                $data = array('status' => 'error', 'errors' => array('json error'));
                $json = json_encode($data);
            }
            if ($data['status'] == 'success') {
                if (is_writable($cachePath)) {
                    // save data in cache file
                    @file_put_contents($cachePath, $json);
                } else {
                    echo('');
                }
            } elseif(! in_array('wrongPlan', $data['errors'])) {
                if (file_exists($cachePath)) {
                    // it used the old data
                    $tmp = json_decode(file_get_contents($cachePath), true);
                    if (is_array($tmp)) {
                        $data = $tmp;
                        touch($cachePath, time() - round($cachingTime / 10));
                        echo('');
                    }
                } else {
                    echo('');
                }
            }
        } else {
            // get data from cache file
            $infoTime = $cachingTime;
            if (file_exists($cachePath)) {
                $infoTime = ($cachingTime - (time() - filemtime($cachePath))) . '/' . $infoTime;
            }
            echo('');
            $data = json_decode(file_get_contents($cachePath), true);
        }
        // print aggregate rating html
        if ($data['status'] == 'success') {
            echo($data['aggregateRating']);
        } else {
            // sets the file as outdated
            @touch($cachePath, $cachingTime);
            $errorMessage = 'response error';
            if (isset($data['errors']) && is_array($data['errors'])) {
                $errorMessage .= ' (' . implode(', ', $data['errors']) . ')';
            }
            $errorMessage .= ' [v' . $scriptVersion . ']';
            echo('');
        }
    } catch (Exception $e) {
        $errorMessage = 'exception' . PHP_EOL . PHP_EOL . $e->__toString();
        @file_put_contents(dirname($cachePath) . $errorFile, $errorMessage);
        echo('');
    }
} else {
    echo('');
}
?>
{/source}
Alle auf der Webseite angegebenen Preise verstehen sich zzgl. 19% Umsatzsteuer.
©  ZAHM & ZORNIG WERBEAGENTUR