3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Objednavka dotazniku spokojenosti * * Ukazka pouziti * * Nazvy produktu preferujeme v kódování UTF-8. Pokud název produktu * převést nedokážete, poradíme si s WINDOWS-1250 i ISO-8859-2 * * <code> * $overeno = new HeurekaOvereno('API_KLIC'); * // pro slovenske obchody $overeno = new HeurekaOvereno('API_KLIC', HEUREKA_LANGUAGE_SK); * $overeno->setEmail('ondrej.cech@heureka.cz'); * $overeno->addProduct('Nokia N95'); * if (false === $overeno->send()) { * print 'Chyba volání HEUREKA API: ' . $overeno->getLastError(); * } * </code> * * @author Ondrej Cech <ondrej.cech@heureka.cz> */ /** * Zakladni URL * * @var String */ define('HEUREKA_BASE_URL', 'http://www.heureka.cz/direct/dotaznik/objednavka.php'); define('HEUREKA_BASE_URL_SK', 'http://www.heureka.sk/direct/dotaznik/objednavka.php'); /** * Identifikator jazykovych mutaci * * @var Int */ define('HEUREKA_LANGUAGE_CZ', 1); define('HEUREKA_LANGUAGE_SK', 2); class HeurekaOvereno { /** * API klic pro identifikaci obchodu * * @var String */ var $apiKey; /** * Email zakaznika * * @var String */ var $email; /** * Pole objednanych produktu * * @var Array */ var $products = array(); /** * Cislo objednavky * * @var Int */ private $orderId; /** * Chybove hlaseni * * @var String */ var $errstr = NULL; /** * ID jazykove mutace * * @var int */ var $languageId = 1; /** * Konstruktor tridy * * @param String $apiKey API klic pro identifikaci obchodu */ function HeurekaOvereno ($apiKey, $languageId = HEUREKA_LANGUAGE_CZ) { $this->apiKey = $apiKey; $this->languageId = $languageId; } /** * Setter pro email * * @param String $email Email zakaznika, kteremu bude odeslat dotaznik */ function setEmail ($email) { $this->email = $email; } /** * Pridava objednane produkty do pozadavku * * Nazvy produktu preferujeme v kódování UTF-8. Pokud název produktu * převést nedokážete, poradíme si s WINDOWS-1250 i ISO-8859-2 * * @param String $productName Nazev objednaneho produktu */ function addProduct ($productName) { $this->products[] = $productName; } /** * Pridava cislo objednavky * * Timto cislem bude oznacen vyplneny dotaznik * * @param Int $orderId cislo objednavky */ public function addOrderId ($orderId) { $this->orderId = $orderId; } /** * Provadi HTTP pozadavek na server * * @param String $url Volana URL adresa * @return String Odpoved ze serveru */ function sendRequest ($url) { $parsed = parse_url($url); $fp = fsockopen($parsed['host'], 80, $errno, $errstr, 5); if (!$fp) { $this->errstr = $errstr . ' (' . $errno . ')'; return false; } else { $return = ''; $out = "GET " . $parsed['path'] . "?" . $parsed['query'] . " HTTP/1.1\r\n" . "Host: " . $parsed['host'] . "\r\n" . "Connection: Close\r\n\r\n"; fputs($fp, $out); while (!feof($fp)) { $return .= fgets($fp, 128); } fclose($fp); $returnParsed = explode("\r\n\r\n", $return); return empty($returnParsed[1]) ? '' : trim($returnParsed[1]); } } /** * Vraci URL pro zadanou jazykovou mutaci * * @return String */ function getUrl () { return HEUREKA_LANGUAGE_CZ == (int) $this->languageId ? HEUREKA_BASE_URL : HEUREKA_BASE_URL_SK; } /** * Odesila pozadavek na objednani dotazniku * * @return Bool true */ function send () { if (empty($this->email)) { $this->errstr = 'Je nutné vyplnit elektronickou adresu'; return false; } // Stavime URL $url = $this->getUrl() . '?id=' . $this->apiKey . '&email=' . urlencode($this->email); foreach ($this->products as $product) { $url .= '&produkt[]=' . urlencode($product); } if (isset($this->orderId)) { $url .= '&orderid=' . urlencode($this->orderId); } // Odesilame pozadavek a kontrolujeme stav $contents = $this->sendRequest($url); if (false === $contents) { $this->errstr = 'Nepodarilo se odeslat pozadavek'; return false; } elseif ('ok' == $contents) { return true; } else { $this->errstr = $contents; return false; } } /** * Vraci posledni chybove hlaseni * * @return String Chybove hlsaeni */ function getLastError () { return $this->errstr; } }
Output for 5.1.3 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.3.32 - 7.3.33, 7.4.26, 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.12 - 7.3.31, 7.4.0 - 7.4.25, 7.4.27 - 7.4.33
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; HeurekaOvereno has a deprecated constructor in /in/LBf8i on line 38
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.2
Strict Standards: var: Deprecated. Please use the public/private/protected modifiers in /in/LBf8i on line 45 Strict Standards: var: Deprecated. Please use the public/private/protected modifiers in /in/LBf8i on line 51 Strict Standards: var: Deprecated. Please use the public/private/protected modifiers in /in/LBf8i on line 57 Strict Standards: var: Deprecated. Please use the public/private/protected modifiers in /in/LBf8i on line 71 Strict Standards: var: Deprecated. Please use the public/private/protected modifiers in /in/LBf8i on line 77
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/LBf8i on line 64
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/LBf8i on line 64
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/LBf8i on line 64
Process exited with code 255.

preferences:
249.77 ms | 401 KiB | 315 Q