static function getMap()
{
return array(
'ID' => array(
'data_type' => 'integer',
'primary' => true,
'autocomplete' => true,
),
'NAME' => array(
'data_type' => 'string',
'required' => true,
'title' => Loc::getMessage('SENDER_ENTITY_MAILING_FIELD_TITLE_NAME')
),
'DESCRIPTION' => array(
'data_type' => 'string',
'title' => Loc::getMessage('SENDER_ENTITY_MAILING_FIELD_TITLE_DESCRIPTION'),
'validation' => array(__CLASS__, 'validateDescription'),
),
'DATE_INSERT' => array(
'data_type' => 'datetime',
'required' => true,
'default_value' => new MainType\DateTime(),
),
'ACTIVE' => array(
'data_type' => 'string',
'default_value' => 'Y'
),
'TRACK_CLICK' => array(
'data_type' => 'string',
'default_value' => 'N',
),
'IS_PUBLIC' => array(
'data_type' => 'string',
'default_value' => 'Y',
),
'IS_TRIGGER' => array(
'data_type' => 'string',
'required' => true,
'default_value' => 'N',
),
'SORT' => array(
'data_type' => 'integer',
'required' => true,
'default_value' => 100,
'title' => Loc::getMessage('SENDER_ENTITY_MAILING_FIELD_TITLE_SORT')
),
'SITE_ID' => array(
'data_type' => 'string',
'required' => true,
'default_value' => SITE_ID
),
'TRIGGER_FIELDS' => array(
'data_type' => 'text',
'serialized' => true
),
'EMAIL_FROM' => array(
'data_type' => 'string',
'required' => false,
'title' => Loc::getMessage('SENDER_ENTITY_MAILING_FIELD_TITLE_EMAIL_FROM'),
'validation' => array('Bitrix\Sender\MailingChainTable', 'validateEmailForm'),
),
'CHAIN' => array(
'data_type' => 'Bitrix\Sender\MailingChainTable',
'reference' => array('=this.ID' => 'ref.MAILING_ID'),
),
'POSTING' => array(
'data_type' => 'Bitrix\Sender\PostingTable',
'reference' => array('=this.ID' => 'ref.MAILING_ID'),
),
'MAILING_GROUP' => array(
'data_type' => 'Bitrix\Sender\MailingGroupTable',
'reference' => array('=this.ID' => 'ref.MAILING_ID'),
),
'MAILING_SUBSCRIPTION' => array(
'data_type' => 'Bitrix\Sender\MailingSubscriptionTable',
'reference' => array('=this.ID' => 'ref.MAILING_ID'),
),
'SUBSCRIBER' => array(
'data_type' => 'Bitrix\Sender\MailingSubscriptionTable',
'reference' => array('=this.ID' => 'ref.MAILING_ID', 'ref.IS_UNSUB' => new SqlExpression('?', 'N')),
),
'SITE' => array(
'data_type' => 'Bitrix\Main\SiteTable',
'reference' => array('=this.SITE_ID' => 'ref.LID'),
),
);
}