Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_before.php');
- require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_admin_after.php');
- $moduleID = 'fss.corpsite';
- $module_id = basename(dirname(__FILE__));
- use Bitrix\Main\Localization\Loc;
- Loc::loadMessages($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/options.php");
- Loc::loadMessages(__FILE__);
- if($_SERVER['REQUEST_METHOD'] === 'GET'){
- $GLOBALS['APPLICATION']->SetTitle(GetMessage('settings_title'));
- }
- CJSCore::Init(array("jquery"));
- $filter = Array();
- $rsGroups = CGroup::GetList(($by="c_sort"), ($order="desc"), $filter);
- $groups = array();
- while($rsGroups->NavNext(true, "f_")):
- if($f_ID != 1)
- $groups[$f_ID] = $f_NAME;
- endwhile;
- $options = include_once "options_cfg.php";
- $BD_RIGHT = $APPLICATION->GetGroupRight($module_id);
- $arSites = array();
- $db_res = CSite::GetList($by , $sort ,array("ACTIVE"=>"Y"));
- while($res = $db_res->Fetch()){
- $arSites[] = $res;
- }
- if($REQUEST_METHOD=="POST" && strlen($Update.$Apply.$RestoreDefaults)>0 && check_bitrix_sessid()){
- if(strlen($RestoreDefaults)>0){
- \Bitrix\Main\Config\Option::delete($module_id);
- }else{
- \Bitrix\Main\Config\Option::delete($module_id);
- foreach ($_POST as $site=>$option){
- foreach($_POST[$site] as $key=>$val){
- if(substr_count($key,'FSS_CF_')>0){
- \Bitrix\Main\Config\Option::set($module_id,$key,$val,$site);
- }else{
- }
- }
- }
- foreach($arSites as $site){
- foreach($options as $arOptionS){
- if(is_array($arOptionS) && $arOptionS[1]!=='fss_custom'){
- if($arOptionS[1] == 'file_field'){
- $_POST[$site['ID']][$arOptionS[0]] = $_POST[$arOptionS[0].'_'.$site['ID']];
- }
- if($arOptionS[3][0] == "checkbox" && !isset($_POST[$site['ID']][$arOptionS[0]]))
- $_POST[$site][$arOptionS[0]] = "N";
- \Bitrix\Main\Config\Option::set($module_id,$arOptionS[0],$_POST[$site['ID']][$arOptionS[0]],$site['ID']);
- }
- }
- }
- }
- }
- $by = "id";
- $sort = "asc";
- $arTabs = array();
- foreach($arSites as $key => $arSite){
- $arTabs[] = array(
- "DIV" => "fss_options_".($key+1),
- "TAB" => GetMessage('setting_tabs').' '.$arSite["NAME"].' ['.$arSite["ID"].']',
- "ICON" => "settings",
- //"TITLE" => GetMessage('setting_tabs').' '.$arSite["NAME"].'['.$arSite["ID"].']',
- "PAGE_TYPE" => "site_settings",
- "SITE_ID" => $arSite["ID"],
- );
- }
- $tabControl = new \CAdminTabControl("tabControl", $arTabs);
- $tabControl->Begin();
- ?>
- <script>
- function toggleRelationField(el,rel){
- var name = el.attr('name').split('[')[1].split(']')[0];
- if(el.attr('type')=='checkbox'){
- if(el.is(':checked')){
- el.closest('.adm-detail-content-table').find('.'+name+'_rel').show();
- }else{
- el.closest('.adm-detail-content-table').find('.'+name+'_rel').hide();
- }
- }else{
- el.closest('.adm-detail-content-table').find('.'+name+'_rel').hide();
- el.closest('.adm-detail-content-table').find('.sub_fields_'+rel).show();
- }
- }
- </script>
- <form method="post" action="<? echo $APPLICATION->GetCurPage() ?>?mid=<?= urlencode($mid) ?>&lang=<? echo LANGUAGE_ID ?>">
- <?php
- foreach($arTabs as $key => $arTab){
- $tabControl->BeginNextTab();
- foreach ($options as $blockCode => $arBlock) { ?>
- <tr class="heading"><td colspan="2"><?=$arBlock["TITLE"]?></td></tr>
- <?
- foreach($arBlock["OPTIONS"] as $optionCode => $arOption) {
- if($arOption['TYPE']==='file_field'){
- $uploaded = \Bitrix\Main\Config\Option::get($module_id,$optionCode,'',$arTab['SITE_ID']);
- ?>
- <tr>
- <td colspan="2">
- <?php
- if($uploaded){
- $logo_path = CFile::GetPath($uploaded);
- ?>
- <div>
- <input type="hidden" name="<?=$optionCode.'_'.$arTab['SITE_ID']?>" value="<?=$uploaded?>"/>
- <img src="<?php echo $logo_path; ?>" alt="">
- </div>
- <?php
- }
- $APPLICATION->IncludeComponent("bitrix:main.file.input", "drag_n_drop",
- array(
- "INPUT_NAME"=>$optionCode.'_'.$arTab['SITE_ID'],
- "MULTIPLE"=>"N",
- "MODULE_ID"=>"main",
- "MAX_FILE_SIZE"=>"",
- "ALLOW_UPLOAD"=>"I",
- "ALLOW_UPLOAD_EXT"=>""
- ),
- false
- );?>
- </td>
- </tr>
- <?}elseif($arOption['TYPE']==='fss_custom'){
- if($arOption['TYPE']==='textarea'):?>
- <?php $htmlOptions = ''; foreach ($arOption['htmlOptions'] as $o_key=>$o_val){$htmlOptions.=' '.$o_key.'="'.$o_val.'"';}?>
- <tr>
- <td style="vertical-align: top;"><?php echo $arOption['TYPE']; ?></td>
- <td>
- <textarea name="<?=$arTab['SITE_ID'];?>[<?php echo $optionCode; ?>]" <?php echo $htmlOptions ?>><?=\Bitrix\Main\Config\Option::get($module_id,$optionCode,'',$arTab['SITE_ID']);?></textarea>
- </td>
- </tr>
- <?php endif; if($arOption['TYPE']=='select'):?>
- <tr>
- <td><?php echo $arOption['TYPE']; ?></td>
- <td>
- <?php $htmlOptions = ''; foreach ($arOption['htmlOptions'] as $o_key=>$o_val){$htmlOptions.=' '.$o_key.'="'.$o_val.'"';}?>
- <?php $keys_for_rel = array(); ?>
- <select name="<?=$arTab['SITE_ID'];?>[<?php echo $optionCode; ?>]"<?php echo $htmlOptions ?>>
- <?php foreach($arOption['values'] as $key=>$item): ?>
- <?php $keys_for_rel[] = $key; ?>
- <option <?php if(\Bitrix\Main\Config\Option::get($module_id,$optionCode,'',$arTab['SITE_ID'])==$key): ?> selected <?php endif; ?> value="<?php echo $key; ?>"><?php echo $item; ?></option>
- <?php endforeach; ?>
- </select>
- </td>
- </tr>
- <?php endif; ?>
- <?php if($arOption['TYPE']=='checkbox'):?>
- <tr>
- <td><?php echo $arOption[2]; ?></td>
- <td>
- <?php $htmlOptions = ''; foreach ($arOption['htmlOptions'] as $o_key=>$o_val){$htmlOptions.=' '.$o_key.'="'.$o_val.'"';}?>
- <?php $keys_for_rel = array('Y'); ?>
- <input name="<?=$arTab['SITE_ID'];?>[<?php echo $optionCode; ?>]" type="checkbox" value="Y" <?php if(\Bitrix\Main\Config\Option::get($module_id,$optionCode,'',$arTab['SITE_ID'])==='Y'): ?> checked <?php endif; ?> <?php echo $htmlOptions; ?>/>
- </td>
- </tr>
- <?php endif; ?>
- <?php foreach ($keys_for_rel as $k_): ?>
- <?php if(isset($arOption['relation_fields'][$k_])): ?>
- <?php foreach($arOption['relation_fields'][$k_] as $subField): ?>
- <?php if($subField[2]=='checkbox'):?>
- <tr class="<?php echo $optionCode; ?>_rel sub_fields_<?php echo $k_; ?>" <?php if(\Bitrix\Main\Config\Option::get($module_id,$optionCode,'',$arTab['SITE_ID'])!==$k_): ?> style="display: none;" <?php endif; ?>>
- <td><?php echo $subField[1]; ?></td>
- <td>
- <input name="<?=$arTab['SITE_ID'];?>[<?php echo $subField[0]; ?>]" type="checkbox" value="Y" <?php if(\Bitrix\Main\Config\Option::get($module_id,$subField[0],'',$arTab['SITE_ID'])==='Y'): ?> checked <?php endif; ?>/>
- </td>
- </tr>
- <?php endif; ?>
- <?php if($subField[2]=='text'):?>
- <tr class="<?php echo $optionCode; ?>_rel sub_fields_<?php echo $k_; ?>" <?php if(\Bitrix\Main\Config\Option::get($module_id,$optionCode,'',$arTab['SITE_ID'])!==$k_): ?> style="display: none;" <?php endif; ?>>
- <td><?php echo $subField[1]; ?></td>
- <td>
- <input name="<?=$arTab['SITE_ID'];?>[<?php echo $subField[0]; ?>]" type="text" value="<?php echo \Bitrix\Main\Config\Option::get($module_id,$subField[0],'',$arTab['SITE_ID']); ?>" />
- </td>
- </tr>
- <?php endif; ?>
- <?php endforeach; ?>
- <?php endif; ?>
- <?php endforeach; ?>
- <?php }else{
- if($optionCode == 'BD_SITE_TIMEZONE_OFFSET'){
- ?>
- <tr>
- <td align="center" colspan="2"><?=GetMessage('server_time')?>: <?=date('H:i:s')?>, <?=GetMessage('server_time2')?></td>
- </tr>
- <?php
- }
- //BD__AdmSettingsDrawRow($module_id, $arOption,$arTab['SITE_ID']);
- }
- }
- }
- }
- ?>
- <?$tabControl->Buttons();?>
- <input name="Update" value="" type="hidden">
- <input class="adm-btn-save" type="submit" name="Apply" value="<?=Loc::getMessage("MAIN_OPT_APPLY")?>" title="<?=Loc::getMessage("MAIN_OPT_APPLY_TITLE")?>">
- <?if(strlen($_REQUEST["back_url_settings"])>0):?>
- <input type="button" name="Cancel" value="<?=Loc::getMessage("MAIN_OPT_CANCEL")?>" title="<?=Loc::getMessage("MAIN_OPT_CANCEL_TITLE")?>" onclick="window.location='<?=htmlspecialchars(CUtil::addslashes($_REQUEST["back_url_settings"]))?>'">
- <input type="hidden" name="back_url_settings" value="<?=htmlspecialchars($_REQUEST["back_url_settings"])?>">
- <?endif?>
- <?=bitrix_sessid_post();?>
- <?php $tabControl->End(); ?>
- </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement