%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/bitrix/components/bitrix/lists.field.edit/templates/.default/
Upload File :
Create Path :
Current File : /home/bitrix/www/bitrix/components/bitrix/lists.field.edit/templates/.default/template.php

<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)
	die();

/** @var array $arParams */
/** @var array $arResult */
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/** @global CDatabase $DB */
/** @var CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var CBitrixComponent $component */

CJSCore::Init(array('lists', 'translit'));
$jsClass = 'ListsFieldEditClass_'.$arResult['RAND_STRING'];
$socnetGroupId = $arParams["SOCNET_GROUP_ID"] ? $arParams["SOCNET_GROUP_ID"] : 0;
$generateCode = false;
if(!$arResult["FIELD_ID"] && $arResult["IS_PROPERTY"])
	$generateCode = true;

$listAction = array();
if($arResult["FIELD_ID"] && $arResult["FIELD_ID"] != "NAME")
{
	$listAction[] = array(
		"id" => "deleteField",
		"text" => GetMessage("CT_BLFE_TOOLBAR_DELETE"),
		"action" => "BX.Lists['".$jsClass."'].deleteField('form_".$arResult["FORM_ID"]."',
			'".GetMessage("CT_BLFE_TOOLBAR_DELETE_WARNING")."')"
	);
}

$isBitrix24Template = (SITE_TEMPLATE_ID == "bitrix24");
$pagetitleAlignRightContainer = "lists-align-right-container";
if($isBitrix24Template)
{
	$this->SetViewTarget("pagetitle", 100);
	$pagetitleAlignRightContainer = "";
}
elseif(!IsModuleInstalled("intranet"))
{
	$APPLICATION->SetAdditionalCSS("/bitrix/js/lists/css/intranet-common.css");
}
?>
<div class="pagetitle-container pagetitle-align-right-container <?=$pagetitleAlignRightContainer?>">
	<a href="<?=$arResult["LIST_FIELDS_URL"]?>" class="lists-list-back">
		<?=GetMessage("CT_BLFE_TOOLBAR_RETURN_LIST_ELEMENT")?>
	</a>
	<?if($listAction):?>
		<span id="lists-title-action" class="webform-small-button webform-small-button-transparent bx-filter-button">
		<span class="webform-small-button-text"><?=GetMessage("CT_BLFE_TOOLBAR_ACTION")?></span>
		<span id="lists-title-action-icon" class="webform-small-button-icon"></span>
	</span>
	<?endif;?>
</div>
<?
if($isBitrix24Template)
{
	$this->EndViewTarget();
}

$customHtml = "";

$arTab1Fields = array(
	array(
		"id"=>"NAME",
		"name"=>GetMessage("CT_BLFE_FIELD_NAME"),
		"required"=>true,
		"params" => array("id" => 'bx-lists-field-name')
	)
);

if($arResult["FIELD_ID"] == "NAME" && $arParams["IBLOCK_TYPE_ID"] == COption::GetOptionString("lists", "livefeed_iblock_type_id"))
{
	$arTab1Fields[] = array(
		"id"=>"DEFAULT_VALUE",
		"name"=>GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
		"type"=>"text",
		"value"=>$arResult["FORM_DATA"]["DEFAULT_VALUE"]
	);
}

if($arResult["IS_READ_ONLY"])
	$arTab1Fields[] = array(
		"id"=>"IS_REQUIRED",
		"name"=>GetMessage("CT_BLFE_FIELD_IS_REQUIRED"),
		"type"=>"custom",
		"value"=>'<input type="hidden" name="IS_REQUIRED" value="N">'.GetMessage("MAIN_NO"),
	);
elseif($arResult["CAN_BE_OPTIONAL"])
	$arTab1Fields[] = array(
		"id"=>"IS_REQUIRED",
		"name"=>GetMessage("CT_BLFE_FIELD_IS_REQUIRED"),
		"type"=>"checkbox",
	);
else
	$arTab1Fields[] = array(
		"id"=>"IS_REQUIRED",
		"name"=>GetMessage("CT_BLFE_FIELD_IS_REQUIRED"),
		"type"=>"custom",
		"value"=>'<input type="hidden" name="IS_REQUIRED" value="Y">'.GetMessage("MAIN_YES"),
	);

if($arResult["IS_MULTIPLE_ONLY"])
{
	$arTab1Fields[] = array(
		"id"=>"MULTIPLE",
		"name"=>GetMessage("CT_BLFE_FIELD_MULTIPLE"),
		"type"=>"custom",
		"value"=>'<input type="hidden" name="MULTIPLE" value="Y">'.GetMessage("MAIN_YES"),
	);
}
else
{
	if($arResult["CAN_BE_MULTIPLE"])
	{
		$arTab1Fields[] = array(
			"id"=>"MULTIPLE",
			"name"=>GetMessage("CT_BLFE_FIELD_MULTIPLE"),
			"type"=>"checkbox",
		);
	}
	else
	{
		$arTab1Fields[] = array(
			"id"=>"MULTIPLE",
			"name"=>GetMessage("CT_BLFE_FIELD_MULTIPLE"),
			"type"=>"label",
			"value"=>GetMessage("MAIN_NO"),
		);
	}
}

if ($arResult["FIELD_ID"])
{
	$arTab1Fields[] = array(
		"id"=>"TYPE",
		"name"=>GetMessage("CT_BLFE_FIELD_TYPE"),
		"type"=>"label",
		"value"=>$arResult["TYPES"][$arResult["FIELD"]["TYPE"]],
	);
	$customHtml .= '<input type="hidden" name="TYPE" value="'.$arResult["FIELD"]["TYPE"].'">';
}
else
{
	$arTab1Fields[] = array(
		"id"=>"TYPE",
		"name"=>GetMessage("CT_BLFE_FIELD_TYPE"),
		"type"=>"list",
		"items"=>$arResult["TYPES"],
		"params"=>array(
			"OnChange"=>"javascript:BX.Lists['".$jsClass."'].changeType('form_".$arResult["FORM_ID"]."')",
		),
	);
}

$arUserType = $arResult["FIELD"]["PROPERTY_USER_TYPE"];
$arPropertyFields = array();
$USER_TYPE_SETTINGS_HTML = "";
if(is_array($arUserType))
{
	if(array_key_exists("GetSettingsHTML", $arUserType))
	{
		$USER_TYPE_SETTINGS_HTML = call_user_func_array($arUserType["GetSettingsHTML"],
			array(
				$arResult["FIELD"],
				array(
					"NAME"=>"USER_TYPE_SETTINGS",
				),
				&$arPropertyFields,
			));
	}
}

$readOnlyAdd = true;
$readOnlyEdit = true;
$showAddForm = true;
if($arResult["IS_READ_ONLY"])
{
	$readOnlyAdd = false;
	$readOnlyEdit = false;
	$showAddForm = false;
}
elseif($arResult["FORM_DATA"]["TYPE"] == "NAME")
{
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE",
		"name" => GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
	);

	$readOnlyAdd = false;
}
elseif($arResult["FORM_DATA"]["TYPE"] == "SORT")
{
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE",
		"name" => GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
	);
}
elseif($arResult["FORM_DATA"]["TYPE"] == "ACTIVE_FROM")
{
	$arTab1Fields[] = array(
		"id"=>"DEFAULT_VALUE",
		"name"=>GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
		"type"=>"list",
		"items" => array(
			"" => GetMessage("CT_BLFE_FIELD_ACTIVE_FROM_EMPTY"),
			"=now" => GetMessage("CT_BLFE_FIELD_ACTIVE_FROM_NOW"),
			"=today" => GetMessage("CT_BLFE_FIELD_ACTIVE_FROM_TODAY"),
		),
	);
}
elseif($arResult["FORM_DATA"]["TYPE"] == "ACTIVE_TO")
{
	//TODO
	$readOnlyAdd = false;
}
elseif($arResult["FORM_DATA"]["TYPE"] == "PREVIEW_PICTURE")
{
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[FROM_DETAIL]",
		"name" => GetMessage("CT_BLFE_FIELD_PREVIEW_PICTURE_FROM_DETAIL"),
		"type" => "checkbox",
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["FROM_DETAIL"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["FROM_DETAIL"] : '',
	);
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[DELETE_WITH_DETAIL]",
		"name" => GetMessage("CT_BLFE_FIELD_PREVIEW_PICTURE_DELETE_WITH_DETAIL"),
		"type" => "checkbox",
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["DELETE_WITH_DETAIL"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["DELETE_WITH_DETAIL"] : '',
	);
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[UPDATE_WITH_DETAIL]",
		"name" => GetMessage("CT_BLFE_FIELD_PREVIEW_PICTURE_UPDATE_WITH_DETAIL"),
		"type" => "checkbox",
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["UPDATE_WITH_DETAIL"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["UPDATE_WITH_DETAIL"] : '',
	);
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[SCALE]",
		"name" => GetMessage("CT_BLFE_FIELD_PICTURE_SCALE"),
		"type" => "checkbox",
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["SCALE"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["SCALE"] : '',
	);
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[WIDTH]",
		"name" => GetMessage("CT_BLFE_FIELD_PICTURE_WIDTH"),
		"params" => array("size" => 7),
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["WIDTH"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["WIDTH"] : '',
	);
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[HEIGHT]",
		"name" => GetMessage("CT_BLFE_FIELD_PICTURE_HEIGHT"),
		"params" => array("size" => 7),
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["HEIGHT"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["HEIGHT"] : '',
	);
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[IGNORE_ERRORS]",
		"name" => GetMessage("CT_BLFE_FIELD_PICTURE_IGNORE_ERRORS"),
		"type" => "checkbox",
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["IGNORE_ERRORS"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["IGNORE_ERRORS"] : '',
	);

	$readOnlyAdd = false;
}
elseif($arResult["FORM_DATA"]["TYPE"] == "PREVIEW_TEXT" || $arResult["FORM_DATA"]["TYPE"] == "DETAIL_TEXT")
{
	$arTab1Fields[] = array(
		"id"=>"SETTINGS[USE_EDITOR]",
		"name"=>GetMessage("CT_BLFE_TEXT_USE_EDITOR"),
		"type"=>"checkbox",
		"value"=>$arResult["FORM_DATA"]["SETTINGS"]["USE_EDITOR"],
	);
	$arTab1Fields[] = array(
		"id"=>"SETTINGS[WIDTH]",
		"name"=>GetMessage("CT_BLFE_TEXT_WIDTH_NEW"),
		"params" => array("size" => 7),
		"value"=>$arResult["FORM_DATA"]["SETTINGS"]["WIDTH"] ? $arResult["FORM_DATA"]["SETTINGS"]["WIDTH"] : 600,
	);
	$arTab1Fields[] = array(
		"id"=>"SETTINGS[HEIGHT]",
		"name"=>GetMessage("CT_BLFE_TEXT_HEIGHT_NEW"),
		"params" => array("size" => 7),
		"value"=>$arResult["FORM_DATA"]["SETTINGS"]["HEIGHT"] ? $arResult["FORM_DATA"]["SETTINGS"]["HEIGHT"] : 200,
	);
	$arTab1Fields[] = array(
		"id"=>"DEFAULT_VALUE",
		"name"=>GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
		"type"=>"textarea",
		"rows"=>"5"
	);
}
elseif($arResult["FORM_DATA"]["TYPE"] == "DETAIL_PICTURE")
{
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[SCALE]",
		"name" => GetMessage("CT_BLFE_FIELD_PICTURE_SCALE"),
		"type" => "checkbox",
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["SCALE"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["SCALE"] : '',
	);
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[WIDTH]",
		"name" => GetMessage("CT_BLFE_FIELD_PICTURE_WIDTH"),
		"params" => array("size" => 7),
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["WIDTH"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["WIDTH"] : '',
	);
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[HEIGHT]",
		"name" => GetMessage("CT_BLFE_FIELD_PICTURE_HEIGHT"),
		"params" => array("size" => 7),
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["HEIGHT"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["HEIGHT"] : '',
	);
	$arTab1Fields[] = array(
		"id" => "DEFAULT_VALUE[IGNORE_ERRORS]",
		"name" => GetMessage("CT_BLFE_FIELD_PICTURE_IGNORE_ERRORS"),
		"type" => "checkbox",
		"value" => isset($arResult["FORM_DATA"]["DEFAULT_VALUE"]["IGNORE_ERRORS"]) ? $arResult["FORM_DATA"]["DEFAULT_VALUE"]["IGNORE_ERRORS"] : '',
	);

	$readOnlyAdd = false;
}
elseif($arResult["FORM_DATA"]["TYPE"] == "S")
{
	if ($arResult["FORM_DATA"]["ROW_COUNT"] > 1)
	{
		$arTab1Fields[] = array(
			"id" => "DEFAULT_VALUE",
			"name" => GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
			"type" => "textarea",
			"params" => array(
				"cols" => $arResult["FORM_DATA"]["COL_COUNT"],
				"rows" => $arResult["FORM_DATA"]["ROW_COUNT"],
				"style" => "width:auto;height:auto;",
			),
		);
	}
	else
	{
		$arTab1Fields[] = array(
			"id" => "DEFAULT_VALUE",
			"name" => GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
			"params" => array(
				"size" => $arResult["FORM_DATA"]["COL_COUNT"],
			),
		);
	}
}
elseif($arResult["FORM_DATA"]["TYPE"] == "N")
{
	$arTab1Fields[] = array(
		"id"=>"DEFAULT_VALUE",
		"name"=>GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
	);
}
elseif(preg_match("/^(L|L:)/", $arResult["FORM_DATA"]["TYPE"]))
{

}
elseif(preg_match("/^(F|F:)/", $arResult["FORM_DATA"]["TYPE"]))
{
	//No default value input

	$readOnlyAdd = false;
}
elseif(preg_match("/^(G|G:)/", $arResult["FORM_DATA"]["TYPE"]))
{
	$LINK = $arResult["FORM_DATA"]["LINK_IBLOCK_ID"];
	if($LINK <= 0)
		list($LINK,) = each($arResult["LINK_IBLOCKS"]);

	$items = array("" => GetMessage("CT_BLFE_NO_VALUE"));
	if ($LINK > 0)
	{
		$rsSections = CIBlockSection::GetTreeList(Array("IBLOCK_ID"=>$LINK));
		while($ar = $rsSections->Fetch())
			$items[$ar["ID"]] = str_repeat(" . ", $ar["DEPTH_LEVEL"]).$ar["NAME"];
	}

	$arTab1Fields[] = array(
		"id"=>"DEFAULT_VALUE",
		"name"=>GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
		"type"=>"list",
		"items"=>$items,
	);
}
elseif($arResult["FORM_DATA"]["TYPE"] == "N:Sequence")
{
	$readOnlyAdd = false;
	$readOnlyEdit = false;
}
elseif(preg_match("/^(E|E:)/", $arResult["FORM_DATA"]["TYPE"]))
{
	//No default value input
	$readOnlyAdd = false;
}
elseif(!is_array($arPropertyFields["HIDE"]) || !in_array("DEFAULT_VALUE", $arPropertyFields["HIDE"]))
{//Show default property value input if it was not cancelled by property
	if(is_array($arUserType))
	{
		switch($arUserType["USER_TYPE"])
		{
			case "DiskFile":
				$readOnlyAdd = false;
				break;
			case "map_yandex":
				$arResult["FIELD"]["MULTIPLE"] =
					isset($arResult["FIELD"]["MULTIPLE"]) ? $arResult["FIELD"]["MULTIPLE"] : "N";
				break;
		}

		if(array_key_exists("GetPublicEditHTML", $arUserType))
		{
			$html = '';
			$html = call_user_func_array($arUserType["GetPublicEditHTML"],
				array(
					$arResult["FIELD"],
					array(
						"VALUE"=>$arResult["FORM_DATA"]["~DEFAULT_VALUE"],
						"DESCRIPTION"=>""
					),
					array(
						"VALUE"=>"DEFAULT_VALUE",
						"DESCRIPTION"=>"",
						"MODE" => "EDIT_FORM",
						"FORM_NAME" => "form_".$arResult["FORM_ID"],
						"MULTIPLE" => $arResult["FORM_DATA"]["MULTIPLE"]
					),
				)
			);

			$arTab1Fields[] = array(
				"id"=>"DEFAULT_VALUE",
				"name"=>GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
				"type"=>"custom",
				"value"=> $html
			);
		}
		else
		{
			$arTab1Fields[] = array(
				"id"=>"DEFAULT_VALUE",
				"name"=>GetMessage("CT_BLFE_FIELD_DEFAULT_VALUE"),
			);
		}
	}
}

if($USER_TYPE_SETTINGS_HTML)
{
	$arTab1Fields[] = array(
		"id"=>"USER_TYPE_SETTINGS",
		"type"=>"custom",
		"value"=>$USER_TYPE_SETTINGS_HTML,
		"colspan"=>true,
	);
}

if(preg_match("/^(G|G:)/", $arResult["FORM_DATA"]["TYPE"]))
{
	$arTab1Fields[] = array(
		"id"=>"LINK_IBLOCK_ID",
		"name"=>GetMessage("CT_BLFE_FIELD_SECTION_LINK_IBLOCK_ID"),
		"type"=>"list",
		"items"=>$arResult["LINK_IBLOCKS"],
		"params"=>array("OnChange"=>"javascript:BX.Lists['".$jsClass."'].changeType('form_".$arResult["FORM_ID"]."')"),
	);

	if($arResult["FIELD_ID"])
		$customHtml .= '<input type="hidden" name="TYPE" value="'.$arResult["FORM_DATA"]["TYPE"].'">';
}
elseif(preg_match("/^(E|E:)/", $arResult["FORM_DATA"]["TYPE"]))
{
	$arTab1Fields[] = array(
		"id"=>"LINK_IBLOCK_ID",
		"name"=>GetMessage("CT_BLFE_FIELD_ELEMENT_LINK_IBLOCK_ID"),
		"type"=>"list",
		"items"=>$arResult["LINK_IBLOCKS"],
	);

	if($arResult["FIELD_ID"])
		$customHtml .= '<input type="hidden" name="TYPE" value="'.$arResult["FORM_DATA"]["TYPE"].'">';
}
elseif($arResult["FORM_DATA"]["TYPE"] === "S")
{
	$arTab1Fields[] = array(
		"id"=>"INPUT_SIZE",
		"name"=>GetMessage("CT_BLFE_FIELD_INPUT_SIZE"),
		"type"=>"custom",
		"value"=>'<input type="text" size="2" maxlength="10" name="ROW_COUNT" value="'.intval($arResult["FORM_DATA"]["ROW_COUNT"]).'"> x <input type="text" size="2" maxlength="10" name="COL_COUNT" value="'.intval($arResult["FORM_DATA"]["COL_COUNT"]).'">',
	);
}

if($arResult["IS_PROPERTY"])
{
	$arTab1Fields[] = array(
		"id"=>"CODE",
		"name"=>GetMessage("CT_BLFE_FIELD_CODE"),
		"params"=>array("id"=>"bx-lists-field-code")
	);
}

$arTab1Fields[] = array("id"=>"SORT", "name"=>GetMessage("CT_BLFE_FIELD_SORT"), "params"=>array("size"=>5));

$checkedAdd = true;
$checkedEdit = true;
$checkedReadAdd = false;
$checkedReadEdit = false;
$checkedPreview = false;
if(
	isset($arResult["FORM_DATA"]["SETTINGS"]["SHOW_ADD_FORM"]) &&
	$arResult["FORM_DATA"]["SETTINGS"]["SHOW_ADD_FORM"] == "N"
)
	$checkedAdd = false;
if(
	isset($arResult["FORM_DATA"]["SETTINGS"]["SHOW_EDIT_FORM"]) &&
	$arResult["FORM_DATA"]["SETTINGS"]["SHOW_EDIT_FORM"] == "N"
)
	$checkedEdit = false;
if(
	isset($arResult["FORM_DATA"]["SETTINGS"]["ADD_READ_ONLY_FIELD"]) &&
	$arResult["FORM_DATA"]["SETTINGS"]["ADD_READ_ONLY_FIELD"] == "Y"
)
	$checkedReadAdd = true;
if(
	isset($arResult["FORM_DATA"]["SETTINGS"]["EDIT_READ_ONLY_FIELD"]) &&
	$arResult["FORM_DATA"]["SETTINGS"]["EDIT_READ_ONLY_FIELD"] == "Y"
)
	$checkedReadEdit = true;

if(
	isset($arResult["FORM_DATA"]["SETTINGS"]["SHOW_FIELD_PREVIEW"]) &&
	$arResult["FORM_DATA"]["SETTINGS"]["SHOW_FIELD_PREVIEW"] == "Y"
)
{
	$checkedPreview = true;
}

$params = array();
/* Marker display field */
if($showAddForm)
{
	$params["id"] = "bx-lists-show-add-form";
	$arTab1Fields[] = array(
		"id"=>"SETTINGS[SHOW_ADD_FORM]",
		"name"=>GetMessage("CT_BLFE_FIELD_SHOW_ADD_FORM"),
		"type"=>"checkbox",
		"value"=>$checkedAdd,
		"params"=>$params
	);
}
$params["id"] = "bx-lists-show-edit-form";
$arTab1Fields[] = array(
	"id"=>"SETTINGS[SHOW_EDIT_FORM]",
	"name"=>GetMessage("CT_BLFE_FIELD_SHOW_EDIT_FORM"),
	"type"=>"checkbox",
	"value"=>$checkedEdit,
	"params"=>$params
);

/* Marker "read-only" field */
if($readOnlyAdd)
{
	$params["id"] = "bx-lists-add-read-only-field";
	$arTab1Fields[] = array(
		"id"=>"SETTINGS[ADD_READ_ONLY_FIELD]",
		"name"=>GetMessage("CT_BLFE_FIELD_ADD_READ_ONLY_FIELD"),
		"type"=>"checkbox",
		"value" => $checkedReadAdd,
		"params"=>$params
	);
}
if($readOnlyEdit)
{
	$params["id"] = "bx-lists-edit-read-only-field";
	$arTab1Fields[] = array(
		"id"=>"SETTINGS[EDIT_READ_ONLY_FIELD]",
		"name"=>GetMessage("CT_BLFE_FIELD_EDIT_READ_ONLY_FIELD"),
		"type"=>"checkbox",
		"value"=>$checkedReadEdit,
		"params"=>$params
	);
}

$params["id"] = "bx-lists-edit-show-field-preview";
$arTab1Fields[] = array(
	"id"=>"SETTINGS[SHOW_FIELD_PREVIEW]",
	"name"=>GetMessage("CT_BLFE_FIELD_SHOW_FIELD_PREVIEW"),
	"type"=>"checkbox",
	"value"=>$checkedPreview,
	"params"=>$params
);

$arTabs = array(
	array("id"=>"tab1", "name"=>GetMessage("CT_BLFE_TAB_EDIT"), "title"=>GetMessage("CT_BLFE_TAB_EDIT_TITLE"), "icon"=>"", "fields"=>$arTab1Fields),
);

//List properties
if(is_array($arResult["LIST"]))
{
	if(preg_match("/^(L|L:)/", $arResult["FORM_DATA"]["TYPE"]))
	{
		$sort = 10;
		$html = '<div id="divTable"><table id="tblLIST" width="100%" class="tableList">';
		foreach($arResult["LIST"] as $arEnum)
		{
			$html .= '
				<tr>
				<td style="display:none;"></td>
				<td align="center" class="sort-td" title="'.GetMessage("CT_BLFE_SORT_TITLE").'"></td>
				<td class="tdInput">
					<input type="hidden" name="LIST['.htmlspecialcharsbx($arEnum["ID"]).'][SORT]" value="'.$sort.'" class="sort-input">
					<input type="text" size="35" name="LIST['.htmlspecialcharsbx($arEnum["ID"]).'][VALUE]" value="'.htmlspecialcharsbx($arEnum["~VALUE"]).'" class="value-input">
				</td>
				<td align="center" class="delete-action"><div class="delete-action"
					onclick="BX.Lists[\''.$jsClass.'\'].deleteListItem(this);" title="'.GetMessage("CT_BLFE_DELETE_TITLE").'"></div></td>
				</tr>
			';
			$sort += 10;
		}

		$html .= '</table></div>';
		$html .= '<input type="button" value="'.GetMessage("CT_BLFE_LIST_ITEM_ADD").'"
			onclick="javascript:BX.Lists[\''.$jsClass.'\'].addNewTableRow(\'tblLIST\', /LIST\[(n)([0-9]*)\]/g, 2)">';

		$html .= '
			<br><br>
			<a class="href-action" href="javascript:void(0)" onclick="BX.Lists[\''.$jsClass.'\'].toggleInput(\'import\'); return false;">'.GetMessage("CT_BLFE_ENUM_IMPORT").'</a>
			<div id="import" style="'.(strlen($arResult["FORM_DATA"]["LIST_TEXT_VALUES"]) > 0? '': 'display:none; ').'width:100%">
				<p>'.GetMessage("CT_BLFE_ENUM_IMPORT_HINT").'</p>
				<textarea name="LIST_TEXT_VALUES" id="LIST_TEXT_VALUES" style="width:100%" rows="20">'.htmlspecialcharsex($arResult["FORM_DATA"]["LIST_TEXT_VALUES"]).'</textarea>
			</div>
		';

		$html .= '
			<br><br>
			<a class="href-action" href="javascript:void(0)" onclick="BX.Lists[\''.$jsClass.'\'].toggleInput(\'defaults\'); return false;">'.($arResult["FORM_DATA"]["MULTIPLE"] == "Y"? GetMessage("CT_BLFE_ENUM_DEFAULTS"): GetMessage("CT_BLFE_ENUM_DEFAULT")).'</a>
			<div id="defaults" style="'.(strlen($arResult["FORM_DATA"]["LIST_TEXT_VALUES"]) > 0? '': 'display:none; ').'width:100%">
			<br>
		';

		if($arResult["FORM_DATA"]["MULTIPLE"] == "Y")
			$html .= '<select multiple name="LIST_DEF[]" id="LIST_DEF" size="10">';
		else
			$html .= '<select name="LIST_DEF[]" id="LIST_DEF" size="1">';

		if($arResult["FORM_DATA"]["IS_REQIRED"] != "Y")
			$html .= '<option value=""'.(count($arResult["LIST_DEF"])==0? ' selected': '').'>'.GetMessage("CT_BLFE_ENUM_NO_DEFAULT").'</option>';

		foreach($arResult["LIST"] as $arEnum)
			$html .= '<option value="'.htmlspecialcharsbx($arEnum["ID"]).'"'.(isset($arResult["LIST_DEF"][htmlspecialcharsbx($arEnum["ID"])])? ' selected': '').'>'.htmlspecialcharsbx($arEnum["~VALUE"]).'</option>';

		$html .= '
				</select>
			</div>
		';

		$arTabs[] = array(
			"id"=>"tab2",
			"name"=>GetMessage("CT_BLFE_TAB_LIST"),
			"title"=>GetMessage("CT_BLFE_TAB_LIST_TITLE"),
			"icon"=>"",
			"fields"=>array(
				array(
					"id" => "LIST",
					"colspan" => true,
					"type" => "custom",
					"value" => $html,
				),
			),
		);
		?>
		<script>
			BX.ready(function ()
			{
				var table = BX('divTable');
				dragTable(table.getElementsByTagName('table')[0], {
					start: function (table, el, index)
					{
					},
					stop: function (table, el, indexBefore, index)
					{
						enumerationValues(table);
					}
				});
			});
		</script>
		<?
	}
	else
	{
		foreach($arResult["LIST"] as $arEnum)
		{
			$customHtml .= '<input type="hidden" name="LIST['.htmlspecialcharsbx($arEnum["ID"]).'][SORT]" value="'.$arEnum["SORT"].'">'
				.'<input type="hidden" name="LIST['.htmlspecialcharsbx($arEnum["ID"]).'][VALUE]" value="'
				.htmlspecialcharsbx($arEnum["~VALUE"]).'">';
		}
	}
}

$customHtml .= '<input type="hidden" name="action" id="action" value="">';

$APPLICATION->IncludeComponent(
	"bitrix:main.interface.form",
	"",
	array(
		"FORM_ID"=>$arResult["FORM_ID"],
		"TABS"=>$arTabs,
		"BUTTONS"=>array("back_url"=>$arResult["~LIST_FIELDS_URL"], "custom_html"=>$customHtml),
		"DATA"=>$arResult["FORM_DATA"],
		"SHOW_SETTINGS"=>"N",
		"THEME_GRID_ID"=>$arResult["GRID_ID"],
	),
	$component, array("HIDE_ICONS" => "Y")
);
?>

<script type="text/javascript">
	BX(function () {
		BX.Lists['<?=$jsClass?>'] = new BX.Lists.ListsFieldEditClass({
			randomString: '<?=$arResult['RAND_STRING']?>',
			iblockTypeId: '<?=$arParams['IBLOCK_TYPE_ID']?>',
			iblockId: '<?=$arResult['IBLOCK_ID']?>',
			socnetGroupId: '<?=$socnetGroupId?>',
			generateCode: '<?=$generateCode?>',
			listAction: <?=\Bitrix\Main\Web\Json::encode($listAction)?>
		});

		BX.message({
			CT_BLFE_SAVE_BUTTON: '<?=GetMessageJS("CT_BLFE_SAVE_BUTTON")?>',
			CT_BLFE_CANCEL_BUTTON: '<?=GetMessageJS("CT_BLFE_CANCEL_BUTTON")?>'
		});
	});
</script>

Zerion Mini Shell 1.0