Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sale/lib/controller/ |
Upload File : |
<?php namespace Bitrix\Sale\Controller; use Bitrix\Main\Error; use Bitrix\Main\Localization\Loc; use Bitrix\Sale; Loc::loadMessages(__FILE__); class Barcode extends \Bitrix\Main\Engine\Controller { const PERMISSION_READ = 'D'; public function isBarcodeExistAction(string $barcode, int $basketId, int $orderId, int $storeId) { if(!\Bitrix\Main\Loader::includeModule("sale")) { throw new \Bitrix\Main\SystemException('Module Sale has not installed'); } if(!$this->checkPermission(self::PERMISSION_READ)) { $this->addError(new Error(Loc::getMessage('SALE_CONTROLLER_BARCODE_ACCESS_DENIED'))); return false; } if($barcode == '') { return false; } if((int)$basketId <= 0) { $this->addError(new Error(Loc::getMessage('SALE_CONTROLLER_BARCODE_ERROR_BASKET_ID'))); return false; } if((int)$orderId <= 0) { $this->addError(new Error(Loc::getMessage('SALE_CONTROLLER_BARCODE_ERROR_ORDER_ID'))); return false; } $basketItem = null; $result = false; $registry = Sale\Registry::getInstance(Sale\Registry::REGISTRY_TYPE_ORDER); /** @var Sale\Order $orderClass */ $orderClass = $registry->getOrderClassName(); $order = $orderClass::load($orderId); if ($order) { $basket = $order->getBasket(); if ($basket) { $basketItem = $basket->getItemById($basketId); } } if ($basketItem) { $result = \Bitrix\Sale\Provider::checkProductBarcode( $basketItem, [ 'BARCODE' => $barcode, 'STORE_ID' => $storeId ]); } return ['RESULT' => $result]; } protected function checkPermission($permissionType) { $result = self::getApplication()->GetGroupRight("sale") >= $permissionType; if(!$result) { $this->addError(new Error('Access denied')); } return $result; } protected static function getApplication() { /** @global \CMain $APPLICATION */ global $APPLICATION; return $APPLICATION; } }