• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/usertypemanager.php
  • Класс: CUserTypeManager
  • Вызов: CUserTypeManager::GetEditFormHTML
function GetEditFormHTML($bVarsFromForm, $form_value, $arUserField)
{
	global $APPLICATION;
	global $adminPage, $adminSidePanelHelper;

	if($arUserField["USER_TYPE"])
	{
		if($this->GetRights($arUserField["ENTITY_ID"]) >= "W")
		{
			$selfFolderUrl = $adminPage->getSelfFolderUrl();
			$userFieldUrl = $selfFolderUrl . "userfield_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $arUserField["ID"];
			$userFieldUrl = $adminSidePanelHelper->editUrlToPublicPage($userFieldUrl);
			$edit_link = ($arUserField["HELP_MESSAGE"] ? htmlspecialcharsex($arUserField["HELP_MESSAGE"]) . '
' : '') . '' . htmlspecialcharsex(GetMessage("MAIN_EDIT")) . ''; } else { $edit_link = ''; } $hintHTML = ' '; if($arUserField["MANDATORY"] == "Y") $strLabelHTML = $hintHTML . '' . htmlspecialcharsbx($arUserField["EDIT_FORM_LABEL"] ? $arUserField["EDIT_FORM_LABEL"] : $arUserField["FIELD_NAME"]) . '' . ':'; else $strLabelHTML = $hintHTML . htmlspecialcharsbx($arUserField["EDIT_FORM_LABEL"] ? $arUserField["EDIT_FORM_LABEL"] : $arUserField["FIELD_NAME"]) . ':'; if(is_callable(array($arUserField["USER_TYPE"]["CLASS_NAME"], "geteditformhtml"))) { $js = $this->ShowScript(); if(!$bVarsFromForm) $form_value = $arUserField["VALUE"]; elseif($arUserField["USER_TYPE"]["BASE_TYPE"] == "file") $form_value = $GLOBALS[$arUserField["FIELD_NAME"] . "_old_id"]; elseif($arUserField["EDIT_IN_LIST"] == "N") $form_value = $arUserField["VALUE"]; if( $arUserField["MULTIPLE"] === "N" || !empty($arUserField['USER_TYPE']['USE_FIELD_COMPONENT']) ) { $valign = ""; $rowClass = ""; $html = call_user_func_array( array($arUserField["USER_TYPE"]["CLASS_NAME"], "geteditformhtml"), array( $arUserField, array( "NAME" => $arUserField["FIELD_NAME"], "VALUE" => (is_array($form_value) ? $form_value : htmlspecialcharsbx($form_value)), "VALIGN" => &$valign, "ROWCLASS" => &$rowClass ), $bVarsFromForm ) ); return ' 'middle' ? ' class="adm-detail-valign-top"' : '') . ' width="40%">' . $strLabelHTML . '' . $html . '' . $js; } elseif(is_callable(array($arUserField["USER_TYPE"]["CLASS_NAME"], "geteditformhtmlmulty"))) { if(!is_array($form_value)) { $form_value = array(); } foreach($form_value as $key => $value) { if(!is_array($value)) { $form_value[$key] = htmlspecialcharsbx($value); } } $rowClass = ""; $html = call_user_func_array( array($arUserField["USER_TYPE"]["CLASS_NAME"], "geteditformhtmlmulty"), array( $arUserField, array( "NAME" => $arUserField["FIELD_NAME"] . "[]", "VALUE" => $form_value, "ROWCLASS" => &$rowClass ), $bVarsFromForm ) ); return '' . $strLabelHTML . '' . $html . '' . $js; } else { if(!is_array($form_value)) { $form_value = array(); } $html = ""; $i = -1; foreach($form_value as $i => $value) { if( (is_array($value) && (implode("", $value) <> '')) || ((!is_array($value)) && ((string)$value <> '')) ) { $html .= '' . call_user_func_array( array($arUserField["USER_TYPE"]["CLASS_NAME"], "geteditformhtml"), array( $arUserField, array( "NAME" => $arUserField["FIELD_NAME"] . "[" . $i . "]", "VALUE" => (is_array($value) ? $value : htmlspecialcharsbx($value)), ), $bVarsFromForm ) ) . ''; } } //Add multiple values support $rowClass = ""; $FIELD_NAME_X = str_replace('_', 'x', $arUserField["FIELD_NAME"]); $fieldHtml = call_user_func_array( array($arUserField["USER_TYPE"]["CLASS_NAME"], "geteditformhtml"), array( $arUserField, array( "NAME" => $arUserField["FIELD_NAME"] . "[" . ($i + 1) . "]", "VALUE" => "", "ROWCLASS" => &$rowClass ), $bVarsFromForm ) ); return '' . $strLabelHTML . '' . '' . $html . '' . '' . "" . '
' . $fieldHtml . '
' . '' . $js; } } } return ''; }