$value){ if($value == ''){ $pickup[$key] = 0; } } return $pickup; } /** * metoda zwracajaca domyslne wartosci dla poszczegolnych przesylek PP * @return array */ public static function getDefaultValues(){ $default_values = array(); $reflection = new ReflectionClass('PPPackage'); $staticProperties = $reflection->getConstants(); foreach($staticProperties as $key=>$value){ $default_values[$value] = Configuration::get($value); } return $default_values; } /** * metoda zwracaja Karty dla danego uzytkownika API * @return array */ public static function getCarts(){ $cart = ENadawca::Karta(); $carts = $cart->get(); $tab = array(); if($carts !== false){ foreach($carts as $value){ $tab[] = array('id'=>$value['idKarta'], 'name'=>$value['opis'].'('.$value['idKarta'].')'); } } return $tab; } /** * metoda zwracaja rodzaje przesylek PP * @return array */ public static function getPPDelivery(){ $reflection = new ReflectionClass('PPPackage'); $staticProperties = $reflection->getConstants(); $tab = array(); foreach($staticProperties as $key=>$value){ if(strpos($value,'delivery') !== false){ $con = Configuration::get($value); if(!empty($con)){ $tab = array_merge($tab,explode(PPSetting::PP_SEPARATOR,Configuration::get($value))); } } } return array_unique($tab); } /** * metoda zwracajaca rodzaj przesylki PP dla podanego id dostawcy * @param $carrierId * @param bool $delivery_cod * @return mixed|string */ public static function getPackageByOrderDelvery($carrierId,$delivery_cod = false){ $reflection = new ReflectionClass('PPPackage'); $staticProperties = $reflection->getConstants(); $tab = array(); foreach($staticProperties as $key=>$value){ if(strpos($value,'delivery') !== false){ if(in_array($carrierId,explode(PPSetting::PP_SEPARATOR,Configuration::get($value)))){ return str_replace(array('_delivery','_standard','_cod','_pickup_at_point'),'',$value); } } } return ''; } /** * metoda sprawdzajaca czy podany id dostawcy posiada obsluge za pobraniem * @param $carierId * @return bool */ public static function isCarrierIsCod($carierId){ return in_array($carierId, array_merge( explode(PPSetting::PP_SEPARATOR, Configuration::get(PPPackage::PP_POCZTEX_DELIVERY_COD)), explode(PPSetting::PP_SEPARATOR, Configuration::get(PPPackage::PP_POCZTEX_PICKUP_AT_POINT_COD)), explode(PPSetting::PP_SEPARATOR, Configuration::get(PPPackage::PP_POCZTEX_48_DELIVERY_COD)), explode(PPSetting::PP_SEPARATOR, Configuration::get(PPPackage::PP_POCZTEX_48_PICKUP_AT_POINT_COD)), explode(PPSetting::PP_SEPARATOR, Configuration::get(PPPackage::PP_POCZTEX_2021_KURIER_DELIVERY_COD)), explode(PPSetting::PP_SEPARATOR, Configuration::get(PPPackage::PP_POCZTEX_2021_KURIER_PICKUP_AT_POINT_COD)), explode(PPSetting::PP_SEPARATOR, Configuration::get(PPPackage::PP_POCZTEX_2021_DZIS_DELIVERY_COD)) )); } /** * metoda zwracajaca roznice pomiedzy 2 datami * @param $date1 * @param $date2 * @return int */ public static function dateDiff($date1, $date2){ $dateObj1 = new DateTime($date1); $dateObj2 = new DateTime($date2); $interval = $dateObj1->diff($dateObj2); return (int)$interval->format('%r%a'); } /** * metoda zwracajaca table POST i GET * @return array */ public static function getAllValues() { return $_POST + $_GET; } /** * metoda zwracaja bezpieczny string bez zbednych niebezpiecznych elementow * @param $text * @return string */ public static function safeString($text){ return trim(preg_replace('/[^(\x20-\x7F)\x0A\x0D]*/','', $text)); } /** * metoda zwracajaca z textu tylko cyfry * @param $text * @return mixed */ public static function onlyNumbers($text){ return preg_replace("/[^0-9]/", "",$text); } /** * metoda zwracajaca kolejny numer do numeracji zbiorow * @return int */ public static function getNextNumberForOrderSet(){ if(!Configuration::get(PPSetting::PP_COUNT_ORDER_SET) || Configuration::get(PPSetting::PP_COUNT_ORDER_SET_DATE) != date('Y-m-d')){ return 1; } return (int)Configuration::get(PPSetting::PP_COUNT_ORDER_SET) + 1; } /** * metoda zapamietujaca w ustawieniach numeracje zbiorow dla danej daty * @param $number */ public static function setNumberOrderSet($number){ Configuration::updateValue(PPSetting::PP_COUNT_ORDER_SET, $number); Configuration::updateValue(PPSetting::PP_COUNT_ORDER_SET_DATE, date('Y-m-d')); } }