- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskwebservice.php
- Класс: CTasksWebService
- Вызов: CTasksWebService::__getUser
function __getUser($user_str)
{
$USER_ID = 0;
// examples of $user_str:
// 468;#Andrey Nikitin,#a.nikitin,#a.nikitin@example.com,#,#Andrey Nikitin
// 468;#a.nikitin@example.com,Andrey Nikitin
[$USER_ID, $FIELDS] = explode(';', $user_str);
if ($USER_ID <= 0)
{
$arFilters = array();
$arUserFields = explode(',', $FIELDS);
foreach ($arUserFields as $probablyEmail)
{
if (mb_strpos($probablyEmail, '@') === false)
continue;
$probablyEmail = str_replace('#', '', $probablyEmail);
$arFilters[] = array('EMAIL' => $probablyEmail);
$arFilters[] = array('LOGIN' => $probablyEmail);
$probablyLogin = mb_substr($probablyEmail, 0, mb_strpos($probablyEmail, '@'));
$arFilters[] = array('LOGIN' => $probablyLogin);
break;
}
foreach ($arFilters as $arFilter)
{
$dbRes = CUser::GetList('id', 'asc', $arFilter);
if ($arUser = $dbRes->Fetch())
{
$USER_ID = $arUser['ID'];
break;
}
}
}
return $USER_ID;
}