- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/cml2.php
- Класс: CUserCMLImport
- Вызов: CUserCMLImport::GetPropertyByXML_ID
function GetPropertyByXML_ID($XML_ID, $arData = null)
{
if (!$this->arPropertiesCache[$XML_ID])
{
$dbRes = CUserTypeEntity::GetList(array(), array('ENTITY_ID' => 'USER', 'XML_ID' => $XML_ID));
while ($arRes = $dbRes->Fetch())
{
$this->arPropertiesCache[$arRes['XML_ID']] = $arRes['FIELD_NAME'];
}
}
if (null != $arData)
{
if (!$this->arPropertiesCache[$XML_ID])
{
$bAdd = true;
$arFields = array(
'ENTITY_ID' => 'USER',
'FIELD_NAME' => $this->CalcPropertyFieldName($XML_ID),
'USER_TYPE_ID' => 'string',
'XML_ID' => $XML_ID,
'MULTIPLE' => 'N',
'MANDATORY' => 'N',
'SHOW_FILTER' => 'I',
'SHOW_IN_LIST' => 'Y',
'EDIT_IN_LIST' => 'Y',
'IS_SEARCHABLE' => 'Y',
'SETTINGS' => array('ROWS' => 1),
);
}
else
{
$bAdd = false;
$arFields = array();
}
$arFields['EDIT_FORM_LABEL'] = $arFields['LIST_COLUMN_LABEL'] = $arFields['LIST_FILTER_LABEL'] = array('ru' => $arData['NAME']);
$ob = new CUserTypeEntity();
if ($bAdd)
{
$this->arPropertiesCache[$XML_ID] = $ob->Add($arFields);
}
else
{
$ob->Update($this->arPropertiesCache[$XML_ID], $arFields);
}
}
return $this->arPropertiesCache[$XML_ID];
}