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

References $id.

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  }

◆ modifyFooter()

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

Definition at line 74 of file Slot.php.

References null.

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  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

◆ 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  }

◆ 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: