- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/integration/main/uiselector/search.php
- Класс: BitrixSocialnetworkIntegrationMainUISelectorSearch
- Вызов: Search::process
static function process($requestFields = array())
{
$result = array(
'dataOnly' => true
);
$search = $requestFields['SEARCH'];
$searchConverted = (!empty($requestFields['SEARCH_CONVERTED']) ? $requestFields['SEARCH_CONVERTED'] : false);
$nameTemplate = Handler::getNameTemplate($requestFields);
if (
isset($requestFields['ADDITIONAL_SEARCH'])
&& $requestFields['ADDITIONAL_SEARCH'] == 'Y'
)
{
$result["USERS"] = array();
return $result;
}
if (
!isset($requestFields['USER_SEARCH'])
|| $requestFields['USER_SEARCH'] != 'N'
)
{
$searchModified = false;
$result["USERS"] = self::searchUsers(array(
'search' => $search,
'nameTemplate' => $nameTemplate,
'useNetwork' => false,
'requestFields' => $requestFields
), $searchModified);
if (!empty($searchModified))
{
$result['SEARCH'] = $searchModified;
}
if (
empty($result['USERS'])
&& $searchConverted
&& $search != $searchConverted
)
{
$result['USERS'] = self::searchUsers(array(
'search' => $searchConverted,
'nameTemplate' => $nameTemplate,
'useNetwork' => false,
'requestFields' => $requestFields
), $searchModified);
$result['SEARCH'] = $searchConverted;
}
}
if (
isset($requestFields['SEARCH_SONET_GROUPS'])
&& $requestFields['SEARCH_SONET_GROUPS'] == 'Y'
)
{
$result['SONET_GROUPS'] = self::searchSonetGroups(array(
'search' => $search,
'features' => (isset($requestFields['SEARCH_SONET_FEATUES']) && is_array($requestFields['SEARCH_SONET_FEATUES']) ? $requestFields['SEARCH_SONET_FEATUES'] : false),
));
}
if (
isset($requestFields['CRMEMAIL'])
&& $requestFields['CRMEMAIL'] == 'Y'
)
{
$result['CRM_EMAILS'] = self::searchCrmEmails(array(
'search' => $search,
'nameTemplate' => $nameTemplate
), $result['USERS']);
}
elseif (
isset($requestFields['CRMCONTACTEMAIL'])
&& $requestFields['CRMCONTACTEMAIL'] == 'Y'
)
{
$result['CRM_EMAILS'] = self::searchCrmEntities(array(
'search' => $search,
'nameTemplate' => $nameTemplate,
'entities' => array("CONTACT"),
'searchByEmailOnly' => true
), $result['USERS']);
}
if (
isset($requestFields['CRM_SEARCH'])
&& $requestFields['CRM_SEARCH'] == 'Y'
)
{
$crmAllowedTypesList = array();
if (
isset($requestFields['CRM_SEARCH_TYPES'])
&& is_array($requestFields['CRM_SEARCH_TYPES'])
&& !empty($requestFields['CRM_SEARCH_TYPES'])
)
{
$crmAllowedTypesList = $requestFields['CRM_SEARCH_TYPES'];
}
$result['CONTACTS'] = array();
$result['COMPANIES'] = array();
$result['LEADS'] = array();
$result['DEALS'] = array();
if (
empty($crmAllowedTypesList)
|| in_array("CRMCONTACT", $crmAllowedTypesList)
)
{
$result['CONTACTS'] = self::searchCrmContacts(array(
'search' => $search,
'nameTemplate' => $nameTemplate
));
}
if (
empty($crmAllowedTypesList)
|| in_array("CRMCOMPANY", $crmAllowedTypesList)
)
{
$result['CONTACTS'] = self::searchCrmCompanies(array(
'search' => $search
));
}
if (
empty($crmAllowedTypesList)
|| in_array("CRMLEAD", $crmAllowedTypesList)
)
{
$result['LEADS'] = self::searchCrmLeads(array(
'search' => $search,
'nameTemplate' => $nameTemplate
));
}
if (
empty($crmAllowedTypesList)
|| in_array("CRMDEAL", $crmAllowedTypesList)
)
{
$result['LEADS'] = self::searchCrmDeals(array(
'search' => $search,
'nameTemplate' => $nameTemplate
));
}
}
return $result;
}