- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/componenthelper.php
- Класс: BitrixSocialnetworkComponentHelper
- Вызов: ComponentHelper::processBlogPostNewCrmContact
static function processBlogPostNewCrmContact(&$HTTPPost, &$componentResult)
{
$USent = (
isset($HTTPPost["SPERM"]["U"])
&& is_array($HTTPPost["SPERM"]["U"])
&& !empty($HTTPPost["SPERM"]["U"])
);
$UESent = (
$componentResult["ALLOW_EMAIL_INVITATION"]
&& isset($HTTPPost["SPERM"]["UE"])
&& is_array($HTTPPost["SPERM"]["UE"])
&& !empty($HTTPPost["SPERM"]["UE"])
);
if (
($USent || $UESent)
&& Loader::includeModule('mail')
)
{
if (
$USent
&& Loader::includeModule('crm')
) // process mail users/contacts
{
$userIdList = array();
foreach ($HTTPPost["SPERM"]["U"] as $code)
{
if (preg_match('/^U(d+)$/i', $code, $matches))
{
$userIdList[] = (int)$matches[1];
}
}
if (!empty($userIdList))
{
$res = MainUserTable::getList(array(
'filter' => array(
'ID' => $userIdList,
'!=UF_USER_CRM_ENTITY' => false
),
'select' => array('ID', 'UF_USER_CRM_ENTITY')
));
while ($user = $res->fetch())
{
$livefeedCrmEntity = CCrmLiveFeedComponent::resolveLFEntityFromUF($user['UF_USER_CRM_ENTITY']);
if (!empty($livefeedCrmEntity))
{
list($k, $v) = $livefeedCrmEntity;
if ($k && $v)
{
if (!isset($HTTPPost["SPERM"][$k]))
{
$HTTPPost["SPERM"][$k] = array();
}
$HTTPPost["SPERM"][$k][] = $k.$v;
}
}
}
}
}
if ($UESent) // process emails
{
foreach ($HTTPPost["SPERM"]["UE"] as $key => $userEmail)
{
if (!check_email($userEmail))
{
continue;
}
$errorText = '';
$destRes = self::processUserEmail([
'EMAIL' => $userEmail,
'NAME' => (
isset($HTTPPost["INVITED_USER_NAME"])
&& isset($HTTPPost["INVITED_USER_NAME"][$userEmail])
? $HTTPPost["INVITED_USER_NAME"][$userEmail]
: ''
),
'LAST_NAME' => (
isset($HTTPPost["INVITED_USER_LAST_NAME"])
&& isset($HTTPPost["INVITED_USER_LAST_NAME"][$userEmail])
? $HTTPPost["INVITED_USER_LAST_NAME"][$userEmail]
: ''
),
'CRM_ENTITY' => (
isset($HTTPPost["INVITED_USER_CRM_ENTITY"])
&& isset($HTTPPost["INVITED_USER_CRM_ENTITY"][$userEmail])
? $HTTPPost["INVITED_USER_CRM_ENTITY"][$userEmail]
: ''
),
"CREATE_CRM_CONTACT" => (
isset($HTTPPost["INVITED_USER_CREATE_CRM_CONTACT"])
&& isset($HTTPPost["INVITED_USER_CREATE_CRM_CONTACT"][$userEmail])
? $HTTPPost["INVITED_USER_CREATE_CRM_CONTACT"][$userEmail]
: 'N'
),
'CONTEXT' => 'BLOG_POST'
], $errorText);
foreach($destRes as $code)
{
if (preg_match('/^U(d+)$/i', $code, $matches))
{
$HTTPPost["SPERM"]["U"][] = $code;
}
elseif (
Loader::includeModule('crm')
&& (preg_match('/^CRM(CONTACT|COMPANY|LEAD|DEAL)(d+)$/i', $code, $matches))
)
{
if (!isset($HTTPPost["SPERM"]["CRM".$matches[1]]))
{
$HTTPPost["SPERM"]["CRM".$matches[1]] = array();
}
$HTTPPost["SPERM"]["CRM".$matches[1]][] = $code;
}
}
if (!empty($errorText))
{
$componentResult["ERROR_MESSAGE"] .= $errorText;
}
}
// unset($HTTPPost["SPERM"]["UE"]);
}
}
}