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]);
}
}
);
}
}