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/php_interface/wbs24.lib/lib/Price/ |
Upload File : |
<?php namespace Wbs24\Lib\Price; class WholesalePrice { protected static $disableHandlerExecute = false; protected const WHOLESALE_PRICE_ID = 3; // пока не используется protected const WHOLESALE_GROUP_ID = 9; public static function onGetOptimalPriceHandler($intProductID, $quantity = 1, $arUserGroups = array(), $renewal = "N", $arPrices, $siteID = false, $arDiscountCoupons = false) { /* проверяем, что флаг запрета проставлен, если да, то не выполняем обработчик, возвращая true */ if (self::$disableHandlerExecute) return true; /* запрещаем новый вызов обработчика после текущего */ self::$disableHandlerExecute = true; // Проверка является ли текущий пользователь оптовым $ws = new \Wbs24\Lib\Stocks\Wholesale(); $wholesaleBuyer = $ws->isAllowedGroup(); if (!$wholesaleBuyer) return true; \Cmodule::IncludeModule('catalog'); // не используется $res = \CPrice::GetList( array(), array("PRODUCT_ID" => $intProductID, "CATALOG_GROUP_ID" => self::WHOLESALE_PRICE_ID), false, false, array("ID", "CATALOG_GROUP_ID", "PRICE", "CURRENCY") ); $finalPrice = false; if ($arPrice = $res->Fetch()) { $finalPrice = \CCatalogProduct::GetOptimalPrice($intProductID, $quantity = 1, [self::WHOLESALE_GROUP_ID], 'N', [$arPrice]); } /* разблокируем обработчик */ self::$disableHandlerExecute = false; if ($finalPrice) { return $finalPrice; } else { return true; } } }