ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilTestParticipantAccessFilterFactory Class Reference
+ Collaboration diagram for ilTestParticipantAccessFilterFactory:

Public Member Functions

 __construct (private ilAccessHandler $access)
 
 getManageParticipantsUserFilter (int $ref_id)
 
 getScoreParticipantsUserFilter (int $ref_id)
 
 getAnonOnlyParticipantsUserFilter (int $ref_id)
 
 getAccessResultsUserFilter (int $ref_id)
 
 getAccessStatisticsUserFilter (int $ref_id)
 

Detailed Description

Definition at line 21 of file class.ilTestParticipantAccessFilter.php.

Constructor & Destructor Documentation

◆ __construct()

ilTestParticipantAccessFilterFactory::__construct ( private ilAccessHandler  $access)

Definition at line 23 of file class.ilTestParticipantAccessFilter.php.

25 {
26 }

Member Function Documentation

◆ getAccessResultsUserFilter()

ilTestParticipantAccessFilterFactory::getAccessResultsUserFilter ( int  $ref_id)

Definition at line 78 of file class.ilTestParticipantAccessFilter.php.

78 : Closure
79 {
80 return function (array $user_ids) use ($ref_id): array {
81 $perm = 'write';
82 if ($this->access->checkAccess('tst_results', '', $ref_id, 'tst')) {
83 $perm = 'tst_results';
84 }
85
86 return $this->access->filterUserIdsByRbacOrPositionOfCurrentUser(
87 $perm,
89 $ref_id,
90 $user_ids
91 );
92 };
93 }
$ref_id
Definition: ltiauth.php:66

References $ref_id, ILIAS\Repository\access(), and ilOrgUnitOperation\OP_ACCESS_RESULTS.

Referenced by getAccessStatisticsUserFilter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAccessStatisticsUserFilter()

ilTestParticipantAccessFilterFactory::getAccessStatisticsUserFilter ( int  $ref_id)

Definition at line 95 of file class.ilTestParticipantAccessFilter.php.

95 : Closure
96 {
97 return function (array $user_ids) use ($ref_id): array {
98 if ($this->access->checkAccess('tst_results', '', $ref_id)) {
99 return $user_ids;
100 }
101
102 return $this->getAccessResultsUserFilter($ref_id)($user_ids);
103 };
104 }

References $ref_id, ILIAS\Repository\access(), and getAccessResultsUserFilter().

+ Here is the call graph for this function:

◆ getAnonOnlyParticipantsUserFilter()

ilTestParticipantAccessFilterFactory::getAnonOnlyParticipantsUserFilter ( int  $ref_id)

Definition at line 61 of file class.ilTestParticipantAccessFilter.php.

61 : Closure
62 {
63 return function (array $user_ids) use ($ref_id): array {
64 //none, if write.
65 if ($this->access->checkAccess('write', '', $ref_id, 'tst')) {
66 return [];
67 }
68 //orgu permission is not anon
69 $by_orgu = $this->access->filterUserIdsByPositionOfCurrentUser(
71 $ref_id,
72 $user_ids
73 );
74 return array_diff($user_ids, $by_orgu);
75 };
76 }

References $ref_id, ILIAS\Repository\access(), and ilOrgUnitOperation\OP_SCORE_PARTICIPANTS.

+ Here is the call graph for this function:

◆ getManageParticipantsUserFilter()

ilTestParticipantAccessFilterFactory::getManageParticipantsUserFilter ( int  $ref_id)

Definition at line 28 of file class.ilTestParticipantAccessFilter.php.

28 : Closure
29 {
30 $perm = 'write';
31 if ($this->access->checkAccess('tst_results', '', $ref_id, 'tst')) {
32 $perm = 'tst_results';
33 }
34
35 return function (array $user_ids) use ($ref_id, $perm): array {
36 return $this->access->filterUserIdsByRbacOrPositionOfCurrentUser(
37 $perm,
39 $ref_id,
40 $user_ids
41 );
42 };
43 }

References $ref_id, ILIAS\Repository\access(), and ilOrgUnitOperation\OP_MANAGE_PARTICIPANTS.

+ Here is the call graph for this function:

◆ getScoreParticipantsUserFilter()

ilTestParticipantAccessFilterFactory::getScoreParticipantsUserFilter ( int  $ref_id)

Definition at line 45 of file class.ilTestParticipantAccessFilter.php.

45 : Closure
46 {
47 return function (array $user_ids) use ($ref_id): array {
48 if (
49 $this->access->checkAccess('write', '', $ref_id, 'tst')
50 || $this->access->checkAccess('score_anon', '', $ref_id, 'tst')
51 ) {
52 return $user_ids;
53 }
54 return $this->access->filterUserIdsByPositionOfCurrentUser(
56 $ref_id,
57 $user_ids
58 );
59 };
60 }

References $ref_id, ILIAS\Repository\access(), and ilOrgUnitOperation\OP_SCORE_PARTICIPANTS.

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: