function fn_yandex_delivery_pre_place_order(&$cart, $allow, $product_groups) { foreach ($cart['product_groups'] as $group_key => &$group) { if (!empty($group['chosen_shippings'])) { foreach ($group['chosen_shippings'] as &$shipping) { if ($shipping['module'] == 'yandex' && !empty($shipping['pickup_data'])) { if (!empty($shipping['pickup_data']['schedules'])) { $shipping['pickup_data']['work_time'] = YandexDelivery::getScheduleDays($shipping['pickup_data']['schedules']); } } } } } }
* This is commercial software, only users who have purchased a valid * * license and accept to the terms of the License Agreement can install * * and use this program. * * * **************************************************************************** * PLEASE READ THE FULL TEXT OF THE SOFTWARE LICENSE AGREEMENT IN THE * * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. * ****************************************************************************/ use Tygh\Shippings\YandexDelivery; if (!defined('BOOTSTRAP')) { die('Access denied'); } $cart =& $_SESSION['cart']; if ($mode == "configure") { if (!empty($_REQUEST['module']) && $_REQUEST['module'] == 'yandex' && !empty($_REQUEST['shipping_id'])) { $yad = new YandexDelivery(); $deliveries = $yad->getDeliveries(); $deliveries_list = array(); foreach ($deliveries as $deliver) { $deliveries_list[$deliver['id']] = $deliver['name']; } $shipping = fn_get_shipping_params($_REQUEST['shipping_id']); $deliveries_select = array(); foreach ($shipping['deliveries'] as $delivery_id) { $deliveries_select[$delivery_id] = $deliveries_list[$delivery_id]; } $deliveries_list = array_diff($deliveries_list, $deliveries_select); Tygh::$app['view']->assign('deliveries', $deliveries_list); Tygh::$app['view']->assign('deliveries_select', $deliveries_select); } }
} if ($mode == 'autocomplete') { $params = $_REQUEST; if (defined('AJAX_REQUEST') && $params['q']) { $yad = new YandexDelivery(); $result = $yad->autocomplete($params['q'], $params['type'], $params['city']); $select = array(); if (!empty($result)) { foreach ($result as $city) { $city['value'] = explode(',', $city['value']); $select[] = array('code' => $city['value'], 'value' => $city['value'][0], 'label' => $city['label']); } } Registry::get('ajax')->assign('autocomplete', $select); exit; } } elseif ($mode == 'get_index') { $params = $_REQUEST; if (defined('AJAX_REQUEST') && !empty($params['address'])) { $yad = new YandexDelivery(); $address[] = $params['address']; if (!empty($params['city'])) { $address[] = $params['city']; } $result = $yad->getIndex(implode(',', $address)); if (!empty($result)) { Registry::get('ajax')->assign('get_index', $result); } } exit; }
private function _fillSessionData($response, $delivery_index, $pickuppoint_index) { $group_key = $this->_shipping_info['keys']['group_key']; $shipping_id = $this->_shipping_info['keys']['shipping_id']; if ($response['data'][$delivery_index]['type'] == 'PICKUP') { $response['data'][$delivery_index]['schedule_days'] = YandexDelivery::getScheduleDays($response['data'][$delivery_index]['pickupPoints'][$pickuppoint_index]['schedules']); } $_SESSION['cart']['shippings_extra']['yd']['index'][$group_key][$shipping_id] = $delivery_index; $_SESSION['cart']['shippings_extra']['yd']['pickup_index'][$group_key][$shipping_id] = $pickuppoint_index; $_SESSION['cart']['shippings_extra']['yd']['data'][$group_key][$shipping_id] = $response['data'][$delivery_index]; $_SESSION['cart']['shippings_extra']['yd']['package_size'][$group_key] = $this->getSizePackage($this->_shipping_info['package_info']); return true; }