• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_messenger.php
  • Класс: CIMMessenger
  • Вызов: CIMMessenger::SetDesktopLastActivityDate
static function SetDesktopLastActivityDate($timestamp, $deviceType = IM_DESKTOP_WINDOWS, $userId = false)
{
	if ($timestamp instanceof BitrixMainTypeDateTime)
	{
		$timestamp = $timestamp->getTimestamp();
	}
	else
	{
		$timestamp = (int)$timestamp;
	}

	CIMStatus::Set($userId, Array('DESKTOP_LAST_DATE' => BitrixMainTypeDateTime::createFromTimestamp($timestamp)));

	if ($deviceType === IM_DESKTOP_MAC)
	{
		$lastTimestamp = (int)CUserOptions::GetOption('im', 'MacLastActivityDate', -1, $userId);
		if ($lastTimestamp+86400*30 < time())
		{
			CUserOptions::SetOption('im', 'MacLastActivityDate', $timestamp, false, $userId);
		}
	}
	elseif ($deviceType === IM_DESKTOP_LINUX)
	{
		$lastTimestamp = (int)CUserOptions::GetOption('im', 'LinuxLastActivityDate', -1, $userId);
		if ($lastTimestamp+86400*30 < time())
		{
			CUserOptions::SetOption('im', 'LinuxLastActivityDate', $timestamp, false, $userId);
		}
	}
	else
	{
		$lastTimestamp = (int)CUserOptions::GetOption('im', 'WindowsLastActivityDate', -1, $userId);
		if ($lastTimestamp+86400*30 < time())
		{
			CUserOptions::SetOption('im', 'WindowsLastActivityDate', $timestamp, false, $userId);
		}
	}
}