- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/internals/discountgroup.php
- Класс: BitrixSaleInternalsDiscountGroupTable
- Вызов: DiscountGroupTable::updateByDiscount
static function updateByDiscount($discount, $groupList, $active, $clear)
{
$discount = (int)$discount;
if ($discount <= 0)
return false;
$clear = ($clear === true);
if ($clear)
{
self::deleteByDiscount($discount);
}
if (is_array($groupList))
{
$active = (string)$active;
if ($active != 'Y' && $active != 'N')
{
$discountIterator = self::getList(array(
'select' => array('ACTIVE'),
'filter' => array('=ID' => $discount)
));
if ($discountActive = $discountIterator->fetch())
{
$active = $discountActive['ACTIVE'];
}
unset($discountActive, $discountIterator);
}
if ($active == 'Y' || $active == 'N')
{
if (empty($groupList))
$groupList[] = -1;
foreach ($groupList as &$group)
{
$fields = array(
'DISCOUNT_ID' => $discount,
'ACTIVE' => $active,
'GROUP_ID' => $group
);
$result = self::add($fields);
}
unset($group);
}
}
return true;
}