protected function edostavka_calculate($package) { $state = isset($package['destination']['state']) && !empty($package['destination']['state']) ? $package['destination']['state'] : WC()->customer->get_state(); $connect = new WC_Edostavka_Connect(); $connect->set_services($this->edostavka_services()); $_package = $connect->set_package($package); $_package->set_minimum_height($this->minimum_height); $_package->set_minimum_width($this->minimum_width); $_package->set_minimum_length($this->minimum_length); $_package->set_minimum_weight($this->minimum_weight); $connect->set_city_origin($this->city_origin); $connect->set_city_destination($state); $connect->set_debug($this->debug); $connect->set_login($this->login); $connect->set_password($this->password); if (isset($package['post_data']['billing_date']) && !empty($package['post_data']['billing_date'])) { // Конвертируем дату доствки в нужный формат для СДЕК $date_string = $package['post_data']['billing_date']; $date_time = strtotime($date_string); $date_conv = date('Y-m-d', $date_time); $connect->set_date($date_conv); } $shipping = $connect->get_shipping(); if (!empty($shipping)) { return $shipping; } else { if ('yes' == $this->debug) { $this->log->add('edostavka', 'Корзина только с виртуальными продуктами.'); } return array(); } }
protected function edostavka_calculate($package) { $connect = new WC_Edostavka_Connect(); $connect->set_services($this->edostavka_services()); $_package = $connect->set_package($package); $_package->set_minimum_height($this->minimum_height); $_package->set_minimum_width($this->minimum_width); $_package->set_minimum_length($this->minimum_length); $_package->set_minimum_weight($this->minimum_weight); $connect->set_city_origin($this->city_origin); $connect->set_debug($this->debug); $connect->set_login($this->login); $connect->set_password($this->password); if (!empty($package['destination']['state_id']) && is_numeric($package['destination']['state_id'])) { $connect->set_city_destination($package['destination']['state_id']); } elseif ('yes' == $this->debug) { $this->log->add('edostavka', 'Не удалось получить данные о городе получателя.'); } if (isset($package['post_data']['billing_date']) && !empty($package['post_data']['billing_date'])) { // Конвертируем дату доствки в нужный формат для СДЕК $date_string = $package['post_data']['billing_date']; $date_time = strtotime($date_string); $date_conv = date('Y-m-d', $date_time); $connect->set_date($date_conv); } $shipping = $connect->get_shipping(); if (!empty($shipping)) { return $shipping; } else { if ('yes' == $this->debug) { $this->log->add('edostavka', 'Не удалось получить ни одного метода доставки.'); } return array(); } }