• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_incoming.php
  • Класс: CVoxImplantIncoming
  • Вызов: CVoxImplantIncoming::getUserByDirectCode
static function getUserByDirectCode($directCode, $checkTimeman = false)
{
	$userData = BitrixVoximplantModelUserTable::getList(Array(
		'select' => Array('ID', 'IS_ONLINE', 'IS_BUSY', 'UF_VI_PHONE', 'ACTIVE'),
		'filter' => Array('=UF_PHONE_INNER' => $directCode, '=ACTIVE' => 'Y'),
	))->fetch();
	if (!$userData)
		return false;

	$userId = $userData['ID'];

	$skipByTimeman = false;
	if ($checkTimeman)
	{
		$skipByTimeman = !CVoxImplantUser::GetActiveStatusByTimeman($userId);
	}

	$result = array(
		'USER_ID' => $userData['ID'],
		'USER_HAVE_PHONE' => $userData['UF_VI_PHONE'] == 'Y' ? 'Y' : 'N',
		'USER_HAVE_MOBILE' => CVoxImplantUser::hasMobile($userId) ? 'Y' : 'N',
		'ONLINE' => $userData['IS_ONLINE'],
		'BUSY' => $userData['IS_BUSY'],
		'AVAILABLE' => (!$skipByTimeman && ($userData['IS_BUSY'] != 'Y') && ($userData['IS_ONLINE'] == 'Y' || $userData['UF_VI_PHONE'] == 'Y' || $userData['USER_HAVE_MOBILE'] == 'Y')) ? 'Y' : 'N',
	);

	return $result;
}