Поддержка серверов

User::setOnline: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=334412

<?php 
//    /bitrix/modules/mobile/lib/user.phpUser::setOnline()
//    43:

    
public static function setOnline($userId false$cache true)
    {
        global 
$USER;

        if (!
$userId)
        {
            
$userId $USER->GetId();
        }

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

        if (
$cache && $userId == $USER->GetId())
        {
            if (isset(
$_SESSION['MOBILE_LAST_ONLINE_'.$userId]) && intval($_SESSION['MOBILE_LAST_ONLINE_'.$userId])+60 time())
                return 
false;

            
$_SESSION['MOBILE_LAST_ONLINE_'.$userId] = time();
        }

        
$time time();
        if (\
Bitrix\Main\Loader::includeModule('im'))
        {
            \
CIMStatus::Set($userId, Array('MOBILE_LAST_DATE' => \Bitrix\Main\Type\DateTime::createFromTimestamp($time)));
        }
        else
        {
            \
CUserOptions::SetOption('mobile''lastActivityDate'$timefalse$userId);
        }

        
$mobileDevice = \Bitrix\Main\Context::getCurrent()->getRequest()->getCookieRaw('MOBILE_DEVICE');
        if (
$mobileDevice)
        {
            
$mobileDevice strtolower($mobileDevice);

            if (
$mobileDevice === 'iphone' || $mobileDevice === 'ipad')
            {
                
$lastTimestamp = (int)\CUserOptions::GetOption('mobile''iOsLastActivityDate', -1$userId);
                if (
$lastTimestamp+86400*30 time())
                {
                    \
CUserOptions::SetOption('mobile''iOsLastActivityDate'$timefalse$userId);
                }
            }
            else if (
$mobileDevice === 'android')
            {
                
$lastTimestamp = (int)\CUserOptions::GetOption('mobile''AndroidLastActivityDate', -1$userId);
                if (
$lastTimestamp+86400*30 time())
                {
                    \
CUserOptions::SetOption('mobile''AndroidLastActivityDate'$timefalse$userId);
                }
            }
        }

        return 
true;
    }

Блог разработчика

9 Августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 Июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 Июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение