From e6b7f3941fc5bc4797bd7aaee026cbc691ed9f33 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Thu, 15 Aug 2019 11:55:26 +0200 Subject: [PATCH] Add setting "allow_online_users_by_status" see BT#15971 In order to show online counter by profile. --- main/inc/lib/banner.lib.php | 15 +++++++++++++++ main/install/configuration.dist.php | 7 +++++++ 2 files changed, 22 insertions(+) diff --git a/main/inc/lib/banner.lib.php b/main/inc/lib/banner.lib.php index 3285f65761..7433bf8dfd 100755 --- a/main/inc/lib/banner.lib.php +++ b/main/inc/lib/banner.lib.php @@ -222,6 +222,21 @@ function accessToWhoIsOnline() $access = true; } + if ($access === true) { + $profileList = api_get_configuration_value('allow_online_users_by_status'); + if (!empty($profileList) && isset($profileList['status'])) { + $userInfo = api_get_user_info(); + if ($userInfo['is_admin']) { + $userInfo['status'] = PLATFORM_ADMIN; + } + $profileList = $profileList['status']; + $access = false; + if (in_array($userInfo['status'], $profileList)) { + $access = true; + } + } + } + return $access; } diff --git a/main/install/configuration.dist.php b/main/install/configuration.dist.php index d8d00762ef..08fa549d0c 100755 --- a/main/install/configuration.dist.php +++ b/main/install/configuration.dist.php @@ -1289,6 +1289,13 @@ requires extension "php-soap" sudo apt-get install php-soap // Hide course sidebar //$_configuration['hide_course_sidebar'] = true; +// Allow online users by user profile +// 1 = COURSEMANAGER (teacher) +// 5 = STUDENT +// 11 = PLATFORM_ADMIN +// Example: The online users will be available only for teachers and students. +//$_configuration['allow_online_users_by_status'] = ['status' => [1, 5]]; + // KEEP THIS AT THE END // -------- Custom DB changes // Add user activation by confirmation email