• Модуль: support
  • Путь к файлу: ~/bitrix/modules/support/classes/general/support.php
  • Класс: CAllTicket
  • Вызов: CAllTicket::GetUsersPropertiesArray
static function GetUsersPropertiesArray($arUserIDs = array(), $arGuestIDs = array())
{
	$arGuestUserIDs = array();
	$arResUsers = array();
	$arResGuests = array();
	$siteNameFormat = CSite::GetNameFormat();
	$isActive = CModule::IncludeModule("statistic");
	$arUserIDs = array_map('intval', $arUserIDs);

	if(count($arGuestIDs) > 0)
	{
		$arGuestIDsU = array_unique($arGuestIDs);
		$arGuestIDsU = array_map('intval', $arGuestIDsU);
		$arGuestIDs = array();
		if($isActive)
		{
			$strGuests = implode("|", $arGuestIDsU);
			$rs = CGuest::GetList("ID", "asc", array( "ID" => $strGuests));
			while($ar = $rs->Fetch())
			{
				$arGuestUserIDs[] = intval($ar["LAST_USER_ID"]);
				$arGuestIDs[intval($ar["ID"])] = intval($ar["LAST_USER_ID"]);
			}
		}
		else
		{
			foreach($arGuestIDs as $k => $v)
			{
				$arGuestIDs[$v] = 0;
			}
		}
	}

	if(count($arUserIDs) > 0)
	{
		$arRespUserIDs = array_unique(array_merge($arUserIDs, $arGuestUserIDs));
		$strUsers = implode("|", $arRespUserIDs);
		$rs = CUser::GetList('id', 'asc', array( "ID" => $strUsers), array("FIELDS"=>array("NAME", "SECOND_NAME","LAST_NAME","LOGIN","ID","EMAIL")));
		while($ar = $rs->Fetch())
		{
			$arResUsers[intval($ar["ID"])] = $ar;
		}
	}

	foreach($arUserIDs as $k => $v)
	{
		if(!isset($arResUsers[$v]))
		{
			$arResUsers[$v] = array("NAME" => GetMessage("SUP_UNKNOWN_USER"), "SECOND_NAME" => "","LAST_NAME" => "","LOGIN" => GetMessage("SUP_UNKNOWN_USER"),"ID" => $v, "EMAIL" => "");
		}
		$name = CUser::FormatName($siteNameFormat, $arResUsers[$v], true, true);
		$arResUsers[$v]["HTML_NAME"] = "[" . $v."] (" . htmlspecialcharsbx($arResUsers[$v]['LOGIN'])  . ") " . $name;
			//" (".$str_OWNER_LOGIN.") ".$str_OWNER_NAME;
		$arResUsers[$v]["HTML_NAME_S"] = "[" . $v . "] " . $name;
	}

	foreach($arGuestIDs as $k => $v)
	{
		if(isset($arResUsers[$v]))
		{
			$arResGuests[$k] = $arResUsers[$v];
			$arResGuests[$k]["UNKNOWN"] = false;
		}
		else
		{
			$arResGuests[$k] = array("NAME" => GetMessage("SUP_UNKNOWN_GUEST"), "SECOND_NAME" => "","LAST_NAME" => "","LOGIN" => GetMessage("SUP_UNKNOWN_GUEST"),"ID" => $v,"UNKNOWN" => true, "EMAIL" => "");
		}
		$name = CUser::FormatName($siteNameFormat, $arResGuests[$k], true, true);
		$arResGuests[$k]["HTML_NAME"] = "[" . $v."] " . $name .
			" [" . $k . "]";
		$arResUsers[$v]["HTML_NAME_S"] = "[" . $v . "] " . $name . " [" . $k . "]";
	}

	return array("arUsers" => $arResUsers, "arGuests" => $arResGuests);
}