static function getMap()
{
$types = BitrixLandingSite::getTypes();
$typesKeys = array_keys($types);
return array(
'ID' => new EntityIntegerField('ID', array(
'primary' => true,
'autocomplete' => true,
'title' => 'ID'
)),
'CODE' => new EntityStringField('CODE', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_SITE_CODE'),
'required' => true
)),
'ACTIVE' => new EntityStringField('ACTIVE', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_SITE_ACTIVE'),
'default_value' => 'Y'
)),
'DELETED' => new EntityStringField('DELETED', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_LANDING_DELETED'),
'default_value' => 'N'
)),
'TITLE' => new EntityStringField('TITLE', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_SITE_TITLE'),
'required' => true
)),
'XML_ID' => new EntityStringField('XML_ID', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_XML_ID')
)),
'DESCRIPTION' => new EntityStringField('DESCRIPTION', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_DESCRIPTION')
)),
'TYPE' => new EntityEnumField('TYPE', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_TYPE'),
'values' => $typesKeys,
'default_value' => array_shift($typesKeys)
)),
'TPL_ID' => new EntityIntegerField('TPL_ID', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_TPL_ID'),
'default_value' => 0
)),
'TPL_CODE' => new EntityStringField('TPL_CODE', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_TPL_CODE')
)),
'DOMAIN_ID' => new EntityIntegerField('DOMAIN_ID', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_DOMAIN_ID'),
//'required' => true
)),
'DOMAIN' => new EntityReferenceField(
'DOMAIN',
'BitrixLandingInternalsDomainTable',
array('=this.DOMAIN_ID' => 'ref.ID')
),
'SMN_SITE_ID' => new EntityStringField('SMN_SITE_ID', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_SMN_SITE_ID')
)),
'LANDING_ID_INDEX' => new EntityIntegerField('LANDING_ID_INDEX', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_LANDING_ID_INDEX')
)),
'LANDING_ID_404' => new EntityIntegerField('LANDING_ID_404', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_LANDING_ID_404')
)),
'LANDING_ID_503' => new EntityIntegerField('LANDING_ID_503', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_LANDING_ID_503')
)),
'LANG' => new EntityIntegerField('LANG', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_LANG')
)),
'SPECIAL' => new EntityStringField('SPECIAL', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_SPECIAL'),
'default_value' => 'N'
)),
'VERSION' => new EntityIntegerField('VERSION', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_SITE_VERSION'),
'default_value' => 2
)),
'CREATED_BY_ID' => new EntityIntegerField('CREATED_BY_ID', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_CREATED_BY_ID'),
'required' => true
)),
'CREATED_BY' => new EntityReferenceField(
'CREATED_BY',
'BitrixMainUserTable',
array('=this.CREATED_BY_ID' => 'ref.ID')
),
'MODIFIED_BY_ID' => new EntityIntegerField('MODIFIED_BY_ID', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_MODIFIED_BY_ID'),
'required' => true
)),
'MODIFIED_BY' => new EntityReferenceField(
'MODIFIED_BY',
'BitrixMainUserTable',
array('=this.MODIFIED_BY_ID' => 'ref.ID')
),
'DATE_CREATE' => new EntityDatetimeField('DATE_CREATE', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_DATE_CREATE'),
'required' => true
)),
'DATE_MODIFY' => new EntityDatetimeField('DATE_MODIFY', array(
'title' => Loc::getMessage('LANDING_TABLE_FIELD_DATE_MODIFY'),
'required' => true
))
);
}