ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
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.

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

Referenced by getAccessStatisticsUserFilter().

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:65
+ 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.

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

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  }
$ref_id
Definition: ltiauth.php:65
+ Here is the call graph for this function:

◆ getAnonOnlyParticipantsUserFilter()

ilTestParticipantAccessFilterFactory::getAnonOnlyParticipantsUserFilter ( int  $ref_id)

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

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

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  }
$ref_id
Definition: ltiauth.php:65
+ Here is the call graph for this function:

◆ getManageParticipantsUserFilter()

ilTestParticipantAccessFilterFactory::getManageParticipantsUserFilter ( int  $ref_id)

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

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

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  }
$ref_id
Definition: ltiauth.php:65
+ Here is the call graph for this function:

◆ getScoreParticipantsUserFilter()

ilTestParticipantAccessFilterFactory::getScoreParticipantsUserFilter ( int  $ref_id)

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

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

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  }
$ref_id
Definition: ltiauth.php:65
+ Here is the call graph for this function:

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