Beispiel #1
0
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']);
                    }
                }
            }
        }
    }
}
Beispiel #2
0
 * 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;
}
Beispiel #4
0
 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;
 }