ILIAS  trunk Revision v12.0_alpha-1221-g4e438232683
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)
 
 dummyFooter (Closure $footer)
 
 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 40 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 42 of file Slot.php.

47 {
48 }

Member Function Documentation

◆ agreement()

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

Definition at line 71 of file Slot.php.

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

◆ canReadInternalMails()

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

Definition at line 123 of file Slot.php.

123 : Constraint
124 {
125 return $this->container->refinery()->custom()->constraint(
126 static function (ilObjUser $user) use ($build_user): bool {
127 $user = $build_user($user);
128 return $user->cannotAgree() || !$user->neverAgreed();
129 },
130 fn(): string => 'Missing acceptance for: ' . $this->id
131 );
132 }
User class.

References $id.

◆ dummyFooter()

ILIAS\LegalDocuments\ConsumerToolbox\Slot::dummyFooter ( Closure  $footer)

Definition at line 89 of file Slot.php.

89 : Closure
90 {
91 return $footer($this->provide->id(), $this->blocks->ui()->txt('usr_agreement'), null);
92 }

◆ modifyFooter()

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

Definition at line 76 of file Slot.php.

76 : ModifyFooter
77 {
78 $link = $goto_target ? static fn() => new URI(ilLink::_getLink(null, 'usr', [], $goto_target)) : null;
79 return new ModifyFooter(
80 $this->blocks->ui(),
81 $user,
82 $this->provide,
83 fn($arg) => $this->container->ui()->renderer()->render($arg),
84 $this->template(...),
85 $link
86 );
87 }

◆ onlineStatusFilter()

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

Definition at line 112 of file Slot.php.

112 : OnlineStatusFilter
113 {
114 return new OnlineStatusFilter(
115 Closure::fromCallable($select_didnt_agree),
116 $this->container->rbac()->review()
117 );
118 }

◆ selfRegistration()

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

Definition at line 97 of file Slot.php.

97 : SelfRegistration
98 {
99 return new SelfRegistration(
100 $this->id,
101 $this->blocks->ui(),
102 $user,
103 $this->provide,
104 fn($arg) => $this->container->ui()->renderer()->render($arg),
105 $build_user
106 );
107 }

◆ showOnLoginPage()

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

Definition at line 50 of file Slot.php.

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

◆ template()

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

Definition at line 134 of file Slot.php.

134 : ilTemplate
135 {
136 return new ilTemplate($name, true, true, 'components/ILIAS/LegalDocuments');
137 }
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 58 of file Slot.php.

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

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