function GetConfig($siteId = false) { $shopLocationId = CSaleHelper::getShopLocationId($siteId); $arShopLocation = CSaleHelper::getLocationByIdHitCached($shopLocationId); if (!$arShopLocation) { $arShopLocation = array(); } $shopPrevLocationId = COption::GetOptionString('sale', 'delivery_rus_post_first_prev_loc', 0); /* if shop's location was changed */ if ($shopPrevLocationId != $shopLocationId) { COption::SetOptionString('sale', 'delivery_rus_post_first_prev_loc', $shopLocationId); COption::RemoveOption('sale', 'delivery_rus_post_first_tarifs'); } $arConfig = array('CONFIG_GROUPS' => array('wrapper' => GetMessage('SALE_DH_RPF_WRP_TITLE'))); $aviableBoxes = self::getAviableBoxes(); foreach ($aviableBoxes as $boxId => $arBox) { CSaleDeliveryHelper::makeBoxConfig($boxId, $arBox, 'wrapper', $arConfig); } $arConfig['CONFIG']['tarif_section_1'] = array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_RPF_TARIFS'), 'GROUP' => 'wrapper'); $arTarifs = CSaleHelper::getOptionOrImportValues('delivery_rus_post_first_tarifs', array('CDeliveryRusPostFirst', 'getTarifsByRegionFromCsv'), array($arShopLocation)); foreach (self::$TARIFS as $arTarif) { $tarifId = $arTarif[self::$TARIF_IDX]; $arConfig['CONFIG']['TARIF_' . $tarifId] = array('TYPE' => 'STRING', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0', 'TITLE' => $arTarif[self::$TARIF_DESCR], 'GROUP' => 'wrapper'); } /* Additional services */ foreach (self::$SERVICES as $serviceId => $arService) { $tarifId = $arService[self::$TARIF_IDX]; $arConfig['CONFIG']['service_' . $tarifId . '_section'] = array('TYPE' => 'SECTION', 'TITLE' => $arService[self::$TARIF_DESCR], 'GROUP' => 'wrapper'); $arConfig['CONFIG']['service_' . $tarifId . '_enabled'] = array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_RPF_SRV_ALLOW'), 'GROUP' => 'wrapper', 'DEFAULT' => $serviceId == 'NOTIFICATION_REG' ? 'N' : 'Y', 'HIDE_BY_NAMES' => array('service_' . $tarifId . '_value')); $arConfig['CONFIG']['service_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RPF_SRV_PRICE'), 'GROUP' => 'wrapper', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); } return $arConfig; }
public static function getConfig($siteId = false) { $shopLocationId = CSaleHelper::getShopLocationId($siteId); $arShopLocation = CSaleLocation::GetByID($shopLocationId); $locString = strlen($arShopLocation["COUNTRY_NAME_LANG"]) > 0 ? $arShopLocation["COUNTRY_NAME_LANG"] : ""; $locString .= strlen($arShopLocation["REGION_NAME_LANG"]) > 0 ? (strlen($locString) > 0 ? ", " : "") . $arShopLocation["REGION_NAME_LANG"] : ""; $locString .= strlen($arShopLocation["CITY_NAME_LANG"]) > 0 ? (strlen($locString) > 0 ? ", " : "") . $arShopLocation["CITY_NAME_LANG"] : ""; $locDelivery = Adapter::mapLocation($shopLocationId); $arConfig = array('CONFIG_GROUPS' => array('exchange_sett' => GetMessage('SALE_DH_PECOM_EXCH_TITLE'), 'add_services' => GetMessage('SALE_DH_PECOM_ADD_SERVICES_TITLE'), 'auto' => GetMessage('SALE_DH_PECOM_AUTO_TITLE'), 'avia' => GetMessage('SALE_DH_PECOM_AVIA_TITLE')), "CONFIG" => array("LOGIN" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_LOGIN'), "GROUP" => "exchange_sett"), "KEY" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_KEY'), "GROUP" => "exchange_sett"), "NAME" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_NAME'), "GROUP" => "exchange_sett"), "INN" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_INN'), "GROUP" => "exchange_sett"), "CITY" => array("TYPE" => "TEXT_RO", "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_CITY'), "VALUE" => $locString, "GROUP" => "exchange_sett"), "CITY_DELIVERY" => array("TYPE" => "DROPDOWN", "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_CITY_DELIVERY'), "VALUES" => $locDelivery, "GROUP" => "exchange_sett"), "PHONE" => array("DEFAULT" => '', "TITLE" => GetMessage('SALE_DH_PECOM_EXCH_PHONE'), "GROUP" => "exchange_sett"), "PAYMENT_FORM" => array("TYPE" => "DROPDOWN", "DEFAULT" => self::$PAYER_BUYER, "TITLE" => GetMessage('SALE_DH_PECOM_AS_PAYMENT_FORM'), "GROUP" => "exchange_sett", "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYMENT_BANK'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYMENT_KASSA'))), "SERVICE_TAKE" => array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_TAKE'), 'GROUP' => 'add_services'), "SERVICE_TAKE_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_TAKE_ENABLE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'HIDE_BY_NAMES' => array('SERVICE_TAKE_TENT_ENABLED', 'SERVICE_TAKE_HYDRO_ENABLED')), "SERVICE_TAKE_TENT_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_TAKE_TENT'), 'GROUP' => 'add_services', 'DEFAULT' => ''), "SERVICE_TAKE_HYDRO_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_TAKE_HYDRO'), 'GROUP' => 'add_services', 'DEFAULT' => ''), "SERVICE_DELIVERY" => array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_DELIVERY'), 'GROUP' => 'add_services'), "SERVICE_DELIVERY_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_DELIVERY_ENABLE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'HIDE_BY_NAMES' => array('SERVICE_DELIVERY_TENT_ENABLED', 'SERVICE_DELIVERY_HYDRO_ENABLED', 'SERVICE_OTHER_DELIVERY_PAYER')), "SERVICE_DELIVERY_TENT_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_DELIVERY_TENT'), 'GROUP' => 'add_services', 'DEFAULT' => ''), "SERVICE_DELIVERY_HYDRO_ENABLED" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_DELIVERY_HYDRO'), 'GROUP' => 'add_services', 'DEFAULT' => ''), "SERVICE_OTHER_DELIVERY_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER'))), "SERVICE_OTHER" => array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER'), 'GROUP' => 'add_services'), "SERVICE_OTHER_PLOMBIR_ENABLE" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_PLOMBIR_ENABLE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'HIDE_BY_NAMES' => array('SERVICE_OTHER_PLOMBIR_COUNT', 'SERVICE_OTHER_PLOMBIR_PAYER')), "SERVICE_OTHER_PLOMBIR_COUNT" => array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_PLOMBIR_COUNT'), 'GROUP' => 'add_services', 'DEFAULT' => '0'), "SERVICE_OTHER_PLOMBIR_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER'))), "SERVICE_OTHER_PALLETE" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_PALLETE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'TOP_LINE' => 'Y', 'HIDE_BY_NAMES' => array('SERVICE_OTHER_PALLETE_PAYER')), "SERVICE_OTHER_PALLETE_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER'))), "SERVICE_OTHER_INSURANCE" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_INSURANCE'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'TOP_LINE' => 'Y', 'HIDE_BY_NAMES' => array('SERVICE_OTHER_INSURANCE_PAYER')), "SERVICE_OTHER_INSURANCE_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER'))), "SERVICE_OTHER_RIGID_PACKING" => array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_OTHER_RIGID_PACKING'), 'GROUP' => 'add_services', 'DEFAULT' => '', 'TOP_LINE' => 'Y', 'HIDE_BY_NAMES' => array('SERVICE_OTHER_RIGID_PAYER')), "SERVICE_OTHER_RIGID_PAYER" => array('TYPE' => 'DROPDOWN', 'TITLE' => GetMessage('SALE_DH_PECOM_AS_PAYER'), 'GROUP' => 'add_services', 'DEFAULT' => self::$PAYER_BUYER, "VALUES" => array(self::$PAYER_SHOP => GetMessage('SALE_DH_PECOM_AS_PAYER_SHOP'), self::$PAYER_BUYER => GetMessage('SALE_DH_PECOM_AS_PAYER_BUYER'))))); $aviableBoxes = self::getAviableBoxes(); foreach ($aviableBoxes as $boxId => $arBox) { CSaleDeliveryHelper::makeBoxConfig($boxId, $arBox, 'auto', $arConfig); CSaleDeliveryHelper::makeBoxConfig($boxId, $arBox, 'avia', $arConfig); } return $arConfig; }
function Calculate($profile, $arConfig, $arOrder, $STEP, $TEMP = false) { $arPacks = CSaleDeliveryHelper::getBoxesFromConfig($profile, $arConfig); $arPackagesParams = CSaleDeliveryHelper::getRequiredPacks($arOrder["ITEMS"], $arPacks, self::$MAX_WEIGHT); $packageCount = count($arPackagesParams); if (intval($packageCount) <= 0) { return array("RESULT" => "ERROR", "TEXT" => GetMessage("SALE_DH_KP_OVERLOAD")); } $totalPrice = 0; $shopLocationId = CSaleHelper::getShopLocationId(SITE_ID); $arShopLocation = CSaleLocation::GetByID($shopLocationId); $arLocationTo = CSaleLocation::GetByID($arOrder['LOCATION_TO']); foreach ($arPackagesParams as $arPackage) { $totalPrice += self::calculatePackPrice($arPackage, $profile, $arConfig, $arShopLocation['REGION_ID'], $arLocationTo['REGION_ID']); } $arResult = array('RESULT' => 'OK', 'VALUE' => $totalPrice, 'PACKS_COUNT' => $packageCount); return $arResult; }
function GetConfig($siteId = false) { global $APPLICATION; $shopLocationId = CSaleHelper::getShopLocationId($siteId); $arShopLocation = \CSaleHelper::getLocationByIdHitCached($shopLocationId); if (!$arShopLocation) { $arShopLocation = array(); } if (isset($_REQUEST["SET_DEFAULT_TARIF_ZONES"]) && $_REQUEST["SET_DEFAULT_TARIF_ZONES"] == "Y") { Option::delete('sale', array('name' => 'delivery_rus_post_prev_loc')); } $shopPrevLocationId = Option::get('sale', 'delivery_rus_post_prev_loc', ""); /* if shop's location was changed */ if (strlen($shopPrevLocationId) <= 0 || $shopPrevLocationId != $shopLocationId) { Option::set('sale', 'delivery_rus_post_prev_loc', $shopLocationId); Option::delete('sale', array('name' => 'delivery_regs_to_zones')); Option::delete('sale', array('name' => 'delivery_rus_post_tarifs')); } $arConfig = array('CONFIG_GROUPS' => array('zones' => GetMessage('SALE_DH_RP_CONFIG_GROUP_ZONES'), 'tarifs' => GetMessage('SALE_DH_RP_CONFIG_GROUP_TARIFS'), 'land' => GetMessage('SALE_DH_RP_CONFIG_GROUP_LAND'), 'avia' => GetMessage('SALE_DH_RP_CONFIG_GROUP_AVIA'))); // Zones tab $arRegions = CSaleDeliveryHelper::getRegionsList(); $arZones = array(); $arZones[0] = GetMessage('SALE_DH_RP_CONFIG_ZONES_EMPTY'); for ($i = 1; $i <= self::$ZONES_COUNT; $i++) { $arZones[$i] = GetMessage('SALE_DH_RP_CONFIG_ZONE') . ' ' . $i; } $arRegsToZones = CSaleHelper::getOptionOrImportValues('delivery_regs_to_zones', array('CDeliveryRusPost', 'importZonesFromCsv'), array($arShopLocation)); $arConfig['CONFIG']['SET_DEFAULT_TARIF_ZONES'] = array('TYPE' => 'CUSTOM', 'TITLE' => GetMessage('SALE_DH_RP_SET_DEFAULT_TARIF_ZONES'), 'GROUP' => 'zones', 'DEFAULT' => '<a href="' . $APPLICATION->GetCurPageParam('', array('SET_DEFAULT_TARIF_ZONES')) . '&SET_DEFAULT_TARIF_ZONES=Y">' . GetMessage('SALE_DH_RP_SET_DEFAULT_TARIF_ZONES_SET') . '</a>'); foreach ($arRegions as $regId => $regName) { $codeByName = self::getRegionCodeByOldName($regName); // old location $code = strlen($codeByName) > 0 ? $codeByName : $regId; if (isset($arRegsToZones[$code])) { $arConfig['CONFIG']['REG_' . $code] = array('TYPE' => 'DROPDOWN', 'DEFAULT' => isset($arRegsToZones[$code]) ? $arRegsToZones[$code] : '0', 'TITLE' => $regName, 'GROUP' => 'zones', 'VALUES' => $arZones); } } /* tarifs tab 1. land 1.1. Base Price */ $arConfig['CONFIG']['tarif_section_1'] = array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_RP_WEIGHT_LESS'), 'GROUP' => 'tarifs'); $arTarifs = CSaleHelper::getOptionOrImportValues('delivery_rus_post_tarifs', array('CDeliveryRusPost', 'getTarifsByRegionFromCsv'), array($arShopLocation)); foreach ($arZones as $zoneId => $zoneName) { if ($zoneId <= 0) { continue; } $tarifId = self::$TARIF_LESS_500[$zoneId]; $arConfig['CONFIG']['ZONE_RATE_MAIN_' . $zoneId] = array('TYPE' => 'STRING', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0', 'TITLE' => $zoneName, 'GROUP' => 'tarifs'); } $arConfig['CONFIG']['tarif_section_2'] = array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_RP_WEIGHT_MORE'), 'GROUP' => 'tarifs'); foreach ($arZones as $zoneId => $zoneName) { if ($zoneId <= 0) { continue; } $tarifId = self::$TARIF_MORE_500[$zoneId]; $arConfig['CONFIG']['ZONE_RATE_ADD_' . $zoneId] = array('TYPE' => 'STRING', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0', 'TITLE' => $zoneName, 'GROUP' => 'tarifs'); } /* Additional services */ $arConfig['CONFIG']['tarif_add_services'] = array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_RP_ADD_SRV'), 'GROUP' => 'tarifs'); /* 1.2 Service heavy weight 10 - 20 kg */ $tarifId = self::$TARIF_HEAVY_WEIGHT; $arConfig['CONFIG']['service_' . $tarifId . '_enabled'] = array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_RP_SRV_HEAVY'), 'GROUP' => 'tarifs', 'DEFAULT' => 'Y', 'HIDE_BY_NAMES' => array('service_' . $tarifId . '_value')); $arConfig['CONFIG']['service_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_SRV_HEAVY_VAL') . ' %', 'GROUP' => 'tarifs', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); /* 1.5 Service fragile */ $tarifId = self::$TARIF_FRAGILE; $arConfig['CONFIG']['service_' . $tarifId . '_enabled'] = array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_RP_SRV_FRGL'), 'GROUP' => 'tarifs', 'DEFAULT' => 'Y', 'HIDE_BY_NAMES' => array('service_' . $tarifId . '_value'), 'TOP_LINE' => 'Y'); $arConfig['CONFIG']['service_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_SRV_FRGL_VAL') . ' %', 'GROUP' => 'tarifs', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); /* 4. Service declared value */ $tarifId = self::$TARIF_DECLARED_VAL; $arConfig['CONFIG']['service_' . $tarifId . '_enabled'] = array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_RP_SRV_DECL'), 'GROUP' => 'tarifs', 'DEFAULT' => 'Y', 'HIDE_BY_NAMES' => array('service_' . $tarifId . '_value'), 'TOP_LINE' => 'Y'); $arConfig['CONFIG']['service_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_SRV_DECL_VAL'), 'GROUP' => 'tarifs', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); // land tab $aviableBoxes = self::getAviableBoxes(); foreach ($aviableBoxes as $boxId => $arBox) { CSaleDeliveryHelper::makeBoxConfig($boxId, $arBox, 'land', $arConfig); } /* 2.1 avia tab*/ foreach ($aviableBoxes as $boxId => $arBox) { CSaleDeliveryHelper::makeBoxConfig($boxId, $arBox, 'avia', $arConfig); } $tarifId = self::$TARIF_AVIA_STANDART; $arConfig['CONFIG']['tarif_avia_services'] = array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_RP_TARIFS_AVIA'), 'GROUP' => 'avia'); $arConfig['CONFIG']['tarif_avia_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_TARIF_AVIA_STNDRT'), 'GROUP' => 'avia', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); $tarifId = self::$TARIF_AVIA_HEAVY; $arConfig['CONFIG']['tarif_avia_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_TARIF_AVIA_HEAVY'), 'GROUP' => 'avia', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); return $arConfig; }
public static function GetConfig($siteId = false) { $shopLocationId = CSaleHelper::getShopLocationId($siteId); $arShopLocation = CSaleLocation::GetByID($shopLocationId); $shopPrevLocationId = COption::GetOptionString('sale', 'delivery_rus_post_prev_loc', 0); /* if shop's location was changed */ if ($shopPrevLocationId != $shopLocationId) { COption::SetOptionString('sale', 'delivery_rus_post_prev_loc', $shopLocationId); COption::RemoveOption('sale', 'delivery_regs_to_zones'); COption::RemoveOption('sale', 'delivery_rus_post_tarifs'); } $arConfig = array('CONFIG_GROUPS' => array('zones' => GetMessage('SALE_DH_RP_CONFIG_GROUP_ZONES'), 'tarifs' => GetMessage('SALE_DH_RP_CONFIG_GROUP_TARIFS'), 'land' => GetMessage('SALE_DH_RP_CONFIG_GROUP_LAND'), 'avia' => GetMessage('SALE_DH_RP_CONFIG_GROUP_AVIA'))); // Zones tab $arRegions = CSaleDeliveryHelper::getRegionsList(); $arZones = array(); $arZones[0] = GetMessage('SALE_DH_RP_CONFIG_ZONES_EMPTY'); for ($i = 1; $i <= self::$ZONES_COUNT; $i++) { $arZones[$i] = GetMessage('SALE_DH_RP_CONFIG_ZONE') . ' ' . $i; } $arRegsToZones = CSaleHelper::getOptionOrImportValues('delivery_regs_to_zones', array('CDeliveryRusPost', 'importZonesFromCsv'), array($arShopLocation['REGION_NAME_LANG'])); foreach ($arRegions as $regId => $regName) { $arConfig['CONFIG']['REG_' . $regId] = array('TYPE' => 'DROPDOWN', 'DEFAULT' => isset($arRegsToZones[$regId]) ? $arRegsToZones[$regId] : '0', 'TITLE' => $regName, 'GROUP' => 'zones', 'VALUES' => $arZones); } /* tarifs tab 1. land 1.1. Base Price */ $arConfig['CONFIG']['tarif_section_1'] = array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_RP_WEIGHT_LESS'), 'GROUP' => 'tarifs'); $arTarifs = CSaleHelper::getOptionOrImportValues('delivery_rus_post_tarifs', array('CDeliveryRusPost', 'getTarifsByRegionFromCsv'), array($arShopLocation['REGION_NAME_LANG'])); foreach ($arZones as $zoneId => $zoneName) { if ($zoneId <= 0) { continue; } $tarifId = self::$TARIF_LESS_500[$zoneId]; $arConfig['CONFIG']['ZONE_RATE_MAIN_' . $zoneId] = array('TYPE' => 'STRING', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0', 'TITLE' => $zoneName, 'GROUP' => 'tarifs'); } $arConfig['CONFIG']['tarif_section_2'] = array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_RP_WEIGHT_MORE'), 'GROUP' => 'tarifs'); foreach ($arZones as $zoneId => $zoneName) { if ($zoneId <= 0) { continue; } $tarifId = self::$TARIF_MORE_500[$zoneId]; $arConfig['CONFIG']['ZONE_RATE_ADD_' . $zoneId] = array('TYPE' => 'STRING', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0', 'TITLE' => $zoneName, 'GROUP' => 'tarifs'); } /* Additional services */ $arConfig['CONFIG']['tarif_add_services'] = array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_RP_ADD_SRV'), 'GROUP' => 'tarifs'); /* 1.2 Service heavy weight 10 - 20 kg */ $tarifId = self::$TARIF_HEAVY_WEIGHT; $arConfig['CONFIG']['service_' . $tarifId . '_enabled'] = array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_RP_SRV_HEAVY'), 'GROUP' => 'tarifs', 'DEFAULT' => 'Y', 'HIDE_BY_NAMES' => array('service_' . $tarifId . '_value')); $arConfig['CONFIG']['service_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_SRV_HEAVY_VAL') . ' %', 'GROUP' => 'tarifs', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); /* 1.5 Service fragile */ $tarifId = self::$TARIF_FRAGILE; $arConfig['CONFIG']['service_' . $tarifId . '_enabled'] = array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_RP_SRV_FRGL'), 'GROUP' => 'tarifs', 'DEFAULT' => 'Y', 'HIDE_BY_NAMES' => array('service_' . $tarifId . '_value'), 'TOP_LINE' => 'Y'); $arConfig['CONFIG']['service_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_SRV_FRGL_VAL') . ' %', 'GROUP' => 'tarifs', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); /* 4. Service declared value */ $tarifId = self::$TARIF_DECLARED_VAL; $arConfig['CONFIG']['service_' . $tarifId . '_enabled'] = array('TYPE' => 'CHECKBOX', 'TITLE' => GetMessage('SALE_DH_RP_SRV_DECL'), 'GROUP' => 'tarifs', 'DEFAULT' => 'Y', 'HIDE_BY_NAMES' => array('service_' . $tarifId . '_value'), 'TOP_LINE' => 'Y'); $arConfig['CONFIG']['service_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_SRV_DECL_VAL'), 'GROUP' => 'tarifs', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); // land tab $aviableBoxes = self::getAviableBoxes(); foreach ($aviableBoxes as $boxId => $arBox) { CSaleDeliveryHelper::makeBoxConfig($boxId, $arBox, 'land', $arConfig); } /* 2.1 avia tab*/ foreach ($aviableBoxes as $boxId => $arBox) { CSaleDeliveryHelper::makeBoxConfig($boxId, $arBox, 'avia', $arConfig); } $tarifId = self::$TARIF_AVIA_STANDART; $arConfig['CONFIG']['tarif_avia_services'] = array('TYPE' => 'SECTION', 'TITLE' => GetMessage('SALE_DH_RP_TARIFS_AVIA'), 'GROUP' => 'avia'); $arConfig['CONFIG']['tarif_avia_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_TARIF_AVIA_STNDRT'), 'GROUP' => 'avia', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); $tarifId = self::$TARIF_AVIA_HEAVY; $arConfig['CONFIG']['tarif_avia_' . $tarifId . '_value'] = array('TYPE' => 'STRING', 'TITLE' => GetMessage('SALE_DH_RP_TARIF_AVIA_HEAVY'), 'GROUP' => 'avia', 'DEFAULT' => isset($arTarifs[$tarifId]) ? $arTarifs[$tarifId] : '0'); return $arConfig; }