Example #1
0
 public static function Convert($value, $measureFrom, $measureTo = "G")
 {
     if (!is_numeric($value)) {
         return false;
     }
     if (!($arMeasurementsTable = CSaleMeasure::GetList())) {
         return false;
     }
     if (is_set($arMeasurementsTable, $measureFrom) && is_set($arMeasurementsTable, $measureTo)) {
         return $value * $arMeasurementsTable[$measureFrom]['KOEF'] / $arMeasurementsTable[$measureTo]['KOEF'];
     } else {
         return false;
     }
 }
Example #2
0
 public static function Calculate($profile, $arConfig, $arOrder, $STEP, $TEMP = false)
 {
     $arOrder["WEIGHT"] = CSaleMeasure::Convert($arOrder["WEIGHT"], "G", "KG");
     $arLocationTo = CSaleLocation::GetByID($arOrder["LOCATION_TO"]);
     if (LANGUAGE_ID !== 'en') {
         $arCountry = CSaleLocation::GetCountryLangByID($arLocationTo['COUNTRY_ID'], 'en');
         if (false !== $arCountry) {
             $arLocationTo['COUNTRY_NAME_LANG'] = $arCountry['NAME'];
         }
     }
     CDeliveryUPS::__GetLocation($arLocationTo, $arConfig);
     $arPriceTable = CDeliveryUPS::__GetExport($arConfig["export_csv"]["VALUE"]);
     $arZones = CDeliveryUPS::__GetZones($zones_file);
     reset($arPriceTable);
     do {
         list($key, $arZoneTable) = each($arPriceTable[$profile]);
     } while ($key && doubleval($arOrder["WEIGHT"]) > doubleval($key));
     $zone = $arZones[$arLocationTo["COUNTRY_SID"]][$profile == "express_saver" ? 1 : 2];
     $sum = $arPriceTable[$profile][$key][$zone];
     return array("RESULT" => "OK", "VALUE" => $sum);
 }
 function Calculate($profile, $arConfig, $arOrder, $STEP, $TEMP = false)
 {
     if ($STEP >= 3) {
         return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_RUSSIANPOST_ERROR_CONNECT'));
     }
     if ($arOrder["WEIGHT"] <= 0) {
         $arOrder["WEIGHT"] = 1;
     }
     $arLocationFrom = CDeliveryRUSSIANPOST::__GetLocation($arOrder["LOCATION_FROM"]);
     if ($arOrder['LOCATION_ZIP']) {
         $arLocationTo = CDeliveryRUSSIANPOST::__GetLocation($arOrder["LOCATION_TO"]);
         $arLocationTo['ZIP'] = array(0 => $arOrder['LOCATION_ZIP']);
     } else {
         $arLocationTo = CDeliveryRUSSIANPOST::__GetLocation($arOrder["LOCATION_TO"], true);
     }
     $zip = COption::GetOptionString('sale', 'location_zip');
     if (strlen($zip) > 0) {
         $arLocationFrom["ZIP"] = array(0 => $zip);
     }
     if ($arLocationTo["IS_RUSSIAN"] == 'Y' && count($arLocationTo["ZIP"]) <= 0) {
         return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_RUSSIANPOST_ERROR_NOZIP'));
     }
     $cache_id = "sale|8.0.3|russianpost|" . $profile . "|" . $arConfig["category"]["VALUE"] . "|" . $arOrder["LOCATION_FROM"] . "|" . ($arLocationTo["IS_RUSSIAN"] == 'Y' ? $arLocationTo["ZIP"][0] : $arOrder["LOCATION_TO"]);
     if (in_array($arConfig["category"]["VALUE"], array(23, 12, 13, 26, 16))) {
         $cache_id .= "|" . ceil(CSaleMeasure::Convert($arOrder["WEIGHT"], "G", "KG") / 0.5);
     } else {
         $cache_id .= "|" . ceil(CSaleMeasure::Convert($arOrder["WEIGHT"], "G", "KG") / 500);
     }
     $obCache = new CPHPCache();
     if ($obCache->InitCache(DELIVERY_RUSSIANPOST_CACHE_LIFETIME, $cache_id, "/")) {
         $vars = $obCache->GetVars();
         $result = $vars["RESULT"];
         // only these delivery types have insurance tax of 3% or 4% from price
         if (in_array($arConfig["category"]["VALUE"], array(26, 16))) {
             $result += $arOrder["PRICE"] * DELIVERY_RUSSIANPOST_PRICE_TARIFF;
         } elseif ($arConfig["category"]["VALUE"] == 36) {
             $result += $arOrder["PRICE"] * DELIVERY_RUSSIANPOST_PRICE_TARIFF_1;
         }
         return array("RESULT" => "OK", "VALUE" => $result);
     }
     $arQuery = array();
     $arProfile = array("ground" => 1, "avia" => 2);
     if ($arLocationTo["IS_RUSSIAN"] == "Y") {
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_CATEGORY . "=" . urlencode($arConfig["category"]["VALUE"]);
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_CATEGORY_NAME . "=" . urlencode(GetMessage("SALE_DH_RUSSIANPOST_CONFIG_CATEGORY_" . $arConfig["category"]["VALUE"]));
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_PROFILE . "=" . urlencode($arProfile[$profile]);
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_PROFILE_NAME . '=' . urlencode(GetMessage("SALE_DH_RUSSIANPOST_" . ToUpper($profile)));
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_COUNTRY . "=643";
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_COUNTRY_NAME . '=' . urlencode($GLOBALS['APPLICATION']->ConvertCharset('Российская Федерация', LANG_CHARSET, 'utf-8'));
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_WEIGHT . "=" . urlencode($arOrder["WEIGHT"]);
         // price does not affect on half of delivery types. others have 3% or 4% insurance tax which is ignored here for caching and used later.
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_PRICE . "=0";
         // if (!in_array($arConfig["category"]["VALUE"], array(26, 36, 16)))
         // {
         // $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_PRICE."=".urlencode(round($arOrder["PRICE"]));
         // }
         // else
         // {
         // $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_PRICE."=0";
         // }
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_ZIP . "=" . urlencode($arLocationTo["ZIP"][0]);
     } else {
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_CATEGORY . "=" . urlencode($arConfig["category"]["VALUE"]);
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_CATEGORY_NAME . "=" . urlencode(GetMessage("SALE_DH_RUSSIANPOST_CONFIG_CATEGORY_" . $arConfig["category"]["VALUE"]));
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_PROFILE . "=" . urlencode($arProfile[$profile]);
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_PROFILE_NAME . '=' . urlencode(GetMessage("SALE_DH_RUSSIANPOST_" . ToUpper($profile)));
         $arCountry = CDeliveryRUSSIANPOST::__GetCountry($arLocationTo);
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_COUNTRY . "=" . urlencode($arCountry["ID"]);
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_COUNTRY_NAME . "=" . urlencode($GLOBALS['APPLICATION']->ConvertCharset($arCountry["NAME"], LANG_CHARSET, 'utf-8'));
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_WEIGHT . "=" . urlencode($arOrder["WEIGHT"]);
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_PRICE . "=0";
         $arQuery[] = DELIVERY_RUSSIANPOST_SERVER_POST_ZIP . "=0";
     }
     $data = QueryGetData(DELIVERY_RUSSIANPOST_SERVER, DELIVERY_RUSSIANPOST_SERVER_PORT, DELIVERY_RUSSIANPOST_SERVER_PAGE, implode("&", $arQuery), $error_number = 0, $error_text = "", DELIVERY_RUSSIANPOST_SERVER_METHOD);
     $data = $GLOBALS['APPLICATION']->ConvertCharset($data, 'utf-8', LANG_CHARSET);
     CDeliveryRUSSIANPOST::__Write2Log($error_number . ": " . $error_text);
     CDeliveryRUSSIANPOST::__Write2Log($data);
     if (strlen($data) <= 0) {
         return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_RUSSIANPOST_ERROR_CONNECT'));
     }
     if (strstr($data, DELIVERY_RUSSIANPOST_VALUE_CAPTHA_STRING)) {
         $cResult = preg_match(DELIVERY_RUSSIANPOST_CAPTHA_REGEXP, $data, $matches);
         $arCode = array();
         $arCode["key"] = IntVal($matches[1]);
         $data = QueryGetData(DELIVERY_RUSSIANPOST_SERVER, DELIVERY_RUSSIANPOST_SERVER_PORT, DELIVERY_RUSSIANPOST_SERVER_PAGE, implode("&", $arCode), $error_number = 0, $error_text = "", DELIVERY_RUSSIANPOST_SERVER_METHOD_CAPTHA);
     }
     if (strstr($data, DELIVERY_RUSSIANPOST_VALUE_CHECK_STRING)) {
         $bResult = preg_match(DELIVERY_RUSSIANPOST_VALUE_CHECK_REGEXP_RUS, $data, $matches);
         // both regexps must be checked! it's not only for russian and non-russian
         if (!$bResult) {
             $bResult = preg_match(DELIVERY_RUSSIANPOST_VALUE_CHECK_REGEXP, $data, $matches);
         }
         if ($bResult) {
             $obCache->StartDataCache();
             $result = $matches[1];
             $result = str_replace(array(" ", ","), array("", "."), $result);
             $result = doubleval($result);
             $obCache->EndDataCache(array("RESULT" => $result));
             // only these delivery types have insurance tax of 3% or 4% from price
             if (in_array($arConfig["category"]["VALUE"], array(36, 16))) {
                 $result += $arOrder["PRICE"] * DELIVERY_RUSSIANPOST_PRICE_TARIFF;
             } elseif ($arConfig["category"]["VALUE"] == 26) {
                 $result += $arOrder["PRICE"] * DELIVERY_RUSSIANPOST_PRICE_TARIFF_1;
             }
             return array("RESULT" => "OK", "VALUE" => $result);
         } else {
             return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_RUSSIANPOST_ERROR_RESPONSE'));
         }
     } else {
         return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_RUSSIANPOST_ERROR_RESPONSE'));
     }
 }
 function Calculate($profile, $arConfig, $arOrder, $STEP, $TEMP = false)
 {
     $arLocationFrom = CDeliveryDHLUSA::__GetLocation($arOrder['LOCATION_FROM']);
     $arLocationTo = CDeliveryDHLUSA::__GetLocation($arOrder['LOCATION_TO']);
     $location_from_zip = COption::GetOptionString('sale', 'location_zip');
     if ($location_from_zip) {
         $arLocationFrom['ZIP_LIST'] = array($location_from_zip);
     }
     $arOrder["WEIGHT"] = CSaleMeasure::Convert($arOrder["WEIGHT"], "G", "LBS");
     if ($arOrder["WEIGHT"] <= 0) {
         $arOrder["WEIGHT"] = 0.1;
     }
     // weight must not be null - let it be 1 gramm
     $cache_id = "dhl_usa" . "|" . $arConfig["category"]['VALUE'] . "|" . $arOrder["LOCATION_FROM"] . "|" . $location_from_zip . "|" . $arOrder["LOCATION_TO"] . "|" . intval($arOrder['WEIGHT']);
     $obCache = new CPHPCache();
     if ($obCache->InitCache(DELIVERY_DHL_USA_CACHE_LIFETIME, $cache_id, "/")) {
         // cache found
         $vars = $obCache->GetVars();
         $result = $vars["RESULT"];
         $transit_time = $vars["TRANSIT"];
         return array("RESULT" => "OK", "VALUE" => $result, "TRANSIT" => $transit_time);
     }
     // format HTTP query request data
     $arQuery = array('userStatus' => 'NON_AUTHENTICATED_USER', 'customerType' => 'P', 'ratesType' => 'book', 'rateSuppressed' => 'N', 'CLIENT' => 'CLASS_NAME_P', 'CALLING_JSP' => '/jsp/ratesQuery.jsp', 'INTGRTDSURVEY' => 'false', 'totalPieces' => '1', 'packagesPerMonth' => '');
     $arQuery['originCountryCode'] = 'US';
     $arQuery['originZip'] = $arLocationFrom['ZIP_LIST'][0];
     $arQuery['destinationCountry'] = $arLocationTo['COUNTRY_DHLUSA'];
     $arQuery['destinationCountryName'] = $arLocationTo['COUNTRY_NAME'];
     $arQuery['destinationCity'] = $arLocationTo['CITY_NAME'];
     $arQuery['destinationZip'] = $arLocationTo['ZIP_LIST'][0];
     $timestamp = strtotime(date('Y-m-d'));
     $timestamp = strtotime('+1 day', $timestamp);
     // holidays list - http://www.dhl-usa.com/USSvcs/USSvcsHDay.asp?nav=FindServInfo/USHol
     $y = date('Y');
     $arHolidaysList = array(strtotime($y . '-01-01'), strtotime($y . '-05-28'), strtotime($y . '-06-04'), strtotime($y . '-09-03'), strtotime($y . '-11-22'), strtotime($y . '-12-25'));
     while (date('N', $timestamp) > 5 || in_array($timestamp, $arHolidaysList)) {
         $timestamp += 86400;
     }
     $arQuery['shipDate'] = date('d F, Y', $timestamp);
     $arQuery['pkgType'] = $arConfig['package_type']['VALUE'];
     $arQuery['packagingType'] = $arConfig['package_type']['VALUE'];
     $arQuery['packageWeight'] = $arOrder['WEIGHT'];
     $arQuery['dmnLength'] = '';
     $arQuery['dmnWidth'] = '';
     $arQuery['dmnHeight'] = '';
     $arQuery['dutiableFlag'] = 'N';
     // !!!!!!
     foreach ($arQuery as $key => $value) {
         $arQuery[$key] = urlencode($key) . '=' . urlencode($value);
     }
     CDeliveryDHLUSA::__Write2Log(print_r($arQuery, true));
     CDeliveryDHLUSA::__Write2Log(implode('&', $arQuery));
     // get data from server
     $data = QueryGetData(DELIVERY_DHL_USA_SERVER, DELIVERY_DHL_USA_SERVER_PORT, DELIVERY_DHL_USA_SERVER_PAGE, implode("&", $arQuery), $error_number = 0, $error_text = "", DELIVERY_DHL_USA_SERVER_METHOD);
     CDeliveryDHLUSA::__Write2Log($data);
     if (strlen($data) <= 0) {
         return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_DHL_USA_ERROR_CONNECT'));
     }
     if (strstr($data, DELIVERY_DHL_USA_VALUE_CHECK_STRING)) {
         // first check string found
         if (preg_match(DELIVERY_DHL_USA_VALUE_CHECK_REGEXP, $data, $matches)) {
             $obCache->StartDataCache();
             // final price found
             $result = $matches[1];
             $result = preg_replace('/\\s/', '', $result);
             $result = str_replace(',', '.', $result);
             $result = doubleval($result);
             $matches = array();
             $transit_time = 0;
             if (preg_match(DELIVERY_DHL_USA_TIME_CHECK_REGEXP, $data, $matches)) {
                 $transit_time = intval($matches[1]);
             }
             $obCache->EndDataCache(array("RESULT" => $result, "TRANSIT" => $transit_time));
             return array("RESULT" => "OK", "VALUE" => $result, "TRANSIT" => $transit_time);
         } else {
             return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_DHL_USA_ERROR_RESPONSE'));
         }
     }
     return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_DHL_USA_ERROR_RESPONSE'));
 }
 function Calculate($profile, $arConfig, $arOrder, $STEP)
 {
     if ($STEP >= 3) {
         return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_CPCR_ERROR_CONNECT'));
     }
     $arOrder["WEIGHT"] = CSaleMeasure::Convert($arOrder["WEIGHT"], "G", "KG");
     if ($arOrder["WEIGHT"] <= 0) {
         $arOrder["WEIGHT"] = 1;
     }
     // weight must not be null - let it be 1 kg
     $arLocationFrom = CDeliveryCPCR::__GetLocation($arOrder["LOCATION_FROM"]);
     $arLocationTo = CDeliveryCPCR::__GetLocation($arOrder["LOCATION_TO"]);
     // caching is dependent from category, locations "from" & "to" and from weight interval
     $cache_id = "sale3|9.5.0|cpcr|" . $arConfig["category"]['VALUE'] . "|" . $arLocationFrom["ORIGINAL"]["COUNTRY_ID"] . "|" . $arLocationFrom["ORIGINAL"]["CITY_ID"] . "|" . $arLocationTo["ORIGINAL"]["COUNTRY_ID"] . "|" . $arLocationTo["ORIGINAL"]["CITY_ID"];
     if ($arOrder["WEIGHT"] <= 0.5) {
         $cache_id .= "|0";
     } elseif ($arOrder["WEIGHT"] <= 1) {
         $cache_id .= "|1";
     } else {
         $cache_id .= "|" . ceil($arOrder["WEIGHT"]);
     }
     // other intervals - up to next natural number
     $obCache = new CPHPCache();
     if ($obCache->InitCache(DELIVERY_CPCR_CACHE_LIFETIME, $cache_id, "/")) {
         // cache found
         $vars = $obCache->GetVars();
         $arResult = $vars["RESULT"];
     } else {
         // format HTTP query request data
         $arQuery = array();
         $arQuery[] = DELIVERY_CPCR_SERVER_POST_FROM_COUNTRY . "=" . urlencode($arLocationFrom["COUNTRY"]);
         if (is_set($arLocationFrom["CITY_ID"])) {
             $arQuery[] = DELIVERY_CPCR_SERVER_POST_FROM_CITY . "=" . urlencode($arLocationFrom["CITY_ID"]);
         } else {
             $arQuery[] = DELIVERY_CPCR_SERVER_POST_FROM_CITY_NAME . "=" . urlencode($GLOBALS['APPLICATION']->ConvertCharset($arLocationFrom["CITY"], LANG_CHARSET, 'windows-1251'));
         }
         $arQuery[] = DELIVERY_CPCR_SERVER_POST_WEIGHT . "=" . urlencode($arOrder["WEIGHT"]);
         $arQuery[] = DELIVERY_CPCR_SERVER_POST_CATEGORY . "=" . "1";
         //urlencode($arConfig["category"]["VALUE"]);
         // price coefficient will be added later - to make caching independent from price
         $arQuery[] = DELIVERY_CPCR_SERVER_POST_PRICE . "=0";
         $arQuery[] = DELIVERY_CPCR_SERVER_POST_TO_COUNTRY . "=" . urlencode($arLocationTo["COUNTRY"]);
         /*
         if (is_set($arLocationTo["REGION"]))
         	$arQuery[] = DELIVERY_CPCR_SERVER_POST_TO_REGION."=".urlencode($arLocationTo["REGION"]);
         else
         	$arQuery[] = DELIVERY_CPCR_SERVER_POST_TO_REGION."=".urlencode(DELIVERY_CPCR_CITY_DEFAULT);
         */
         if (is_set($arLocationTo["CITY_ID"])) {
             $arQuery[] = DELIVERY_CPCR_SERVER_POST_TO_CITY . "=" . urlencode($arLocationTo["CITY_ID"]);
         } else {
             $arQuery[] = DELIVERY_CPCR_SERVER_POST_TO_CITY_NAME . "=" . urlencode($GLOBALS['APPLICATION']->ConvertCharset($arLocationTo["CITY"], LANG_CHARSET, 'windows-1251'));
         }
         CDeliveryCPCR::__Write2Log(print_r($arLocationTo, true));
         $arQuery[] = DELIVERY_CPCR_SERVER_POST_ADDITIONAL;
         $query_string = implode("&", $arQuery);
         $query_page = DELIVERY_CPCR_SERVER_PAGE;
         // get data from server
         $ob = new CHTTP();
         $ob->http_timeout = 50;
         $data = $ob->Query(DELIVERY_CPCR_SERVER_METHOD, DELIVERY_CPCR_SERVER, DELIVERY_CPCR_SERVER_PORT, $query_page . (DELIVERY_CPCR_SERVER_METHOD == 'GET' ? (strpos($query_page, '?') === false ? '?' : '&') . $query_string : ''), DELIVERY_CPCR_SERVER_METHOD == 'POST' ? $query_string : false);
         if ($data) {
             $data = $GLOBALS["APPLICATION"]->ConvertCharset($ob->result, 'windows-1251', LANG_CHARSET);
         }
         CDeliveryCPCR::__Write2Log($query_page);
         CDeliveryCPCR::__Write2Log($query_string);
         CDeliveryCPCR::__Write2Log($error_number . ": " . $error_text);
         CDeliveryCPCR::__Write2Log($data);
         if (strpos($data, "<?xml") === false) {
             return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_CPCR_ERROR_CONNECT'));
         }
         require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/classes/general/xml.php";
         $objXML = new CDataXML();
         $objXML->LoadString($data);
         $arResult = $objXML->GetArray();
         $arProfiles = array('SIMPLE' => '"цеоюпд-щйяопеяя"', 'ECONOM' => '"оекхйюм-ярюмдюпр"', 'SIMPLE13' => '"цеоюпд-щйяопеяя 13"', 'SIMPLE18' => '"цеоюпд-щйяопеяя 18"', 'BIZON' => '"ахгнм-йюпцн"', 'COLIBRI' => '"йнкхапх-днйслемр"', 'PELICAN' => '"оекхйюм-нмкюим"', 'FRAXT' => '"тпюур"');
         $arTmpResult = array();
         if (isset($arResult["root"]["#"]["Error"]) and is_array($arResult["root"]["#"]["Error"])) {
             return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_CPCR_ERROR_CONNECT') . ' (' . htmlspecialcharsbx(strip_tags($arResult["root"]["#"]["Tariff"][0]["#"]["TariffType"][0]["#"])) . ')');
         } else {
             if (!empty($arResult["root"]["#"]["Tariff"])) {
                 foreach ($arResult["root"]["#"]["Tariff"] as $key => $val) {
                     foreach ($val["#"] as $k => $v) {
                         foreach ($arProfiles as $prof => $title) {
                             if (ToUpper($v[0]["#"]) == ToUpper($title)) {
                                 $arTmpResult[ToLower($prof)] = array('VALUE' => $val["#"]["Total_Dost"][0]["#"], 'TRANSIT' => $val["#"]["DP"][0]["#"]);
                                 unset($arProfiles[$prof]);
                                 break;
                             }
                         }
                     }
                 }
             }
             $arResult = $arTmpResult;
             if (count($arTmpResult) > 0) {
                 $obCache->StartDataCache();
                 $obCache->EndDataCache(array("RESULT" => $arResult));
             } else {
                 return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_CPCR_ERROR_CONNECT'));
             }
         }
     }
     if (is_array($arResult[$profile])) {
         $arResult[$profile]['RESULT'] = 'OK';
         // it's starnge but it seems that CPCR new calculator doesnt count insurance tax at all. so, temporarily comment this line.
         // TODO: check this later
         //$arResult[$profile]['VALUE'] += $arOrder["PRICE"] * DELIVERY_CPCR_PRICE_TARIFF
         return $arResult[$profile];
     } else {
         return array("RESULT" => "ERROR", "TEXT" => GetMessage('SALE_DH_CPCR_ERROR_RESPONSE'));
     }
 }
Example #6
0
				<td align="center" colspan="2"><?php 
        echo GetMessage("SMO_PAR_SITE_PARAMETERS");
        ?>
</td>
			</tr>
			<tr>
				<td width="40%" class="adm-detail-content-cell-l"><?php 
        echo GetMessage("SMO_PAR_SITE_WEIGHT_UNIT_SALE");
        ?>
</td>
				<td width="60%" class="adm-detail-content-cell-r"><select name="weight_unit_tmp[<?php 
        echo $siteList[$i]["ID"];
        ?>
]" OnChange="setWeightValue(this)">
						<option selected="selected"></option><?php 
        $arUnitList = CSaleMeasure::GetList("W");
        foreach ($arUnitList as $key => $arM) {
            $selectedWeightUnit = COption::GetOptionString($module_id, "weight_unit", trim($siteList[$i]["ID"]));
            ?>
						<option value="<?php 
            echo floatval($arM["KOEF"]);
            ?>
" <?php 
            echo $selectedWeightUnit == $arM["NAME"] ? "selected" : "";
            ?>
><?php 
            echo htmlspecialcharsbx($arM["NAME"]);
            ?>
</option>
						<?php 
        }