- Модуль: 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);
}
}
}