Collect users.
89 $this->collections = array();
93 $awrn_logger->debug(
"Start, Online Only: " . $a_online_only .
", Current User: " . $this->user_id);
95 self::getOnlineUsers();
97 foreach ($this->provider_factory->getAllProviders() as $prov) {
98 $awrn_logger->debug(
"Provider: " . $prov->getProviderId() .
", Activation Mode: " . $this->admin_manager->getActivationMode($prov->getProviderId()) .
", Current User: " . $this->user_id);
101 $collection = $this->data_service->userCollection();
103 $provider_active = $this->admin_manager->isProviderActivated($prov->getProviderId());
104 $provider_includes_offline = $this->admin_manager->includesProviderOfflineUsers($prov->getProviderId());
106 if ($provider_active) {
108 if (!$provider_includes_offline || $a_online_only) {
109 $awrn_logger->debug(
"Provider: " . $prov->getProviderId() .
", Online Filter Users: " . count(self::$online_user_ids) .
", Current User: " .
$this->user_id);
114 $awrn_logger->debug(
"Provider: " . $prov->getProviderId() .
", Collected Users: " . count($coll) .
", Current User: " .
$this->user_id);
116 foreach ($coll->getUsers() as
$user_id) {
126 $awrn_logger->debug(
"Current User: " . $this->user_id .
", " .
127 "Provider: " . $prov->getProviderId() .
", Collected User: " .
$user_id);
130 if ((!$a_online_only && $provider_includes_offline)
131 || in_array(
$user_id, self::$online_user_ids)) {
133 if (!in_array(
$user_id, $all_users)) {
139 $this->collections[] = array(
140 "uc_title" => $prov->getTitle(),
141 "highlighted" => $prov->isHighlighted(),
146 $remove_users = array();
148 if ($this->
settings->get(
"hide_own_online_status") ===
"n") {
151 $remove_users[] = $u;
156 $remove_users = array_filter($all_users,
function ($i) use ($show_users) {
157 return !in_array($i, $show_users);
162 $remove_users = array_merge($remove_users, $DIC[
'legalDocuments']->usersWithHiddenOnlineStatus($all_users));
static getLogger(string $a_component_id)
Get component logger.
removeUsersFromCollections(array $a_remove_users)
Remove users from collection.
collectUsersFromProvider(Provider $prov, ?array $online_users)
static getUserSubsetByPreferenceValue(array $a_user_ids, string $a_keyword, string $a_val)
For a given set of user IDs return a subset that has a given user preference set. ...
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static array $online_users