if (!isset($by)) {
    $by = 'ID';
}
if (!isset($order)) {
    $order = 'ASC';
}
$filter = array('=DISCOUNT_ID' => $discountID);
$filterFields = array('find_discount_id');
$adminList->InitFilter($filterFields);
if (!$couponsReadOnly && $adminList->EditAction()) {
    if (isset($FIELDS) && is_array($FIELDS)) {
        $conn = Application::getConnection();
        Internals\DiscountCouponTable::disableCheckCouponsUse();
        foreach ($FIELDS as $couponID => $fields) {
            $couponID = (int) $couponID;
            if ($couponID <= 0 || !$adminList->IsUpdated($couponID)) {
                continue;
            }
            unset($fields['DISCOUNT_ID']);
            $conn->startTransaction();
            $result = Internals\DiscountCouponTable::prepareCouponData($fields);
            if ($result->isSuccess()) {
                $result = Internals\DiscountCouponTable::update($couponID, $fields);
            }
            if ($result->isSuccess()) {
                $conn->commitTransaction();
            } else {
                $conn->rollbackTransaction();
                $adminList->AddUpdateError(implode('<br>', $result->getErrorMessages()), $couponID);
            }
            unset($result);
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/iblock/classes/general/subelement.php';
$sTableID = "tbl_catalog_sub_coupon_" . md5($strSubIBlockType . "." . $intSubIBlockID);
$arHideFields = array('DISCOUNT_ID');
$lAdmin = new CAdminSubList($sTableID, false, $strSubElementAjaxPath, $arHideFields);
$arFilterFields = array("find_discount_id");
$lAdmin->InitFilter($arFilterFields);
$arFilter = array("DISCOUNT_ID" => $intDiscountID);
if (!($USER->CanDoOperation('catalog_read') || $USER->CanDoOperation('catalog_discount'))) {
    return '';
}
$boolCouponsReadOnly = isset($boolCouponsReadOnly) && false === $boolCouponsReadOnly ? false : true;
if ($lAdmin->EditAction() && !$boolCouponsReadOnly) {
    foreach ($_POST['FIELDS'] as $ID => $arFields) {
        $DB->StartTransaction();
        $ID = intval($ID);
        if (!$lAdmin->IsUpdated($ID)) {
            continue;
        }
        if (!CCatalogDiscountCoupon::Update($ID, $arFields)) {
            if ($ex = $APPLICATION->GetException()) {
                $lAdmin->AddUpdateError($ex->GetString(), $ID);
            } else {
                $lAdmin->AddUpdateError(str_replace("#ID#", $ID, GetMessage("ERROR_UPDATE_DISCOUNT_CPN")), $ID);
            }
            $DB->Rollback();
        }
        $DB->Commit();
    }
}
if (($arID = $lAdmin->GroupAction()) && !$boolCouponsReadOnly) {
    if ($_REQUEST['action_target'] == 'selected') {
Example #3
0
    $arFilter["=PROPERTY_" . $arSubCatalog['SKU_PROPERTY_ID']] = $intSubPropValue;
} else {
    $arFilter["=PROPERTY_" . $arSubCatalog['SKU_PROPERTY_ID']] = $intSubPropValue;
}
$arFilter["CHECK_PERMISSIONS"] = "Y";
$arFilter["MIN_PERMISSION"] = "R";
if (true == defined('B_ADMIN_SUBELEMENTS_LIST') && true == B_ADMIN_SUBELEMENTS_LIST) {
    if ($lAdmin->EditAction()) {
        if (is_array($_FILES['FIELDS'])) {
            CAllFile::ConvertFilesToPost($_FILES['FIELDS'], $_POST['FIELDS']);
        }
        if (is_array($FIELDS_del)) {
            CAllFile::ConvertFilesToPost($FIELDS_del, $_POST['FIELDS'], "del");
        }
        foreach ($_POST['FIELDS'] as $subID => $arFields) {
            if (!$lAdmin->IsUpdated($subID)) {
                continue;
            }
            $subID = IntVal($subID);
            $arRes = CIBlockElement::GetByID($subID);
            $arRes = $arRes->Fetch();
            if (!$arRes) {
                continue;
            }
            $WF_ID = $subID;
            if ($boolSubWorkFlow) {
                $WF_ID = CIBlockElement::WF_GetLast($subID);
                if ($WF_ID != $subID) {
                    $rsData2 = CIBlockElement::GetByID($WF_ID);
                    if ($arRes = $rsData2->Fetch()) {
                        $WF_ID = $arRes["ID"];
$arFilter = array(
	"DISCOUNT_ID" => $intDiscountID,
);

if (!($USER->CanDoOperation('catalog_read') || $USER->CanDoOperation('catalog_discount')))
	return '';

$boolCouponsReadOnly = (isset($boolCouponsReadOnly) && false === $boolCouponsReadOnly ? false : true);

if ($lAdmin->EditAction() && !$boolCouponsReadOnly)
{
	foreach ($_POST['FIELDS'] as $ID => $arFields)
	{
		$ID = (int)$ID;

		if ($ID <= 0 || !$lAdmin->IsUpdated($ID))
			continue;

		$DB->StartTransaction();
		if (!CCatalogDiscountCoupon::Update($ID, $arFields))
		{
			if ($ex = $APPLICATION->GetException())
				$lAdmin->AddUpdateError($ex->GetString(), $ID);
			else
				$lAdmin->AddUpdateError(str_replace("#ID#", $ID, GetMessage("ERROR_UPDATE_DISCOUNT_CPN")), $ID);

			$DB->Rollback();
		}
		else
		{
			$DB->Commit();