• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_messenger.php
  • Класс: CIMMessenger
  • Вызов: CIMMessenger::SetDesktopStatusOffline
static function SetDesktopStatusOffline($userId = null)
{
	global $USER;

	if (is_null($userId))
		$userId = $USER->GetId();

	$userId = intval($userId);
	if ($userId <= 0)
		return false;

	unset(BitrixMainApplication::getInstance()->getKernelSession()['IM']['SET_DESKTOP_ACTIVITY']);
	unset(BitrixMainApplication::getInstance()->getKernelSession()['IM']['SET_DESKTOP_ACTIVITY_PULL']);

	CIMStatus::Set($userId, Array('DESKTOP_LAST_DATE' => null));

	if (CModule::IncludeModule("pull"))
	{
		BitrixPullEvent::add($userId, Array(
			'module_id' => 'im',
			'expiry' => 3600,
			'command' => 'desktopOffline',
			'params' => Array(),
			'extra' => BitrixImCommon::getPullExtra()
		));
	}

	return true;
}