ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilUsersGalleryContacts.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22{
26 protected function getRelationSequence(): Generator
27 {
28 yield ilBuddyList::getInstanceByGlobalUser()->getRequestRelationsForOwner()->toArray();
29 yield ilBuddyList::getInstanceByGlobalUser()->getLinkedRelations()->toArray();
30 yield ilBuddyList::getInstanceByGlobalUser()->getRequestRelationsByOwner()->toArray() + ilBuddyList::getInstanceByGlobalUser()->getIgnoredRelationsByOwner()->toArray();
31 yield ilBuddyList::getInstanceByGlobalUser()->getIgnoredRelationsForOwner()->toArray();
32 }
33
34 public function getGroupedCollections(bool $ignore_myself = false): array
35 {
36 global $DIC;
37
38 $groups = [];
39
40 foreach ($this->getRelationSequence() as $relations) {
41 $user_data = [];
42
43 foreach ($relations as $usr_id => $relation) {
44 if (!($user = ilObjectFactory::getInstanceByObjId($usr_id, false)) || !($user instanceof ilObjUser)) {
45 continue;
46 }
47
48 if (!$user->getActive()) {
49 continue;
50 }
51
52 if ($ignore_myself && $user->getId() === $DIC->user()->getId()) {
53 continue;
54 }
55
56 $user_data[$user->getId()] = $user;
57 }
58
59 $groups[] = $this->getPopulatedGroup($user_data);
60 }
61
62 return $groups;
63 }
64
65 public function hasRemovableUsers(): bool
66 {
67 return true;
68 }
69}
$relation
static getInstanceByGlobalUser(?ilObjUser $user=null)
User class.
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id
getGroupedCollections(bool $ignore_myself=false)
global $DIC
Definition: shib_login.php:26