+

Kutyaház

A kutyaház elemeit fenyőből készítették, és vízalapú falazúrral kezelték, így első védelmi vonalat nyújtanak a fának az időjárási viszontagságokkal szemben. Az impregnált fából készült elemek tartósak és ellenállnak az időjárásnak.

kutyaház ”S”
kutyaház

73x76.5x76.5 cm Ideális kutyaház a kisebb és közepes méretű kutyák számára Az Smiley Classic kutyaház "S" méretű változata minden fajtájú kutya számára tökéletes otthont nyújt. A kompakt méret ideális kisebb és közepes méretű kutyák számára. Robusztus kivitelezés és időjárásállóság

Kosárba
Részletek
kutyaház ”L”
Fenyőfa kutyaház

85x101x87 cm Az Smiley Classic kutyaház "L" méretű változata minden fajtájú kutya számára tökéletes otthont nyújt. A kompakt méret nagyobb méretű kutyák számára. A kutyaház elemeit fenyőből készítették, és vízalapú falazúrral kezelték, így első védelmi vonalat nyújtanak a fának az időjárási viszontagságokkal szemben. Az impregnált fából készült elemek tartósak és ellenállnak az időjárásnak. Robusztus kivitelezés és időjárásállóság

Kosárba
Részletek
Basic kutyaház ”S”
Fenyőfa Basic kutyaház ”S”

85x57x58 cm Ideális kutyaház a kisebb fajták számára A Smiley Basic kutyaház "S" méretű, ideális otthont nyújt a kis méretű kutyáknak. Ez a kutyaház a kényelem és a funkcionalitás tökéletes ötvözete. A ház magas minőségű, időjárásálló nyársfenyőfából készül, és a teteje homokszórású bitumen-kátránypapírral van fedve, így a tartósság és a védelem garantált.

Kosárba
Részletek
kutyaház ”M”
Fenyöfa kutyaház

79x88x81.5 cm Ideális kutyaház a kisebb és közepes méretű kutyák számára Az Smiley Classic kutyaház "M" méretű változata minden fajtájú kutya számára tökéletes otthont nyújt. A kompakt méret ideális közepes méretű kutyák számára. Robusztus kivitelezés és időjárásállóság

Kosárba
Részletek

Kapcsolat

Hírlevél

Viltor - webáruház bérlés és készítés

A weboldal sütiket (cookie) használ az alapvető működés, valamint a jobb felhasználói élmény eléréséhez. Az oldal használatával elfogadja az Általános Szerződési Feltételeket, valamint az Adatvédelmi tájékoztatót. A süti beállítások igény esetén bármikor megváltoztathatók a böngésző beállításaiban.

WebApiKey = $WebApiKey; } /** Sets the customer's e-mail address. * @param string $Email - Current customer's e-mail address. */ public function SetEmail($Email) { $this->Email = $Email; } /** Adds a product to send. Callable multiple times. * @param string $ProductName - A product name from the customer's cart. * @param string $ProductId - A product id, it must be same as in the feed. */ public function AddProduct($ProductName, $ProductId = null) { $Content = array(); $Content['Name'] = $ProductName; if(!empty($ProductId)) { $Content['Id'] = $ProductId; } $this->Products[] = $Content; } /** Prepares the Trusted code, which provides data sending from the customer's browser to us. * @return string - Prepared Trusted code (HTML). */ public function Prepare() { if (empty($this->WebApiKey)) { throw new Exception(self::ERROR_EMPTY_WEBAPIKEY); } if (empty($this->Email)) { throw new Exception(self::ERROR_EMPTY_EMAIL); } if ($this->Email == 'somebody@example.com') { throw new Exception(self::ERROR_EXAMPLE_EMAIL); } $Examples = array('Name of first purchased product', 'Name of second purchased product'); foreach($Examples as $Example) { foreach($this->Products as $Product){ if($Product['Name'] == $Example) { throw new Exception(self::ERROR_EXAMPLE_PRODUCT); } } } $Params = array(); $Params['Version'] = self::VERSION; $Params['WebApiKey'] = $this->WebApiKey; $Params['Email'] = $this->Email; $Params['Products'] = json_encode($this->Products); $Random = md5($this->WebApiKey . microtime()); $Query = $this->GetQuery($Params); // Sending: $Output = ''; // Include: $Output.= ''; // Fallback: $Output.= ''; return $Output; } /** Performs a request on our servers to get a token and assembles query params with it. * @param array $Params - Parameters to send with token request. * @return string - Query string to assemble sending code snipet on client's side with it. */ protected function GetQuery($Params) { // Prepare curl request: $Curl = curl_init(); curl_setopt($Curl, CURLOPT_URL, self::SERVICE_URL_SEND . self::SERVICE_TOKEN_REQUEST); curl_setopt($Curl, CURLOPT_POST, 1); curl_setopt($Curl, CURLOPT_POSTFIELDS, http_build_query($Params)); curl_setopt($Curl, CURLOPT_CONNECTTIMEOUT_MS, 500); curl_setopt($Curl, CURLOPT_TIMEOUT_MS, 500); curl_setopt($Curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($Curl, CURLOPT_HEADER, true); // Execute the request: $Response = curl_exec($Curl); if(curl_errno($Curl) === 0 && $Response !== false) { $Info = curl_getinfo($Curl); $StatusCode = $Info['http_code']; $JsonBody = substr($Response, $Info['header_size']); $JsonArray = json_decode($JsonBody, true); $JsonError = json_last_error(); curl_close($Curl); if(empty($JsonError)) { if ($StatusCode == 200){ $Query = array(); $Query[]= 'Token=' . $JsonArray['Token']; $Query[]= 'WebApiKey=' . $this->WebApiKey; $Query[]= 'C='; return '?' . join('&', $Query); } else if ($StatusCode == 400){ throw new Exception(self::ERROR_TOKEN_BAD_REQUEST . $JsonArray['ErrorCode'] . ' - ' . $JsonArray['ErrorMessage']); } else { throw new Exception(self::ERROR_TOKEN_REQUEST_FAILED); } } else { throw new Exception('Json error: ' . $JsonError); } } else { throw new Exception(self::ERROR_TOKEN_REQUEST_TIMED_OUT); } return null; } }