本文整理汇总了PHP中roundEx函数的典型用法代码示例。如果您正苦于以下问题:PHP roundEx函数的具体用法?PHP roundEx怎么用?PHP roundEx使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了roundEx函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: PrepareCurrency4Where
public static function PrepareCurrency4Where($val, $key, $operation, $negative, $field, &$arField, &$arFilter)
{
$val = DoubleVal($val);
$baseSiteCurrency = "";
if (isset($arFilter["LID"]) && strlen($arFilter["LID"]) > 0)
$baseSiteCurrency = CSaleLang::GetLangCurrency($arFilter["LID"]);
elseif (isset($arFilter["CURRENCY"]) && strlen($arFilter["CURRENCY"]) > 0)
$baseSiteCurrency = $arFilter["CURRENCY"];
if (strlen($baseSiteCurrency) <= 0)
return False;
$strSqlSearch = "";
$dbCurrency = CCurrency::GetList(($by = "sort"), ($order = "asc"));
while ($arCurrency = $dbCurrency->Fetch())
{
$val1 = roundEx(CCurrencyRates::ConvertCurrency($val, $baseSiteCurrency, $arCurrency["CURRENCY"]), SALE_VALUE_PRECISION);
if (strlen($strSqlSearch) > 0)
$strSqlSearch .= " OR ";
$strSqlSearch .= "(D.ORDER_CURRENCY = '".$arCurrency["CURRENCY"]."' AND ";
if ($negative == "Y")
$strSqlSearch .= "NOT";
$strSqlSearch .= "(".$field." ".$operation." ".$val1." OR ".$field." IS NULL OR ".$field." = 0)";
$strSqlSearch .= ")";
}
return "(".$strSqlSearch.")";
}
示例2: DoLoadDelivery
public static function DoLoadDelivery($location, $locationZip, $weight, $price, $currency, $siteId = null)
{
$location = intval($location);
if ($location <= 0) {
return null;
}
if ($siteId == null) {
$siteId = SITE_ID;
}
$arResult = array();
$arFilter = array("COMPABILITY" => array("WEIGHT" => $weight, "PRICE" => $price, "LOCATION_FROM" => COption::GetOptionString('sale', 'location', false, $siteId), "LOCATION_TO" => $location, "LOCATION_ZIP" => $locationZip), "SITE_ID" => $siteId);
$dbDeliveryServices = CSaleDeliveryHandler::GetList(array("SORT" => "ASC"), $arFilter);
while ($arDeliveryService = $dbDeliveryServices->GetNext()) {
if (!is_array($arDeliveryService) || !is_array($arDeliveryService["PROFILES"])) {
continue;
}
foreach ($arDeliveryService["PROFILES"] as $profileId => $arDeliveryProfile) {
if ($arDeliveryProfile["ACTIVE"] != "Y") {
continue;
}
if (!array_key_exists($arDeliveryService["SID"], $arResult)) {
$arResult[$arDeliveryService["SID"]] = array("SID" => $arDeliveryService["SID"], "TITLE" => $arDeliveryService["NAME"], "DESCRIPTION" => $arDeliveryService["DESCRIPTION"], "PROFILES" => array());
}
$arResult[$arDeliveryService["SID"]]["PROFILES"][$profileId] = array("ID" => $arDeliveryService["SID"] . ":" . $profileId, "SID" => $profileId, "TITLE" => $arDeliveryProfile["TITLE"], "DESCRIPTION" => $arDeliveryProfile["DESCRIPTION"], "FIELD_NAME" => "DELIVERY_ID");
$arDeliveryPriceTmp = CSaleDeliveryHandler::CalculateFull($arDeliveryService["SID"], $profileId, array("PRICE" => $price, "WEIGHT" => $weight, "LOCATION_FROM" => COption::GetOptionString('sale', 'location', false, $siteId), "LOCATION_TO" => $location, "LOCATION_ZIP" => $locationZip), $currency);
if ($arDeliveryPriceTmp["RESULT"] != "ERROR") {
$arResult[$arDeliveryService["SID"]]["PROFILES"][$profileId]["DELIVERY_PRICE"] = roundEx($arDeliveryPriceTmp["VALUE"], SALE_VALUE_PRECISION);
$arResult[$arDeliveryService["SID"]]["PROFILES"][$profileId]["CURRENCY"] = $currency;
}
}
}
$dbDelivery = CSaleDelivery::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("LID" => $siteId, "+<=WEIGHT_FROM" => $weight, "+>=WEIGHT_TO" => $weight, "+<=ORDER_PRICE_FROM" => $price, "+>=ORDER_PRICE_TO" => $price, "ACTIVE" => "Y", "LOCATION" => $location));
while ($arDelivery = $dbDelivery->GetNext()) {
$arDeliveryDescription = CSaleDelivery::GetByID($arDelivery["ID"]);
$arDelivery["DESCRIPTION"] = $arDeliveryDescription["DESCRIPTION"];
$arDelivery["FIELD_NAME"] = "DELIVERY_ID";
if (intval($arDelivery["PERIOD_FROM"]) > 0 || intval($arDelivery["PERIOD_TO"]) > 0) {
$arDelivery["PERIOD_TEXT"] = GetMessage("SALE_DELIV_PERIOD");
if (intval($arDelivery["PERIOD_FROM"]) > 0) {
$arDelivery["PERIOD_TEXT"] .= " " . GetMessage("SOA_FROM") . " " . intval($arDelivery["PERIOD_FROM"]);
}
if (intval($arDelivery["PERIOD_TO"]) > 0) {
$arDelivery["PERIOD_TEXT"] .= " " . GetMessage("SOA_TO") . " " . intval($arDelivery["PERIOD_TO"]);
}
if ($arDelivery["PERIOD_TYPE"] == "H") {
$arDelivery["PERIOD_TEXT"] .= " " . GetMessage("SOA_HOUR") . " ";
} elseif ($arDelivery["PERIOD_TYPE"] == "M") {
$arDelivery["PERIOD_TEXT"] .= " " . GetMessage("SOA_MONTH") . " ";
} else {
$arDelivery["PERIOD_TEXT"] .= " " . GetMessage("SOA_DAY") . " ";
}
}
$arResult[] = $arDelivery;
}
return $arResult;
}
示例3: getBasketItems
public function getBasketItems()
{
global $APPLICATION;
if (self::$catalogIncluded === null) {
self::$catalogIncluded = Loader::includeModule('catalog');
}
self::$iblockIncluded = self::$catalogIncluded;
CSaleBasket::UpdateBasketPrices(CSaleBasket::GetBasketUserID(), SITE_ID);
$bShowReady = false;
$bShowDelay = false;
$bShowSubscribe = false;
$bShowNotAvail = false;
$allSum = 0;
$allWeight = 0;
$allCurrency = CSaleLang::GetLangCurrency(SITE_ID);
$allVATSum = 0;
$arParents = array();
$arResult["ITEMS"]["AnDelCanBuy"] = array();
$arResult["ITEMS"]["DelDelCanBuy"] = array();
$arResult["ITEMS"]["nAnCanBuy"] = array();
$arResult["ITEMS"]["ProdSubscribe"] = array();
$DISCOUNT_PRICE_ALL = 0;
// BASKET PRODUCTS (including measures, ratio, iblock properties data)
$arImgFields = array("PREVIEW_PICTURE", "DETAIL_PICTURE");
$arBasketItems = array();
$basketKey = 0;
$basketIds = array();
$arSku2Parent = array();
$arSetParentWeight = array();
$arElementId = array();
$dbItems = CSaleBasket::GetList(array("ID" => "ASC"), array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "LID" => SITE_ID, "ORDER_ID" => "NULL"), false, false, array("ID", "NAME", "CALLBACK_FUNC", "MODULE", "PRODUCT_ID", "QUANTITY", "DELAY", "CAN_BUY", "PRICE", "WEIGHT", "DETAIL_PAGE_URL", "NOTES", "CURRENCY", "VAT_RATE", "CATALOG_XML_ID", "PRODUCT_XML_ID", "SUBSCRIBE", "DISCOUNT_PRICE", "PRODUCT_PROVIDER_CLASS", "TYPE", "SET_PARENT_ID"));
while ($arItem = $dbItems->GetNext()) {
$arItem['PROPS'] = array();
$arBasketItems[$basketKey] = $arItem;
$basketIds[$arItem['ID']] =& $arBasketItems[$basketKey];
$basketKey++;
if (CSaleBasketHelper::isSetItem($arItem)) {
continue;
}
$arElementId[] = $arItem["PRODUCT_ID"];
}
if (!empty($arElementId) && self::$catalogIncluded) {
$productList = CCatalogSKU::getProductList($arElementId);
if (!empty($productList)) {
foreach ($productList as $offerId => $offerInfo) {
$offerInfo['PRODUCT_ID'] = $offerInfo['ID'];
$arElementId[] = $offerInfo['ID'];
$arSku2Parent[$offerId] = $offerInfo['ID'];
$arParents[$offerId] = $offerInfo;
}
unset($offerInfo, $offerId);
}
unset($productList);
// get measures, ratio, sku props data and available quantity
$arBasketItems = getMeasures($arBasketItems);
$arBasketItems = getRatio($arBasketItems);
$arBasketItems = $this->getAvailableQuantity($arBasketItems);
$propsIterator = CSaleBasket::GetPropsList(array('BASKET_ID' => 'ASC', 'SORT' => 'ASC', 'ID' => 'ASC'), array('BASKET_ID' => array_keys($basketIds)));
while ($property = $propsIterator->GetNext()) {
$property['CODE'] = (string) $property['CODE'];
if ($property['CODE'] == 'CATALOG.XML_ID' || $property['CODE'] == 'PRODUCT.XML_ID') {
continue;
}
if (!isset($basketIds[$property['BASKET_ID']])) {
continue;
}
$basketIds[$property['BASKET_ID']]['PROPS'][] = $property;
}
unset($property, $propsIterator, $basketIds);
}
// get product properties data
$arProductData = getProductProps($arElementId, array_merge(array("ID"), $arImgFields, $this->arCustomSelectFields));
foreach ($arBasketItems as &$arItem) {
$quantityIsFloat = false;
if (number_format(doubleval($arItem['QUANTITY']), 2, '.', '') != intval($arItem['QUANTITY'])) {
$quantityIsFloat = true;
}
$arItem["QUANTITY"] = $quantityIsFloat === false && $this->quantityFloat != "Y" ? intval($arItem['QUANTITY']) : number_format(doubleval($arItem['QUANTITY']), 2, '.', '');
$arItem["PRICE_VAT_VALUE"] = $arItem["PRICE"] / ($arItem["VAT_RATE"] + 1) * $arItem["VAT_RATE"];
$arItem["PRICE_FORMATED"] = CCurrencyLang::CurrencyFormat($arItem["PRICE"], $arItem["CURRENCY"], true);
$arItem["WEIGHT"] = doubleval($arItem["WEIGHT"]);
$arItem["WEIGHT_FORMATED"] = roundEx(doubleval($arItem["WEIGHT"] / $this->weightKoef), SALE_WEIGHT_PRECISION) . " " . $this->weightUnit;
if (CSaleBasketHelper::isSetItem($arItem)) {
$arSetParentWeight[$arItem["SET_PARENT_ID"]] += $arItem["WEIGHT"] * $arItem["QUANTITY"];
}
if (isset($arProductData[$arItem['PRODUCT_ID']]) && is_array($arProductData[$arItem['PRODUCT_ID']])) {
foreach ($arProductData[$arItem["PRODUCT_ID"]] as $key => $value) {
if (strpos($key, "PROPERTY_") !== false || in_array($key, $arImgFields)) {
$arItem[$key] = $value;
}
}
}
if (array_key_exists($arItem["PRODUCT_ID"], $arSku2Parent)) {
$arFieldsToFill = array_merge($this->arCustomSelectFields, $arImgFields);
// fields to be filled with parents' values if empty
foreach ($arFieldsToFill as $field) {
$fieldVal = in_array($field, $arImgFields) ? $field : $field . "_VALUE";
$parentId = $arSku2Parent[$arItem["PRODUCT_ID"]];
if ((!isset($arItem[$fieldVal]) || isset($arItem[$fieldVal]) && strlen($arItem[$fieldVal]) == 0) && (isset($arProductData[$parentId][$fieldVal]) && !empty($arProductData[$parentId][$fieldVal]))) {
$arItem[$fieldVal] = $arProductData[$parentId][$fieldVal];
//.........这里部分代码省略.........
示例4: formatResultWeight
/**
* Function formats weight info in arResult
* @return void
*/
protected function formatResultWeight()
{
$arResult =& $this->arResult;
$arResult["ORDER_WEIGHT_FORMATED"] = roundEx(doubleval($arResult["ORDER_WEIGHT"] / $arResult["WEIGHT_KOEF"]), SALE_WEIGHT_PRECISION) . " " . $arResult["WEIGHT_UNIT"];
}
示例5: GetOptimalPrice
//.........这里部分代码省略.........
if (isset($arOnePriority))
unset($arOnePriority);
}
if (!empty($arDiscSave))
{
switch($strDiscSaveApply)
{
case 'R':
$arDiscSaveResult = array(
'PRICE' => $dblCurrentPrice,
'CURRENCY' => $strBaseCurrency,
);
$arDiscSaveApply = array();
$boolResultDiscSave = CCatalogProduct::__CalcDiscSave($arDiscSave, $arDiscSaveApply, $arDiscSaveResult);
if (!$boolResultDiscSave)
{
return false;
}
else
{
if ($arDiscSaveResult['PRICE'] < $arResultPrice['PRICE'])
{
$arResultPrice = $arDiscSaveResult;
$arDiscountApply = $arDiscSaveApply;
}
}
break;
case 'A':
$boolResultDiscSave = CCatalogProduct::__CalcDiscSave($arDiscSave, $arDiscountApply, $arResultPrice);
if (!$boolResultDiscSave)
{
return false;
}
break;
case 'D':
if (empty($arDiscountApply))
{
$boolResultDiscSave = CCatalogProduct::__CalcDiscSave($arDiscSave, $arDiscountApply, $arResultPrice);
if (!$boolResultDiscSave)
{
return false;
}
}
break;
}
}
}
if (-1 == $dblMinPrice || $dblMinPrice > $arResultPrice['PRICE'])
{
$dblMinPrice = $arResultPrice['PRICE'];
$arMinPrice = $arPriceList;
$arMinDiscounts = $arDiscountApply;
}
}
if (isset($arPriceList))
unset($arPriceList);
if ($boolDiscountVat)
{
if ('N' == $arMinPrice['ORIG_VAT_INCLUDED'])
{
$arMinPrice['PRICE'] /= (1 + $arMinPrice['VAT_RATE']);
$arMinPrice['VAT_INCLUDED'] = $arMinPrice['ORIG_VAT_INCLUDED'];
}
}
else
{
if ('Y' == $arMinPrice['ORIG_VAT_INCLUDED'])
{
$arMinPrice['PRICE'] *= (1 + $arMinPrice['VAT_RATE']);
$arMinPrice['VAT_INCLUDED'] = $arMinPrice['ORIG_VAT_INCLUDED'];
}
}
unset($arMinPrice['ORIG_VAT_INCLUDED']);
$dblMinPrice = roundEx($dblMinPrice, CATALOG_VALUE_PRECISION);
$arResult = array(
'PRICE' => $arMinPrice,
'DISCOUNT_PRICE' => $dblMinPrice,
'DISCOUNT' => array(),
'DISCOUNT_LIST' => array(),
);
if (!empty($arMinDiscounts))
{
reset($arMinDiscounts);
$arResult['DISCOUNT'] = current($arMinDiscounts);
$arResult['DISCOUNT_LIST'] = $arMinDiscounts;
}
foreach (GetModuleEvents("catalog", "OnGetOptimalPriceResult", true) as $arEvent)
{
if (ExecuteModuleEventEx($arEvent, array(&$arResult))===false)
return false;
}
return $arResult;
}
示例6: SaleFormatCurrency
<?php
echo SaleFormatCurrency($str_TAX_VALUE, $str_CURRENCY);
?>
</div>
</td>
</tr>
<tr>
<td class="title">
<?php
echo GetMessage("NEWO_TOTAL_WEIGHT");
?>
</td>
<td nowrap>
<div id="ORDER_WAIGHT" style="white-space:nowrap;">
<?php
echo roundEx(floatval($productWeight / $WEIGHT_KOEF), SALE_WEIGHT_PRECISION) . " " . $WEIGHT_UNIT;
?>
</div>
</td>
</tr>
<tr>
<td class="title">
<?php
echo GetMessage("NEWO_TOTAL_PAY_ACCOUNT2");
?>
</td>
<td nowrap class="sum_paid" onclick="fEditSumPaid(true);">
<span id="ORDER_PAY_FROM_ACCOUNT" style="white-space:nowrap;" onclick="fEditSumPaid(true);">
<?
$str_SUM_PAID = floatval($str_SUM_PAID);
?>
示例7: foreach
$allSum = 0;
$allVatSumm = 0;
$allVatRate = 0;
foreach ($arOrderForDiscount['BASKET_ITEMS'] as &$arOneItem) {
$arOneItem["PRICE_FORMATED"] = SaleFormatCurrency($arOneItem["PRICE"], $arOneItem["CURRENCY"]);
$arOneItem["DISCOUNT_PRICE_PERCENT"] = $arOneItem["DISCOUNT_PRICE"] * 100 / ($arOneItem["DISCOUNT_PRICE"] + $arOneItem["PRICE"]);
$arOneItem["DISCOUNT_PRICE_PERCENT_FORMATED"] = roundEx($arOneItem["DISCOUNT_PRICE_PERCENT"], SALE_VALUE_PRECISION) . "%";
$allSum += $arOneItem["PRICE"] * $arOneItem["QUANTITY"];
$allVatSumm += 0;
if (0 < $arOneItem["VAT_RATE"]) {
$arResult["bUsingVat"] = "Y";
if ($arOneItem["VAT_RATE"] > $allVatRate) {
$allVatRate = $arOneItem["VAT_RATE"];
}
$arOneItem["VAT_VALUE"] = $arOneItem["PRICE"] / ($arOneItem["VAT_RATE"] + 1) * $arOneItem["VAT_RATE"];
$allVatSumm += roundEx($arOneItem["VAT_VALUE"] * $arOneItem["QUANTITY"], SALE_VALUE_PRECISION);
}
}
if (isset($arOneItem)) {
unset($arOneItem);
}
$arResult["ORDER_PRICE"] = $allSum;
$arResult["ORDER_PRICE_FORMATED"] = SaleFormatCurrency($arResult["ORDER_PRICE"], $arResult["BASE_LANG_CURRENCY"]);
$arResult["VAT_RATE"] = $allVatRate;
$arResult["VAT_SUM"] = $allVatSumm;
$arResult["VAT_SUM_FORMATED"] = SaleFormatCurrency($arResult["VAT_SUM"], $arResult["BASE_LANG_CURRENCY"]);
$arResult['DELIVERY_PRICE'] = $arOrderForDiscount['PRICE_DELIVERY'];
$arResult['DELIVERY_PRICE_FORMATED'] = SaleFormatCurrency($arResult["DELIVERY_PRICE"], $arResult["BASE_LANG_CURRENCY"]);
$arResult["ITEMS"]["AnDelCanBuy"] = $arOrderForDiscount['BASKET_ITEMS'];
}
//end if array basket
示例8: Show2Images
function Show2Images($strImage1, $strImage2, $iMaxW = 0, $iMaxH = 0, $sParams = false, $sPopupTitle = false, $iSizeWHTTP = 0, $iSizeHHTTP = 0)
{
if (!($arImgParams = CFile::_GetImgParams($strImage1, $iSizeWHTTP, $iSizeHHTTP))) {
return "";
}
$strImage1 = htmlspecialcharsbx($arImgParams["SRC"]);
$intWidth = $arImgParams["WIDTH"];
$intHeight = $arImgParams["HEIGHT"];
$strAlt = $arImgParams["ALT"];
if ($sParams == false) {
$sParams = 'border="0" alt="' . htmlspecialcharsEx($strAlt) . '"';
} elseif (!preg_match("/(^|\\s)alt\\s*=\\s*([\"']?)(.*?)(\\2)/is", $sParams)) {
$sParams .= ' alt="' . htmlspecialcharsEx($strAlt) . '"';
}
if ($iMaxW > 0 && $iMaxH > 0 && ($intWidth > $iMaxW || $intHeight > $iMaxH)) {
$coeff = $intWidth / $iMaxW > $intHeight / $iMaxH ? $intWidth / $iMaxW : $intHeight / $iMaxH;
$iHeight = intval(roundEx($intHeight / $coeff));
$iWidth = intval(roundEx($intWidth / $coeff));
} else {
$iHeight = $intHeight;
$iWidth = $intWidth;
}
if ($arImgParams = CFile::_GetImgParams($strImage2, $iSizeWHTTP, $iSizeHHTTP)) {
if ($sPopupTitle === false) {
$sPopupTitle = GetMessage("FILE_ENLARGE");
}
$strImage2 = htmlspecialcharsbx($arImgParams["SRC"]);
$intWidth2 = $arImgParams["WIDTH"];
$intHeight2 = $arImgParams["HEIGHT"];
$strAlt2 = $arImgParams["ALT"];
CFile::OutputJSImgShw();
$strReturn = "<a title=\"" . $sPopupTitle . "\" onclick=\"ImgShw('" . CUtil::addslashes($strImage2) . "','" . $intWidth2 . "','" . $intHeight2 . "', '" . CUtil::addslashes(htmlspecialcharsEx(htmlspecialcharsEx($strAlt2))) . "'); return false;\" href=\"" . $strImage2 . "\" target=_blank>" . "<img src=\"" . $strImage1 . "\" " . $sParams . " width=" . $iWidth . " height=" . $iHeight . " /></a>";
} else {
$strReturn = "<img src=\"" . $strImage1 . "\" " . $sParams . " width=" . $iWidth . " height=" . $iHeight . " />";
}
return $strReturn;
}
示例9: DoubleVal
</td>
<td width="50%">
<input type="text" name="SUM_MIN" size="10" maxlength="10" value="<?php
echo DoubleVal($arResult["SUM_MIN"]) > 0 ? roundEx($arResult["SUM_MIN"], SALE_VALUE_PRECISION) : "";
?>
">
</td>
</tr>
<tr>
<td width="50%" align="right"><?php
echo GetMessage("STPC_MAX_SUM");
?>
</td>
<td width="50%">
<input type="text" name="SUM_MAX" size="10" maxlength="10" value="<?php
echo DoubleVal($arResult["SUM_MAX"]) > 0 ? roundEx($arResult["SUM_MAX"], SALE_VALUE_PRECISION) : "";
?>
">
</td>
</tr>
<tr>
<td align="right"><?php
echo GetMessage("STPC_SUM_CURR");
?>
</td>
<td>
<select name="SUM_CURRENCY">
<?php
foreach ($arResult["CURRENCY_INFO"] as $val) {
?>
<option value="<?php
示例10: CalculateOrderPrices
/**
* calculate the cost according to the order basket
* @param array $arBasketItems
* @return array|bool
*/
public static function CalculateOrderPrices($arBasketItems)
{
if (!isset($arBasketItems) || isset($arBasketItems) && sizeof($arBasketItems) <= 0) {
return false;
}
$arResult = array("ORDER_PRICE" => 0, "ORDER_WEIGHT" => 0, "VAT_RATE" => 0, "VAT_SUM" => 0, "USE_VAT" => 'N', "BASKET_ITEMS" => $arBasketItems);
foreach ($arResult['BASKET_ITEMS'] as &$arItem) {
if (!CSaleBasketHelper::isSetItem($arItem)) {
if (array_key_exists('CUSTOM_PRICE', $arItem) && $arItem['CUSTOM_PRICE'] == 'Y') {
$arItem['DISCOUNT_PRICE'] = $arItem['DEFAULT_PRICE'] - $arItem['PRICE'];
if ($arItem['DISCOUNT_PRICE'] < 0) {
$arItem['DISCOUNT_PRICE'] = 0;
}
if (doubleval($arItem['DEFAULT_PRICE']) > 0) {
$arItem['DISCOUNT_PRICE_PERCENT'] = $arItem['DISCOUNT_PRICE'] * 100 / $arItem['DEFAULT_PRICE'];
} else {
$arItem['DISCOUNT_PRICE_PERCENT'] = 0;
}
$arItem["DISCOUNT_PRICE_PERCENT_FORMATED"] = roundEx($arItem["DISCOUNT_PRICE_PERCENT"], SALE_VALUE_PRECISION) . "%";
}
if (isset($arItem['CURRENCY']) && strlen($arItem['CURRENCY']) > 0) {
$arItem["PRICE_FORMATED"] = SaleFormatCurrency($arItem["PRICE"], $arItem["CURRENCY"]);
}
$arResult['ORDER_PRICE'] += CSaleBasketHelper::getFinalPrice($arItem);
$arResult['ORDER_WEIGHT'] += $arItem["WEIGHT"] * $arItem["QUANTITY"];
if ($arItem["VAT_RATE"] > 0) {
$arResult['USE_VAT'] = 'Y';
if ($arItem["VAT_RATE"] > $arResult['VAT_RATE']) {
$arResult['VAT_RATE'] = $arItem["VAT_RATE"];
}
$v = CSaleBasketHelper::getVat($arItem);
$arItem["VAT_VALUE"] = \Bitrix\Sale\PriceMaths::roundPrecision($v / $arItem["QUANTITY"]);
$arResult["VAT_SUM"] += $v;
}
}
}
$arResult['ORDER_PRICE'] = \Bitrix\Sale\PriceMaths::roundPrecision($arResult['ORDER_PRICE']);
$arResult['VAT_SUM'] = \Bitrix\Sale\PriceMaths::roundPrecision($arResult['VAT_SUM']);
unset($arItem);
return $arResult;
}
示例11: abs
$vats[$vatRate] += abs($delta) / $delta / pow(10, SALE_VALUE_PRECISION);
$delta -= abs($delta) / $delta;
if ($delta == 0) {
break 2;
}
}
}
}
foreach ($vats as $vatRate => $vatSum) {
$arCells[++$n] = array(1 => null, null, null, null, null, CSalePdf::prepareToPdf(sprintf("zzgl. %s%% MwSt:", roundEx($vatRate * 100, SALE_VALUE_PRECISION))), CSalePdf::prepareToPdf(SaleFormatCurrency($vatSum, $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)));
$arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
}
} else {
$dbTaxList = CSaleOrderTax::GetList(array("APPLY_ORDER" => "ASC"), array("ORDER_ID" => $ORDER_ID));
while ($arTaxList = $dbTaxList->Fetch()) {
$arCells[++$n] = array(1 => null, null, null, null, null, CSalePdf::prepareToPdf(sprintf("%s%s%s:", $arTaxList["IS_IN_PRICE"] == "Y" ? "inkl." : "zzgl.", sprintf(' %s%% ', roundEx($arTaxList["VALUE"], SALE_VALUE_PRECISION)), $arTaxList["TAX_NAME"])), CSalePdf::prepareToPdf(SaleFormatCurrency($arTaxList["VALUE_MONEY"], $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)));
$arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
}
}
if (DoubleVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SUM_PAID"]) > 0) {
$arCells[++$n] = array(1 => null, null, null, null, null, CSalePdf::prepareToPdf("Payment made:"), CSalePdf::prepareToPdf(SaleFormatCurrency($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SUM_PAID"], $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)));
$arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
}
if (DoubleVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DISCOUNT_VALUE"]) > 0) {
$arCells[++$n] = array(1 => null, null, null, null, null, CSalePdf::prepareToPdf("Rabatt:"), CSalePdf::prepareToPdf(SaleFormatCurrency($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DISCOUNT_VALUE"], $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)));
$arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
}
$arCells[++$n] = array(1 => null, null, null, null, null, CSalePdf::prepareToPdf("Gesamtbetrag:"), CSalePdf::prepareToPdf(SaleFormatCurrency($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SHOULD_PAY"], $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)));
$arRowsWidth[7] = max($arRowsWidth[7], $pdf->GetStringWidth($arCells[$n][7]));
for ($i = 1; $i <= 7; $i++) {
$arRowsWidth[$i] += 10;
示例12: str_replace
?>
onclick="submitForm();" />
<?php
if ($arParams["SHOW_PAYMENT_SERVICES_NAMES"] != "N") {
?>
<div class="selection_unit-title"><?php
echo $arPaySystem["PSA_NAME"];
?>
</div>
<div class="selection_unit-text">
<?php
if (intval($arPaySystem["PRICE"]) > 0) {
echo str_replace("#PAYSYSTEM_PRICE#", SaleFormatCurrency(roundEx($arPaySystem["PRICE"], SALE_VALUE_PRECISION), $arResult["BASE_LANG_CURRENCY"]), GetMessage("SOA_TEMPL_PAYSYSTEM_PRICE"));
} else {
echo $arPaySystem["DESCRIPTION"];
}
?>
</div>
<?php
}
?>
<?php
if (count($arPaySystem["PSA_LOGOTIP"]) > 0) {
print '<div class="selection_unit-img"><img src="' . $arPaySystem["PSA_LOGOTIP"]["SRC"] . '" /></div>';
}
?>
</a>
示例13: __MakeOrder
function __MakeOrder($prdCnt=1, $arData = Array())
{
global $APPLICATION, $USER, $DB;
CModule::IncludeModule("iblock");
CModule::IncludeModule("sale");
CModule::IncludeModule("catalog");
$arPrd = Array();
$dbItem = CIBlockElement::GetList(Array("PROPERTY_MORE_PHOTO" => "DESC", "ID" => "ASC"), Array("IBLOCK_TYPE" => "offers", "IBLOCK_SITE_ID" => WIZARD_SITE_ID, "PROPERTY_NEWPRODUCT" => false), false, Array("nTopCount" => 10), Array("ID", "IBLOCK_ID", "XML_ID", "NAME", "DETAIL_PAGE_URL", "IBLOCK_XML_ID"));
while($arItem = $dbItem->GetNext())
$arPrd[] = $arItem;
if(!empty($arPrd))
{
for($i=0; $i<$prdCnt;$i++)
{
$prdID = $arPrd[mt_rand(0, 9)];
$arProduct = CCatalogProduct::GetByID($prdID["ID"]);
$CALLBACK_FUNC = "";
$arCallbackPrice = CSaleBasket::ReReadPrice($CALLBACK_FUNC, "catalog", $prdID["ID"], 1);
$arFields = array(
"PRODUCT_ID" => $prdID["ID"],
"PRODUCT_PRICE_ID" => $arCallbackPrice["PRODUCT_PRICE_ID"],
"PRICE" => $arCallbackPrice["PRICE"],
"CURRENCY" => $arCallbackPrice["CURRENCY"],
"WEIGHT" => $arProduct["WEIGHT"],
"QUANTITY" => 1,
"LID" => WIZARD_SITE_ID,
"DELAY" => "N",
"CAN_BUY" => "Y",
"NAME" => $prdID["NAME"],
"CALLBACK_FUNC" => $CALLBACK_FUNC,
"MODULE" => "catalog",
"PRODUCT_PROVIDER_CLASS" => "CCatalogProductProvider",
"ORDER_CALLBACK_FUNC" => "",
"CANCEL_CALLBACK_FUNC" => "",
"PAY_CALLBACK_FUNC" => "",
"DETAIL_PAGE_URL" => $prdID["DETAIL_PAGE_URL"],
"CATALOG_XML_ID" => $prdID["IBLOCK_XML_ID"],
"PRODUCT_XML_ID" => $prdID["XML_ID"],
"VAT_RATE" => $arCallbackPrice['VAT_RATE'],
);
$addres = CSaleBasket::Add($arFields);
}
$arOrder = Array(
"LID" => $arData["SITE_ID"],
"PERSON_TYPE_ID" => $arData["PERSON_TYPE_ID"],
"PAYED" => "N",
"CANCELED" => "N",
"STATUS_ID" => "N",
"PRICE" => 1,
"CURRENCY" => $arData["CURRENCY"],
"USER_ID" => $arData["USER_ID"],
"PAY_SYSTEM_ID" => $arData["PAY_SYSTEM_ID"],
//"PRICE_DELIVERY" => $arData["PRICE_DELIVERY"],
//"DELIVERY_ID" => $arData["DELIVERY_ID"],
);
$dbFUserListTmp = CSaleUser::GetList(array("USER_ID" => $arData["USER_ID"]));
if(empty($dbFUserListTmp))
{
$arFields = array(
"=DATE_INSERT" => $DB->GetNowFunction(),
"=DATE_UPDATE" => $DB->GetNowFunction(),
"USER_ID" => $arData["USER_ID"]
);
$ID = CSaleUser::_Add($arFields);
}
$orderID = CSaleOrder::Add($arOrder);
CSaleBasket::OrderBasket($orderID, CSaleBasket::GetBasketUserID(), WIZARD_SITE_ID);
$dbBasketItems = CSaleBasket::GetList(
array("NAME" => "ASC"),
array(
"FUSER_ID" => CSaleBasket::GetBasketUserID(),
"LID" => WIZARD_SITE_ID,
"ORDER_ID" => $orderID
),
false,
false,
array("ID", "CALLBACK_FUNC", "MODULE", "PRODUCT_ID", "QUANTITY", "DELAY", "CAN_BUY", "PRICE", "WEIGHT", "NAME")
);
$ORDER_PRICE = 0;
while ($arBasketItems = $dbBasketItems->GetNext())
{
$ORDER_PRICE += roundEx($arBasketItems["PRICE"], SALE_VALUE_PRECISION) * DoubleVal($arBasketItems["QUANTITY"]);
}
$totalOrderPrice = $ORDER_PRICE + $arData["PRICE_DELIVERY"];
CSaleOrder::Update($orderID, Array("PRICE" => $totalOrderPrice));
foreach($arData["PROPS"] as $val)
{
$arFields = Array(
"ORDER_ID" => $orderID,
"ORDER_PROPS_ID" => $val["ID"],
"NAME" => $val["NAME"],
"CODE" => $val["CODE"],
"VALUE" => $val["VALUE"],
//.........这里部分代码省略.........
示例14: getmicrotime
'USER_NAME' => $USER_NAME,
'USER_PASSWORD' => $USER_PASSWORD,
'REST_ID' => $REST_ID
);
$startImportExecTime = getmicrotime();
// получаем номенклатуру из облака
$iikoCloud = \Iiko\Connect::getInstance($params);
$arNomenclature = $iikoCloud->getNomenclature();
// импортируем номенклатуру в наш каталог
try
{
$strImportOKMessage .= \Iiko\Import::getInstance($CATALOG_ID, $arNomenclature)->catalog()->report();
$strImportOKMessage .= str_replace("#TIME#", roundEx(getmicrotime() - $startImportExecTime, 2), "<br />Загрузка заняла <b>#TIME#</b> сек<br />");
}
catch (Exception $e)
{
$strImportErrorMessage .= $e->getMessage()."\n";
}
// делаем экспорт в айку
try
{
/** @var $provider \Iiko\IExportOrder */
$provider = \Iiko\Config\Option::getProvider();
if (!\Iiko\Export::getOrderProvider($provider))
{
$provider = '\Iiko\OrderProvider';
}
示例15: roundEx
"LOCATION_FROM" => COption::GetOptionInt('sale', 'location'),
"LOCATION_TO" => $arUserResult["DELIVERY_LOCATION"],
"LOCATION_ZIP" => $arUserResult["DELIVERY_LOCATION_ZIP"],
"ITEMS" => $arResult["BASKET_ITEMS"],
"EXTRA_PARAMS" => $arResult["DELIVERY_EXTRA"]
);
$arDeliveryPrice = CSaleDeliveryHandler::CalculateFull($k, $kk, $arOrderTmpDel, $arResult["BASE_LANG_CURRENCY"]);
if ($arDeliveryPrice["RESULT"] == "ERROR")
{
$arResult["ERROR"][] = $arDeliveryPrice["TEXT"];
}
else
{
$arResult["DELIVERY_PRICE"] = roundEx($arDeliveryPrice["VALUE"], SALE_VALUE_PRECISION);
$arResult["PACKS_COUNT"] = $arDeliveryPrice["PACKS_COUNT"];
}
break;
}
}
}
}
}
}
if ($arUserResult["PAY_SYSTEM_ID"] > 0 || strlen($arUserResult["DELIVERY_ID"]) > 0)
{
if (strlen($arUserResult["DELIVERY_ID"]) > 0 && $arParams["DELIVERY_TO_PAYSYSTEM"] == "d2p")
{
if (strpos($arUserResult["DELIVERY_ID"], ":"))