%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.15.195.18 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/sale.basket.basket.small/ |
Upload File : |
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); if (!CModule::IncludeModule("sale")) { ShowError(GetMessage("SALE_MODULE_NOT_INSTALL")); return; } $arParams["PATH_TO_BASKET"] = trim($arParams["PATH_TO_BASKET"]); $arParams["PATH_TO_ORDER"] = trim($arParams["PATH_TO_ORDER"]); $arParams['SHOW_DELAY'] = (isset($arParams['SHOW_DELAY']) && $arParams['SHOW_DELAY'] == 'N' ? 'N' : 'Y'); $arParams['SHOW_NOTAVAIL'] = (isset($arParams['SHOW_NOTAVAIL']) && $arParams['SHOW_NOTAVAIL'] == 'N' ? 'N' : 'Y'); $arParams['SHOW_SUBSCRIBE'] = (isset($arParams['SHOW_SUBSCRIBE']) && $arParams['SHOW_SUBSCRIBE'] == 'N' ? 'N' : 'Y'); $bReady = false; $bDelay = false; $bNotAvail = false; $bSubscribe = false; $arItems = array(); $arReadyItems = array(); $allSum = 0.0; $allWeight = 0.0; $arBasketItems = array(); $arSetParentWeight = array(); $fuserId = (int)CSaleBasket::GetBasketUserID(true); if ($fuserId > 0) { $rsBaskets = CSaleBasket::GetList( array("ID" => "ASC"), array("FUSER_ID" => $fuserId, "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", "PRODUCT_PRICE_ID", 'CUSTOM_PRICE', 'BASE_PRICE' ) ); while ($arItem = $rsBaskets->GetNext()) { $arBasketItems[] = $arItem; if (CSaleBasketHelper::isSetItem($arItem)) $arSetParentWeight[$arItem["SET_PARENT_ID"]] += $arItem["WEIGHT"] * $arItem['QUANTITY']; } } if (!empty($arBasketItems)) { // count weight for set parent products foreach ($arBasketItems as &$arItem) { if (CSaleBasketHelper::isSetParent($arItem)) $arItem["WEIGHT"] = $arSetParentWeight[$arItem["ID"]] / $arItem["QUANTITY"]; } unset($arItem); foreach ($arBasketItems as &$arItem) { if (CSaleBasketHelper::isSetItem($arItem)) continue; $boolOneReady = false; if ($arItem["DELAY"]=="N" && $arItem["CAN_BUY"]=="Y") { $boolOneReady = true; $bReady = true; $allSum += ($arItem["PRICE"] * $arItem["QUANTITY"]); $allWeight += ($arItem["WEIGHT"] * $arItem["QUANTITY"]); } elseif ($arItem["DELAY"]=="Y" && $arItem["CAN_BUY"]=="Y") { if ('N' == $arParams['SHOW_DELAY']) continue; $bDelay = true; } elseif ($arItem["CAN_BUY"]=="N" && $arItem["SUBSCRIBE"]=="N") { if ('N' == $arParams['SHOW_NOTAVAIL']) continue; $bNotAvail = true; } elseif ($arItem["CAN_BUY"]=="N" && $arItem["SUBSCRIBE"]=="Y") { if ('N' == $arParams['SHOW_SUBSCRIBE']) continue; $bSubscribe = true; } if (!$boolOneReady) { $arItem["PRICE_FORMATED"] = SaleFormatCurrency($arItem["PRICE"], $arItem["CURRENCY"]); $arItems[] = $arItem; } else { $arReadyItems[] = $arItem; } } } if (!empty($arReadyItems)) { $arOrder = array( 'SITE_ID' => SITE_ID, 'USER_ID' => $USER->GetID(), 'ORDER_PRICE' => $allSum, 'ORDER_WEIGHT' => $allWeight, 'BASKET_ITEMS' => $arReadyItems ); $arOptions = array(); $arErrors = array(); CSaleDiscount::DoProcessOrder($arOrder, $arOptions, $arErrors); foreach ($arOrder['BASKET_ITEMS'] as &$arOneItem) { $arOneItem["PRICE_FORMATED"] = SaleFormatCurrency($arOneItem["PRICE"], $arOneItem["CURRENCY"]); } if (isset($arOneItem)) unset($arOneItem); $arItems = array_merge($arOrder['BASKET_ITEMS'], $arItems); } $arResult = array( 'READY' => ($bReady ? "Y" : "N"), 'DELAY' => ($bDelay ? "Y" : "N"), 'NOTAVAIL' => ($bNotAvail ? "Y" : "N"), 'SUBSCRIBE' => ($bSubscribe ? "Y" : "N"), 'ITEMS' => $arItems ); $this->IncludeComponentTemplate();