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') {
$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();