19declare(strict_types=1);
33 throw new InvalidArgumentException(
'Numbers less than 0 are not allowed');
48 throw new InvalidArgumentException(
'Numbers less than 0 are not allowed');
74 $format = $data_factory->dateFormat()->germanShort();
76 $grp1 = $input->group([],
$lng->txt(
'prg_no_deadline'));
77 $grp2 = $input->group(
79 'deadline_period' => $input->numeric(
80 $lng->txt(
'prg_deadline_period_label'),
81 $lng->txt(
'prg_deadline_period_desc')
83 ->withAdditionalTransformation(
$refinery->int()->isGreaterThanOrEqual(1))
84 ->withValue($this->getDeadlinePeriod())
87 $lng->txt(
'prg_deadline_period')
89 $grp3 = $input->group(
91 'deadline_date' => $input->dateTime(
92 $lng->txt(
'prg_deadline_date_label'),
93 $lng->txt(
'prg_deadline_date_desc')
96 ->withValue($this->getDeadlineDate() !==
null ? $this->getDeadlineDate()->format(
'd.m.Y') :
'')
99 $lng->txt(
'prg_deadline_date')
102 $sg = $input->switchableGroup(
104 'opt_no_deadline' => $grp1,
105 'opt_deadline_period' => $grp2,
106 'opt_deadline_date' => $grp3
111 $deadline =
"opt_no_deadline";
113 $deadline =
'opt_deadline_period';
117 $deadline =
'opt_deadline_date';
120 return $input->section(
121 [
'prg_deadline' => $sg->withValue($deadline)],
122 $lng->txt(
'prg_deadline_settings')
124 ->withAdditionalTransformation(
$refinery->custom()->transformation(
129 if (isset($vals[
'prg_deadline'][1][
'deadline_period'])) {
130 $period = (
int) $vals[
'prg_deadline'][1][
'deadline_period'];
133 if (isset($vals[
'prg_deadline'][1][
'deadline_date'])) {
134 $date = $vals[
'prg_deadline'][1][
'deadline_date'];
static return function(ContainerConfigurator $containerConfigurator)
withDeadlineDate(?DateTimeImmutable $deadline_date)
__construct(?int $deadline_period, ?DateTimeImmutable $deadline_date)
DateTimeImmutable $deadline_date
toFormInput(Field\Factory $input, ilLanguage $lng, Refinery $refinery, Factory $data_factory)
withDeadlinePeriod(?int $deadline_period)
Refinery Factory $refinery
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ChatMainBarProvider \MainMenu\Provider.