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

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

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

//    Bitrix\Mobile\User::setOnline()
//    /bitrix/modules/mobile/lib/user.php: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', $time, false, $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', $time, false, $userId);
                }
            }
            else if ($mobileDevice === 'android')
            {
                $lastTimestamp = (int)\CUserOptions::GetOption('mobile', 'AndroidLastActivityDate', -1, $userId);
                if ($lastTimestamp+86400*30 < time())
                {
                    \CUserOptions::SetOption('mobile', 'AndroidLastActivityDate', $time, false, $userId);
                }
            }
        }

        return true;
    }

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

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

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

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

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

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

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

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