CanDoOperation('view_other_settings') && !$USER->CanDoOperation('edit_other_settings')) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); if ( !isset($_REQUEST["back_url_settings"]) || !str_starts_with($_REQUEST["back_url_settings"], '/') || str_starts_with($_REQUEST["back_url_settings"], '//') ) { $_REQUEST["back_url_settings"] = ''; } IncludeModuleLangFile(__FILE__); $arModules = array( "main"=>array( "PAGE"=>$_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/options.php", "NAME"=>GetMessage("MAIN_KERNEL"), "SORT"=>-1, ) ); $adminPage->Init(); foreach($adminPage->aModules as $module) { if($APPLICATION->GetGroupRight($module) < "R") continue; if($module == "main") continue; $ifile = getLocalPath("modules/".$module."/install/index.php"); $ofile = getLocalPath("modules/".$module."/options.php"); if($ifile !== false && $ofile !== false) { $info = CModule::CreateModuleObject($module); $arModules[$module]["PAGE"] = $_SERVER["DOCUMENT_ROOT"].$ofile; $arModules[$module]["NAME"] = $info->MODULE_NAME; $arModules[$module]["SORT"] = $info->MODULE_SORT; } } \Bitrix\Main\Type\Collection::sortByColumn( $arModules, ['SORT' => SORT_ASC, 'NAME' => SORT_STRING], '', null, true ); $mid = $_REQUEST["mid"] ?? ''; if($mid == "" || !isset($arModules[$mid]) || !file_exists($arModules[$mid]["PAGE"])) $mid = "main"; ob_start(); include($arModules[$mid]["PAGE"]); $strModuleSettingsTabs = ob_get_contents(); ob_end_clean(); $APPLICATION->SetTitle(GetMessage("MAIN_TITLE")); require_once ($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_admin_after.php"); ?>

'') COption::SetOptionString($module_id, $name, $_REQUEST[$name."_all"], $arOption[1]); else COption::RemoveOption($module_id, $name); $queryObject = \Bitrix\Main\SiteTable::getList(array( 'select' => array('LID', 'NAME'), 'filter' => array(), 'order' => array('SORT' => 'ASC'), )); while ($site = $queryObject->fetch()) { if (isset($_REQUEST[$name."_".$site["LID"]]) && $_REQUEST[$name."_".$site["LID"]] <> '' && !isset($_REQUEST[$name."_all"])) { $val = $_REQUEST[$name."_".$site["LID"]] ?? null; if ($arOption[3][0] == "checkbox" && $val != "Y") { $val = "N"; } elseif ($arOption[3][0] == "multiselectbox" && is_array($val)) { $val = implode(",", $val); } elseif ($val === null) { $val = ''; } elseif (!is_scalar($val)) { continue; } COption::SetOptionString($module_id, $name, $val, $arOption[1], $site["LID"]); } else { COption::RemoveOption($module_id, $name, $site["LID"]); } } } else { if(!isset($_REQUEST[$name])) { if($arOption[3][0] <> 'checkbox' && $arOption[3][0] <> "multiselectbox") { return false; } } $val = $_REQUEST[$name] ?? null; if ($arOption[3][0] == "checkbox" && $val != "Y") { $val = "N"; } elseif ($arOption[3][0] == "multiselectbox" && is_array($val)) { $val = implode(",", $val); } elseif ($arOption[3][0] == "password") { if (isset($_REQUEST[$name . '_delete']) && $_REQUEST[$name . '_delete'] == "Y") { $val = ''; } elseif ($val == '') { return false; } } elseif ($val === null) { $val = ''; } elseif (!is_scalar($val)) { return false; } COption::SetOptionString($module_id, $name, $val, $arOption[1]); } return null; } function __AdmSettingsDrawRow($module_id, $Option) { $arControllerOption = CControllerClient::GetInstalledOptions($module_id); if($Option === null) { return; } if(!is_array($Option)): ?> array("LID", "NAME"), "filter" => array(), "order" => array("SORT" => "ASC"), )); $listSite[""] = GetMessage("MAIN_ADMIN_SITE_DEFAULT_VALUE_SELECT"); $listSite["all"] = GetMessage("MAIN_ADMIN_SITE_ALL_SELECT"); while ($site = $queryObject->fetch()) { $listSite[$site["LID"]] = $site["NAME"]; $val = COption::GetOptionString($module_id, $Option[0], $Option[2], $site["LID"], true); if ($val) $listSiteValue[$Option[0]."_".$site["LID"]] = $val; } $val = ""; if (empty($listSiteValue)) { $value = COption::GetOptionString($module_id, $Option[0], $Option[2]); if ($value) $listSiteValue = array($Option[0]."_all" => $value); else $listSiteValue[$Option[0]] = ""; } } else { $val = COption::GetOptionString($module_id, $Option[0], $Option[2]); } } else { $val = $Option[2]; } if ($isChoiceSites):?> $fieldValue):?> width="50%">".$Option[1].""; else echo $Option[1]; if ($sup_text <> '') { ?> id="" name="" value="Y"'') echo " ".$type[2]?>> size="" maxlength="255" value="" name=""> size="" maxlength="255" value="" name="" placeholder="" autocomplete="new-password" >