Files
2026-02-05 16:22:55 +03:00

79 lines
2.5 KiB
PHP

<?php
namespace Bx\Discount\Handlers;
use Bitrix\Main\Entity\Event;
use Bx\Discount\Tools;
class ADiscount
{
protected static array $lang = [
'EMPTY_PRODUCT_TYPE' => 'Не выбран тип визуального представления скидки на сайте'
];
public static function getLang($code)
{
return static::$lang[$code];
}
protected static function isValidData()
{
return isset($_POST['PRODUCT_TYPE']) && $_POST['PRODUCT_TYPE'] !== '0' && $_POST['PRODUCT_TYPE'] !== '';
}
protected static function updateAdditionalDiscountData($id)
{
$discountFactory = discountApp()->factory()->main()->getDiscountFactory();
return $discountFactory->updateOrCreate([
'=DISCOUNT_ID' => $id,
], [
'DISCOUNT_ID' => $id,
'PRODUCT_TYPE' => (string)$_POST['PRODUCT_TYPE'],
'MIN_COUNT_PROD' => (int)$_POST['MIN_COUNT_PROD'],
]);
}
protected static function addAdditionalDiscountData($id)
{
$discountFactory = discountApp()->factory()->main()->getDiscountFactory();
return $discountFactory->updateOrCreate([
'=DISCOUNT_ID' => $id,
], [
'DISCOUNT_ID' => $id,
'PRODUCT_TYPE' => (string)$_POST['PRODUCT_TYPE'],
'MIN_COUNT_PROD' => (int)$_POST['MIN_COUNT_PROD'],
]);
}
/**
* Немного бреда с седых времен
* я хз что тут происходит
* коммент от старого разработчика: при поиске оптимальной цены на товар не учитываем скидки типа "От кол-ва"
* @see /local/php_interface/include/events.php [git history]
* @see BxDiscount [old functions]
*
* Желательно избавиться от функционала Q !!!
*
* @param $arResult
* @return void
*/
public static function onGetDiscountResult(&$arResult)
{
global $scriptType;
$counter = 1;
if($scriptType === 'XML_EXPORT'){
$counter = 0;
}
if(count($arResult) > $counter){
foreach($arResult as $key => $discount){
$discountViewType = Tools::getDiscountEntity($discount['ID']);
if($discountViewType['PRODUCT_TYPE'] === 'Q'){
unset($arResult[$key]);
}
}
}
}
}