check(ActionDictionary::ACTION_CATALOG_READ) || $accessController->check(ActionDictionary::ACTION_PRODUCT_DISCOUNT_SET))) { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } $bReadOnly = !$accessController->check(ActionDictionary::ACTION_PRODUCT_DISCOUNT_SET); if ($ex = $APPLICATION->GetException()) { require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/include/prolog_admin_after.php"); ShowError($ex->GetString()); require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/include/epilog_admin.php"); die(); } IncludeModuleLangFile(__FILE__); $returnUrl = ''; if (!empty($_REQUEST['return_url'])) { $currentUrl = $APPLICATION->GetCurPage(); if (mb_strtolower(mb_substr($_REQUEST['return_url'], mb_strlen($currentUrl))) != mb_strtolower($currentUrl)) { $returnUrl = $_REQUEST['return_url']; } unset($currentUrl); } $aTabs = array( array("DIV" => "edit1", "TAB" => GetMessage("CDEN_TAB_DISCOUNT"), "ICON" => "catalog", "TITLE" => GetMessage("CDEN_TAB_DISCOUNT_DESCR")), ); $tabControl = new CAdminForm('catalogCouponEdit', $aTabs); $tabControl->SetShowSettings(false); $errorMessage = ''; $bVarsFromForm = false; $ID = 0; if (isset($_REQUEST['ID'])) { $ID = (int)$_REQUEST['ID']; if ($ID < 0) $ID = 0; } $arFields = array(); if (!$bReadOnly && $_SERVER['REQUEST_METHOD']=="POST" && !empty($_POST['Update']) && check_bitrix_sessid()) { $DB->StartTransaction(); $arFields = array( "ACTIVE" => (isset($_POST['ACTIVE']) && 'Y' == $_POST['ACTIVE'] ? 'Y' : 'N'), "COUPON" => (isset($_POST["COUPON"]) ? $_POST["COUPON"] : ''), "DATE_APPLY" => (isset($_POST['DATE_APPLY']) ? $_POST['DATE_APPLY'] : ''), "ONE_TIME" => (isset($_POST['ONE_TIME']) ? $_POST['ONE_TIME'] : ''), "DESCRIPTION" => (isset($_POST['DESCRIPTION']) ? $_POST['DESCRIPTION'] : ''), ); if ($ID > 0) { $res = CCatalogDiscountCoupon::Update($ID, $arFields); } else { $arFields['DISCOUNT_ID'] = (isset($_POST['DISCOUNT_ID']) ? $_POST['DISCOUNT_ID'] : 0); $ID = CCatalogDiscountCoupon::Add($arFields); $res = ($ID>0); } if (!$res) { if ($ex = $APPLICATION->GetException()) $errorMessage .= $ex->GetString()."
"; else $errorMessage .= (0 < $ID ? str_replace('#ID#', $ID, GetMessage('DSC_CPN_ERR_UPDATE')) : GetMessage('DSC_CPN_ERR_ADD'))."
"; $bVarsFromForm = true; $DB->Rollback(); } else { $DB->Commit(); if (empty($_POST['apply'])) LocalRedirect("/bitrix/admin/cat_discount_coupon.php?lang=".LANGUAGE_ID.GetFilterParams("filter_", false)); else LocalRedirect("/bitrix/admin/cat_discount_coupon_edit.php?lang=".LANGUAGE_ID."&ID=".$ID.GetFilterParams("filter_", false)); } } if ($ID > 0) $APPLICATION->SetTitle(str_replace("#ID#", $ID, GetMessage("DSC_TITLE_UPDATE"))); else $APPLICATION->SetTitle(GetMessage("DSC_TITLE_ADD")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); $arDefaultValues = array( 'DISCOUNT_ID' => '', 'ACTIVE' => 'Y', 'ONE_TIME' => Catalog\DiscountCouponTable::TYPE_ONE_ORDER, 'COUPON' => '', 'DATE_APPLY' => '', 'DESCRIPTION' => '', ); $arSelect = array_merge(array('ID'), array_keys($arDefaultValues)); $arCoupon = $arDefaultValues; if ($ID > 0) { $rsCoupons = CCatalogDiscountCoupon::GetList(array(), array("ID" => $ID), false, false, $arSelect); if (!($arCoupon = $rsCoupons->Fetch())) { $ID = 0; $arCoupon = $arDefaultValues; } } if ($bVarsFromForm) { if ($ID > 0) { $intDiscountID = $arCoupon['DISCOUNT_ID']; $arCoupon = $arFields; $arCoupon['DISCOUNT_ID'] = $intDiscountID; } else { $arCoupon = $arFields; } } $aMenu = array( array( "TEXT" => GetMessage("DSC_TO_LIST"), "ICON" => "btn_list", "LINK" => "/bitrix/admin/cat_discount_coupon.php?lang=".LANGUAGE_ID.GetFilterParams("filter_", false) ) ); if ($ID > 0 && !$bReadOnly) { $aMenu[] = array("SEPARATOR" => "Y"); $aMenu[] = array( "TEXT" => GetMessage("CDEN_NEW_DISCOUNT"), "ICON" => "btn_new", "LINK" => "/bitrix/admin/cat_discount_coupon_edit.php?lang=".LANGUAGE_ID.GetFilterParams("filter_", false) ); $aMenu[] = array( "TEXT" => GetMessage("CDEN_DELETE_DISCOUNT"), "ICON" => "btn_delete", "LINK" => "javascript:if(confirm('".GetMessage("CDEN_DELETE_DISCOUNT_CONFIRM")."')) window.location='/bitrix/admin/cat_discount_coupon.php?action=delete&ID[]=".$ID."&lang=".LANGUAGE_ID."&".bitrix_sessid_get()."#tb';", "WARNING" => "Y" ); } $context = new CAdminContextMenu($aMenu); $context->Show(); if ($errorMessage !== '') CAdminMessage::ShowMessage($errorMessage); $filterDiscount = array(); if ($ID > 0) $filterDiscount = array('ID' => $arCoupon['DISCOUNT_ID']); $arDiscountList = array(); $rsDiscounts = CCatalogDiscount::GetList( array("NAME" => "ASC"), $filterDiscount, false, false, array("ID", "SITE_ID", "NAME") ); while ($arDiscount = $rsDiscounts->Fetch()) { $arDiscountList[$arDiscount['ID']] = "[".$arDiscount["ID"]."] ".$arDiscount["NAME"]." (".$arDiscount["SITE_ID"].")"; } $arTypeList = Catalog\DiscountCouponTable::getCouponTypes(true); $tabControl->BeginPrologContent(); $tabControl->EndPrologContent(); $tabControl->BeginEpilogContent(); echo GetFilterHiddens("filter_");?> EndEpilogContent(); $tabControl->Begin(array( "FORM_ACTION" => '/bitrix/admin/cat_discount_coupon_edit.php?lang='.LANGUAGE_ID, )); $tabControl->BeginNextFormTab(); if ($ID > 0) $tabControl->AddViewField('ID','ID:',$ID,false); if (!empty($arDiscountList)) { if (0 < $ID) { $tabControl->BeginCustomField("DISCOUNT_ID", GetMessage('DSC_CPN_DISC').':', false); ?> GetCustomLabelHTML(); ?> EndCustomField('DISCOUNT_ID'); } else { $tabControl->AddDropDownField("DISCOUNT_ID", GetMessage('DSC_CPN_DISC').':', true, $arDiscountList, $arCoupon['DISCOUNT_ID']); } } else { $tabControl->BeginCustomField("DISCOUNT_ID", GetMessage('DSC_CPN_DISC').':', true); ?> GetCustomLabelHTML(); ?>   EndCustomField('DISCOUNT_ID'); } $tabControl->AddCheckBoxField("ACTIVE", GetMessage("DSC_ACTIVE").":", false, "Y", $arCoupon['ACTIVE'] == "Y"); $tabControl->BeginCustomField('ONE_TIME', GetMessage('DSC_COUPON_TYPE').':', true); ?> GetCustomLabelHTML(); ?> 1 EndCustomField('ONE_TIME', '' ); $tabControl->BeginCustomField('COUPON', GetMessage("DSC_CPN_CODE").':', true); ?> GetCustomLabelHTML(); ?>   " id="COUPON_GENERATE"> EndCustomField('COUPON', '' ); $tabControl->AddCalendarField('DATE_APPLY', GetMessage("DDSC_CPN_DATE").':', $arCoupon['DATE_APPLY']); $tabControl->AddTextField("DESCRIPTION", GetMessage("DSC_CPN_DESCRIPTION").':', htmlspecialcharsbx($arCoupon['DESCRIPTION']), array("cols" => 50, 'rows' => 6)); $arButtonsParams = array( "disabled" => $bReadOnly, "back_url" => "/bitrix/admin/cat_discount_coupon.php?lang=".LANGUAGE_ID.GetFilterParams("filter_", false) ); $tabControl->Buttons($arButtonsParams); $tabControl->Show(); echo BeginNote(); ?>1