Loc::loadMessages(__FILE__); require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/iblock/classes/general/subelement.php'; $adminListTableID = 'tbl_sale_sub_coupons_' . md5($discountID); $hideFields = array('DISCOUNT_ID'); $adminSort = new CAdminSubSorting($adminListTableID, 'ID', 'ASC', 'by', 'order', $couponsAjaxPath); $adminList = new CAdminSubList($adminListTableID, $adminSort, $couponsAjaxPath, $hideFields); unset($hideFields); 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); }
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/iblock/classes/general/subelement.php'; $dbrFProps = CIBlockProperty::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("IBLOCK_ID" => $intSubIBlockID, "ACTIVE" => "Y", "CHECK_PERMISSIONS" => "N")); $arProps = array(); while ($arProp = $dbrFProps->GetNext()) { $arProp["PROPERTY_USER_TYPE"] = 0 < strlen($arProp["USER_TYPE"]) ? CIBlockProperty::GetUserType($arProp["USER_TYPE"]) : array(); $arProps[] = $arProp; } $sTableID = "tbl_iblock_sub_element_" . md5($strSubIBlockType . "." . $intSubIBlockID); $arHideFields = array('PROPERTY_' . $arCatalog['SKU_PROPERTY_ID']); $lAdmin = new CAdminSubList($sTableID, false, $strSubElementAjaxPath, $arHideFields); // only sku property filter $arFilterFields = array("find_el_property_" . $arCatalog['SKU_PROPERTY_ID']); $find_section_section = -1; //We have to handle current section in a special way $section_id = intval($find_section_section); $lAdmin->InitFilter($arFilterFields); $find_section_section = $section_id; //This is all parameters needed for proper navigation //$sThisSectionUrl = '&type='.urlencode($strSubIBlockType).'&lang='.LANG.'&IBLOCK_ID='.$intSubIBlockID.'&find_section_section='.intval($find_section_section); $sThisSectionUrl = ''; // simple filter $arFilter = array("IBLOCK_ID" => $intSubIBlockID); if (0 < $intSubPropValue) { $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()) {