%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.144.19.224 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.user.link/ |
Upload File : |
<?php use Bitrix\Main\Page\Asset; use Bitrix\Main\Page\AssetLocation; use Bitrix\Main\Page\AssetMode; if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); if (!function_exists('MULChangeOnlineStatus')) { function MULChangeOnlineStatus($USER_ID = false, $HTML_ID = false) { static $arUserList, $arUserListID, $arUserListHTML_ID; static $bNotFirstCall; if (!$bNotFirstCall) { AddEventHandler("main", "OnBeforeEndBufferContent", "MULChangeOnlineStatus"); $bNotFirstCall = true; } if (intval($USER_ID) > 0) { if (!$HTML_ID) $HTML_ID = "main_".$USER_ID; $arUserListID[] = $USER_ID; $arUserListHTML_ID[] = "'".$HTML_ID."'"; $arUserList[] = array("USER_ID" => $USER_ID, "HTML_ID" => $HTML_ID); } else { $arUserListIDUnique = array_unique($arUserListID); $strUserListID = implode("|", $arUserListIDUnique); $rsUser = CUser::GetList("id", "desc", array("ID" => $strUserListID)); $arUserListOnlineHTML_ID = array(); while($arUser = $rsUser->Fetch()) { if ((time() - intval(MakeTimeStamp($arUser["LAST_ACTIVITY_DATE"], "YYYY-MM-DD HH-MI-SS"))) < CUser::GetSecondsForLimitOnline()) // TODO change to use CUser::GetOnlineStatus see more in docs.bx { foreach($arUserList as $arTmp) if ($arUser["ID"] == $arTmp["USER_ID"]) $arUserListOnlineHTML_ID[] = "'".$arTmp["HTML_ID"]."'"; } } $js = '<script type="text/javascript"> BX.ready(function() { var arMULUserList = ['.implode(",", $arUserListHTML_ID).']; var arMULUserListOnline = ['.implode(",", $arUserListOnlineHTML_ID).']; for(var i=0; i<arMULUserList.length; i++) { var elOnline = document.getElementById(arMULUserList[i]); if(elOnline) { if (BX.util.in_array(arMULUserList[i], arMULUserListOnline)) { elOnline.className = "bx-user-info-online"; elOnline.title = "'.GetMessageJS("MAIN_UL_ONLINE").'"; } else { elOnline.className = "bx-user-info-offline"; elOnline.title = ""; } } } }); </script>'; Asset::getInstance()->addString( $js, false, AssetLocation::AFTER_JS, AssetMode::ALL ); } } } ?>