• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/csv_user_import.php
  • Класс: CSVUserImport
  • Вызов: CSVUserImport::__CreateUserProperty
function __CreateUserProperty()
{
	if ($this->attachIBlockID < 1)
		return false;

	$success = true;
	$dbRes = CUserTypeEntity::GetList(Array(), Array("ENTITY_ID" => "USER", "FIELD_NAME" => $this->userPropertyName));
	if (!$dbRes->Fetch())
	{
		$arLabelNames = Array();
		$rsLanguage = CLanguage::GetList();
		while($arLanguage = $rsLanguage->Fetch())
		{
			IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/general/csv_user_import_labels.php", $arLanguage["LID"]);
			$arLabelNames[$arLanguage["LID"]] = GetMessage("DEPARTMENT_USER_PROPERTY_NAME");
		}

		$arFields = Array(
			'ENTITY_ID' => 'USER',
			'FIELD_NAME' => $this->userPropertyName,
			'USER_TYPE_ID' => 'iblock_section',
			'XML_ID' => '',
			'SORT' => 100,
			'MULTIPLE' => 'Y',
			'MANDATORY' => 'N',
			'SHOW_FILTER' => 'I',
			'SHOW_IN_LIST' => 'Y',
			'EDIT_IN_LIST' => 'Y',
			'IS_SEARCHABLE' => 'Y',
			'SETTINGS' => array(
				'DISPLAY' => 'LIST',
				'LIST_HEIGHT' => '8',
				'IBLOCK_ID' => $this->attachIBlockID,
			),

			"EDIT_FORM_LABEL" => $arLabelNames,
			"LIST_COLUMN_LABEL" => $arLabelNames,
			"LIST_FILTER_LABEL" => $arLabelNames,
		);

		$userType = new CUserTypeEntity();
		$success = (bool)$userType->Add($arFields);
	}

	return $success;
}