100.0, // Maximální rozměr strany položky 'maxSumOfDimensions' => 300.0, // Maximální součet rozměrů všech tří stran položky // legacy config: 'max_length' => 98, // Maximální rozměr jedné strany zásilky 'max_dimensions' => 300, // Maximální součet rozměrů všech tří stran zásilky ]; public function getInfo($PSC = null) { if (is_null($PSC)) { $PSC = getVal('dDR-time-zone-psc'); } if (strlen($PSC) != 5) { return false; } $data = sqlFetchAssoc(sqlQuery('SELECT * FROM '.self::$tableName.' WHERE zip=:psc', ['psc' => $PSC])); if (!$data) { return []; } return $data; } public function printDeliveryInfo() { $info = []; return join('
', array_map( function ($name, $value) { return "{$value}"; }, array_keys($info), $info ) ); } public function check(Cart $cart) { if ($cart->hasData('delivery') && $cart->hasData('user')) { $this->zipExists($cart->invoice); $this->zipExists($cart->delivery); } return parent::check($cart); } public function import() { $json = file_get_contents(static::$jsonFile); $data = json_decode_strict($json); if (!$data || empty($data->zip_codes)) { return; } sqlGetConnection()->transactional( function () use ($data) { sqlQueryBuilder()->delete(self::$tableName)->where(\Query\Operator::equals(['country' => 'CZ']))->execute(); foreach ($data->zip_codes as $post) { sqlQuery('INSERT INTO '.self::$tableName.' SET zip = :psc,time_zone = :time_zone, country = :country', ['psc' => $post->zip, 'time_zone' => $post->{'1B'}, 'country' => $post->country]); } } ); } }