static function getMap()
{
return array(
'ID' => array(
'data_type' => 'integer',
'primary' => true,
'autocomplete' => true,
),
'TIMESTAMP_X' => array(
'data_type' => 'datetime',
),
'LID' => array(
'data_type' => 'string',
'required' => true
),
'ACTIVE' => array(
'data_type' => 'boolean',
'values' => array('N', 'Y'),
),
'SERVICE_ID' => array(
'data_type' => 'integer',
),
'EMAIL' => array(
'data_type' => 'string',
),
'USERNAME' => array(
'data_type' => 'string',
),
'NAME' => array(
'data_type' => 'string',
),
'SERVER' => array(
'data_type' => 'string',
),
'PORT' => array(
'data_type' => 'integer',
),
'LINK' => array(
'data_type' => 'string',
),
'LOGIN' => array(
'data_type' => 'string',
),
'CHARSET' => array(
'data_type' => 'string',
),
'PASSWORD' => array(
'data_type' => (static::cryptoEnabled('PASSWORD') ? 'crypto' : 'string'),
'save_data_modification' => function()
{
return array(
function ($value)
{
return static::cryptoEnabled('PASSWORD') ? $value : CMailUtil::crypt($value);
}
);
},
'fetch_data_modification' => function()
{
return array(
function ($value)
{
return static::cryptoEnabled('PASSWORD') ? $value : CMailUtil::decrypt($value);
}
);
}
),
'DESCRIPTION' => array(
'data_type' => 'text',
),
'USE_MD5' => array(
'data_type' => 'boolean',
'values' => array('N', 'Y'),
),
'DELETE_MESSAGES' => array(
'data_type' => 'boolean',
'values' => array('N', 'Y'),
),
'PERIOD_CHECK' => array(
'data_type' => 'integer',
),
'MAX_MSG_COUNT' => array(
'data_type' => 'integer',
),
'MAX_MSG_SIZE' => array(
'data_type' => 'integer',
),
'MAX_KEEP_DAYS' => array(
'data_type' => 'integer',
),
'USE_TLS' => array(
'data_type' => 'enum',
'values' => array('N', 'Y', 'S'),
),
'SERVER_TYPE' => array(
'data_type' => 'enum',
'values' => array('smtp', 'pop3', 'imap', 'controller', 'domain', 'crdomain')
),
'DOMAINS' => array(
'data_type' => 'string',
),
'RELAY' => array(
'data_type' => 'boolean',
'values' => array('N', 'Y'),
),
'AUTH_RELAY' => array(
'data_type' => 'boolean',
'values' => array('N', 'Y'),
),
'USER_ID' => array(
'data_type' => 'integer',
),
'SYNC_LOCK' => array(
'data_type' => 'integer',
),
'OPTIONS' => array(
'data_type' => 'text',
'save_data_modification' => function()
{
return array(
function ($options)
{
return serialize($options);
}
);
},
'fetch_data_modification' => function()
{
return array(
function ($values)
{
return unserialize($values);
}
);
}
),
'SITE' => array(
'data_type' => 'BitrixMainSite',
'reference' => array('=this.LID' => 'ref.LID'),
),
);
}