ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\LegalDocuments\ConsumerToolbox\Slot Class Reference
+ Collaboration diagram for ILIAS\LegalDocuments\ConsumerToolbox\Slot:

Public Member Functions

 __construct (private readonly string $id, private readonly Blocks $blocks, private readonly Provide $provide, private readonly Container $container)
 
 showOnLoginPage ()
 
 withdrawProcess (User $user, Settings $global_settings, Closure $after_user_withdrawal)
 
 agreement (User $user)
 
 modifyFooter (User $user, ?string $goto_target=null)
 
 selfRegistration (User $user, Closure $build_user)
 
 onlineStatusFilter (callable $select_didnt_agree)
 
 canReadInternalMails (Closure $build_user)
 

Private Member Functions

 template (string $name)
 

Detailed Description

Definition at line 38 of file Slot.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::__construct ( private readonly string  $id,
private readonly Blocks  $blocks,
private readonly Provide  $provide,
private readonly Container  $container 
)

Definition at line 40 of file Slot.php.

45 {
46 }

Member Function Documentation

◆ agreement()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::agreement ( User  $user)

Definition at line 69 of file Slot.php.

69 : Agreement
70 {
71 return new Agreement($user, $this->blocks->ui(), $this->blocks->routing(), $this->blocks->withRequest(...));
72 }

◆ canReadInternalMails()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::canReadInternalMails ( Closure  $build_user)
Parameters
Closure(ilObjUser)User $build_user

Definition at line 109 of file Slot.php.

109 : Constraint
110 {
111 return $this->container->refinery()->custom()->constraint(
112 static function (ilObjUser $user) use ($build_user): bool {
113 $user = $build_user($user);
114 return $user->cannotAgree() || !$user->neverAgreed();
115 },
116 fn(): string => 'Missing acceptance for: ' . $this->id
117 );
118 }
User class.

References $id.

◆ modifyFooter()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::modifyFooter ( User  $user,
?string  $goto_target = null 
)

Definition at line 74 of file Slot.php.

74 : ModifyFooter
75 {
76 $link = $goto_target ? static fn() => new URI(ilLink::_getLink(null, 'usr', [], $goto_target)) : null;
77 return new ModifyFooter($this->blocks->ui(), $user, $this->provide, fn($arg) => $this->container->ui()->renderer()->render($arg), $this->template(...), $link);
78 }

◆ onlineStatusFilter()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::onlineStatusFilter ( callable  $select_didnt_agree)
Parameters
callable(list<int>)list<int> $select_didnt_agree

Definition at line 98 of file Slot.php.

98 : OnlineStatusFilter
99 {
100 return new OnlineStatusFilter(
101 Closure::fromCallable($select_didnt_agree),
102 $this->container->rbac()->review()
103 );
104 }

◆ selfRegistration()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::selfRegistration ( User  $user,
Closure  $build_user 
)
Parameters
Closure(ilObjUser)User $build_user

Definition at line 83 of file Slot.php.

83 : SelfRegistration
84 {
85 return new SelfRegistration(
86 $this->id,
87 $this->blocks->ui(),
88 $user,
89 $this->provide,
90 fn($arg) => $this->container->ui()->renderer()->render($arg),
91 $build_user
92 );
93 }

◆ showOnLoginPage()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::showOnLoginPage ( )

Definition at line 48 of file Slot.php.

48 : ShowOnLoginPage
49 {
50 return new ShowOnLoginPage($this->provide, $this->blocks->ui(), $this->template(...));
51 }

◆ template()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::template ( string  $name)
private

Definition at line 120 of file Slot.php.

120 : ilTemplate
121 {
122 return new ilTemplate($name, true, true, 'components/ILIAS/LegalDocuments');
123 }
special template class to simplify handling of ITX/PEAR

◆ withdrawProcess()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::withdrawProcess ( User  $user,
Settings  $global_settings,
Closure  $after_user_withdrawal 
)
Parameters
Closure()void $after_user_withdrawal

Definition at line 56 of file Slot.php.

56 : WithdrawProcess
57 {
58 return new WithdrawProcess(
59 $user,
60 $this->blocks->ui(),
61 $this->blocks->routing(),
62 $global_settings,
63 $this->blocks->retrieveQueryParameter(...),
64 $this->provide,
65 $after_user_withdrawal
66 );
67 }

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