CanDoOperation('edit_other_settings') && !$USER->CanDoOperation('view_other_settings')) $APPLICATION->AuthForm(Loc::getMessage("ACCESS_DENIED")); $isAdmin = $USER->CanDoOperation('edit_other_settings'); $aTabs = array( array("DIV" => "edit1", "TAB" => Loc::getMessage("MAIN_PARAM"), "TITLE" => Loc::getMessage("MAIN_PARAM_TITLE")), array("DIV" => "edit2", "TAB" => Loc::getMessage("main_culture_edit_tab"), "TITLE" => Loc::getMessage("main_culture_edit_tab_title")), ); $tabControl = new CAdminTabControl("tabControl", $aTabs); /** @var $request Main\HttpRequest */ $request = Main\Context::getCurrent()->getRequest(); $errors = array(); $ID = intval($request["ID"]); $COPY_ID = intval($request["COPY_ID"]); if($request->isPost() && ($request["save"] <> '' || $request["apply"] <> '') && $isAdmin && check_bitrix_sessid()) { //reinit translations Main\ORM\Entity::destroy(CultureTable::class); $arFields = array( "NAME" => $request['NAME'], "FORMAT_DATE" => $request['FORMAT_DATE'], "FORMAT_DATETIME" => $request['FORMAT_DATETIME'], "WEEK_START" => intval($request["WEEK_START"]), "FORMAT_NAME" => $request["FORMAT_NAME"], "CHARSET" => $request['CHARSET'], "DIRECTION" => $request['DIRECTION'], "CODE" => $request['CODE'], "SHORT_DATE_FORMAT" => $request['SHORT_DATE_FORMAT'], "MEDIUM_DATE_FORMAT" => $request['MEDIUM_DATE_FORMAT'], "LONG_DATE_FORMAT" => $request['LONG_DATE_FORMAT'], "FULL_DATE_FORMAT" => $request['FULL_DATE_FORMAT'], "DAY_MONTH_FORMAT" => $request['DAY_MONTH_FORMAT'], "SHORT_TIME_FORMAT" => $request['SHORT_TIME_FORMAT'], "LONG_TIME_FORMAT" => $request['LONG_TIME_FORMAT'], "DAY_SHORT_MONTH_FORMAT" => $request['DAY_SHORT_MONTH_FORMAT'], "DAY_OF_WEEK_MONTH_FORMAT" => $request['DAY_OF_WEEK_MONTH_FORMAT'], "SHORT_DAY_OF_WEEK_MONTH_FORMAT" => $request['SHORT_DAY_OF_WEEK_MONTH_FORMAT'], "SHORT_DAY_OF_WEEK_SHORT_MONTH_FORMAT" => $request['SHORT_DAY_OF_WEEK_SHORT_MONTH_FORMAT'], "AM_VALUE" => $request['AM_VALUE'], "PM_VALUE" => $request['PM_VALUE'], "NUMBER_THOUSANDS_SEPARATOR" => $request['NUMBER_THOUSANDS_SEPARATOR'], "NUMBER_DECIMAL_SEPARATOR" => $request['NUMBER_DECIMAL_SEPARATOR'], "NUMBER_DECIMALS" => $request['NUMBER_DECIMALS'], ); if($ID > 0) { $result = CultureTable::update($ID, $arFields); } else { $result = CultureTable::add($arFields); $ID = $result->getId(); } if($result->isSuccess()) { if($request["save"] <> '') LocalRedirect(BX_ROOT."/admin/culture_admin.php?lang=".LANGUAGE_ID); else LocalRedirect(BX_ROOT."/admin/culture_edit.php?lang=".LANGUAGE_ID."&ID=".$ID."&".$tabControl->ActiveTabParam()); } else { $errors = $result->getErrorMessages(); } } if(empty($errors)) { $culture = false; if($ID > 0 || $COPY_ID > 0) { $cultureId = ($COPY_ID > 0? $COPY_ID : $ID); $culture = CultureTable::getById($cultureId)->fetch(); } if($culture == false) { $culture = CultureTable::createObject()->collectValues(); $weekStart = Loc::getMessage('LANG_EDIT_WEEK_START_DEFAULT'); if($weekStart == '') $weekStart = 1; $culture["WEEK_START"] = $weekStart; } } else { $culture = $request->getPostList()->toArray(); } $APPLICATION->SetTitle(($ID > 0? Loc::getMessage("EDIT_LANG_TITLE") : Loc::getMessage("NEW_LANG_TITLE"))); require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_admin_after.php"); $aMenu = array( array( "TEXT" => Loc::getMessage("RECORD_LIST"), "LINK" => "/bitrix/admin/culture_admin.php?lang=".LANGUAGE_ID, "TITLE" => Loc::getMessage("RECORD_LIST_TITLE"), "ICON" => "btn_list" ) ); if($ID > 0 && $isAdmin) { $aMenu[] = array("SEPARATOR"=>"Y"); $aMenu[] = array( "TEXT" => Loc::getMessage("MAIN_NEW_RECORD"), "LINK" => "/bitrix/admin/culture_edit.php?lang=".LANGUAGE_ID, "TITLE" => Loc::getMessage("MAIN_NEW_RECORD_TITLE"), "ICON" => "btn_new" ); $aMenu[] = array( "TEXT" => Loc::getMessage("MAIN_COPY_RECORD"), "LINK" => "/bitrix/admin/culture_edit.php?lang=".LANGUAGE_ID."&COPY_ID=".$ID, "TITLE" => Loc::getMessage("MAIN_COPY_RECORD_TITLE"), "ICON" => "btn_copy" ); $aMenu[] = array( "TEXT" => Loc::getMessage("MAIN_DELETE_RECORD"), "LINK" => "javascript:if(confirm('".CUtil::JSEscape(Loc::getMessage("MAIN_DELETE_RECORD_CONF"))."')) window.location='/bitrix/admin/culture_admin.php?ID=".$ID."&lang=".LANGUAGE_ID."&".bitrix_sessid_get()."&action_button=delete';", "TITLE" => Loc::getMessage("MAIN_DELETE_RECORD_TITLE"), "ICON" => "btn_delete" ); } $context = new CAdminContextMenu($aMenu); $context->Show(); if(!empty($errors)) { CAdminMessage::ShowMessage(join("\n", $errors)); } $cultureField = array(); foreach($culture as $key => $val) { $cultureField[$key] = htmlspecialcharsbx($val); } ?>