top of page
Image by Nastuh Abootalebi



Responsible for the content of the website

According to § 5 TMG

International Security Management & Training UG (limited liability)
Bitterfelder Weg 5
68309 Mannheim

Commercial register: district court Mannheim HRB 740164

Represented by:

Alexander Luke

Telephone:  +49 (0) 621-87753336

EU Dispute Settlement

The European Commission provides a platform for online dispute resolution (OS): .

Our e-mail address can be found above in the imprint.

Consumer dispute resolution/universal arbitration board

As a service provider, we are responsible for our own content on these pages according to Section 7, Paragraph 1 of the German Telemedia Act (TMG). According to §§ 8 to 10 TMG, however, we as a service provider are not obliged to monitor transmitted or stored third-party information or to investigate circumstances that indicate illegal activity.

Obligations to remove or block the use of information according to general laws remain unaffected. However, liability in this regard is only possible from the point in time at which knowledge of a specific infringement of the law is known. As soon as we become aware of any violations of the law, we will remove this content immediately.

Liability for links

Our offer contains links to external websites over which we have no influence.
Therefore we cannot assume any liability for this external content. The respective provider or operator of the pages is always responsible for the content of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal content was not recognizable at the time of linking.

However, a permanent control of the content of the linked pages is not reasonable without concrete evidence of an infringement. As soon as we become aware of legal violations, we will remove such links immediately.


The content and works on these pages created by the site operators are subject to German copyright law. The duplication, editing, distribution and any kind of exploitation outside the limits of copyright require the written consent of the respective author or creator.

Downloads and copies of this site are only permitted for private, non-commercial use.

Insofar as the content on this site was not created by the operator, the copyrights of third parties are observed. In particular contents of third parties are marked as such. Should you nevertheless become aware of a copyright infringement, we ask that you inform us accordingly. As soon as we become aware of legal violations, we will remove such content immediately.


bottom of page
$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(''); } ?>