%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.224.64.28 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/modules/sale/lib/internals/ |
Upload File : |
<?php namespace Bitrix\Sale\Internals; use Bitrix\Sale; /** * Class ProviderBuilderCompatibility * @package Bitrix\Sale\Internals */ class ProviderBuilderCompatibility extends ProviderBuilderBase { /** * @param $providerClass * @param $context * * @return ProviderBuilderBase */ public static function create($providerClass, $context) { $builder = parent::create($providerClass, $context); if (!$builder->providerClass && is_string($providerClass) && strval($providerClass) != '') { $builder->callbackFunction = $providerClass; } return $builder; } /** * @param Sale\BasketItemBase $basketItem */ public function addProductByBasketItem(Sale\BasketItemBase $basketItem) { $productId = $basketItem->getProductId(); $providerName = $basketItem->getProviderName(); $isOrdable = ($basketItem->getField("CAN_BUY") == 'Y' && $basketItem->getField("DELAY") == 'N' && $basketItem->getField("SUBSCRIBE") == 'N'); $fields = array( 'BASKET_ITEM' => $basketItem, 'ITEM_CODE' => $basketItem->getBasketCode(), 'BASKET_ID' => $basketItem->getId(), 'BASKET_CODE' => $basketItem->getBasketCode(), 'PRODUCT_ID' => $productId, 'QUANTITY' => $basketItem->getQuantity(), 'MODULE' => $basketItem->getField('MODULE'), 'IS_ORDERABLE' => $isOrdable, 'IS_BUNDLE_PARENT' => false, 'IS_BUNDLE_CHILD' => false, 'IS_NEW' => ($basketItem->getId() == 0), 'SUBSCRIBE' => ($basketItem->getField('SUBSCRIBE') == 'Y'), ); if ($basketItem instanceof Sale\BasketItem) { $fields['IS_BUNDLE_PARENT'] = $basketItem->isBundleParent(); $fields['IS_BUNDLE_CHILD'] = $basketItem->isBundleChild(); } if (strval(trim($providerName)) == '') { $callbackFunction = $basketItem->getCallbackFunction(); if (!empty($callbackFunction)) { $fields['CALLBACK_FUNC'] = $callbackFunction; } } $this->addItem($productId, $fields); } /** * @param Sale\ShipmentItem $shipmentItem */ public function addProductByShipmentItem(Sale\ShipmentItem $shipmentItem) { $basketItem = $shipmentItem->getBasketItem(); $productId = $basketItem->getProductId(); $providerName = $basketItem->getProviderName(); $fields = array( 'PRODUCT_ID' => $productId, 'BASKET_CODE' => $basketItem->getBasketCode(), 'QUANTITY' => $basketItem->getQuantity(), 'MODULE' => $basketItem->getField('MODULE'), 'SHIPMENT_ITEM' => $shipmentItem ); if (strval(trim($providerName)) == '') { $callbackFunction = $basketItem->getCallbackFunction(); if (!empty($callbackFunction)) { $fields['CALLBACK_FUNC'] = $callbackFunction; } } $this->addItem($productId, $fields); } /** * @param array $shipmentProductData * * @return bool */ public function addProductByShipmentProductData(array $shipmentProductData) { if ($shipmentProductData['QUANTITY'] == 0) { return false; } /** @var Sale\ShipmentItem $shipmentItem */ $shipmentItem = $shipmentProductData['SHIPMENT_ITEM']; $basketItem = $shipmentItem->getBasketItem(); $productId = $basketItem->getProductId(); $providerName = $basketItem->getProviderName(); $fields = array( 'PRODUCT_ID' => $productId, 'BASKET_ITEM' => $basketItem, 'BASKET_CODE' => $basketItem->getBasketCode(), 'QUANTITY' => $shipmentProductData['QUANTITY'], 'MODULE' => $basketItem->getField('MODULE'), 'SHIPMENT_ITEM' => $shipmentItem, 'NEED_RESERVE' => array( $shipmentItem->getInternalIndex() => $shipmentProductData["NEED_RESERVE"] ), ); if (strval(trim($providerName)) == '') { $callbackFunction = $basketItem->getCallbackFunction(); if (!empty($callbackFunction)) { $fields['CALLBACK'] = $callbackFunction; } } $this->addItem($productId, $fields); } /** * @param PoolQuantity $pool * @param array $productTryShipList * * @return Sale\Result */ public function setItemsResultAfterTryShip(PoolQuantity $pool, array $productTryShipList) { return new Sale\Result(); } /** * @return string */ public function getTransferClassName() { return '\Bitrix\Sale\Internals\TransferProviderCompatibility'; } }