19 declare(strict_types=1);
34 public function __construct(
protected string $value)
38 public function value():
string 48 public function durationToIterator(
string $duration): \Generator
50 foreach (explode(
':', $duration) as $v) {
51 yield $v ===
'' ?
null : $v;
58 foreach ($this->durationToIterator($duration) as $v) {
66 return new \DateTimeImmutable($datetime);
77 $array = [$years, $months, $days, $hours, $minutes, $seconds];
78 return implode(
':', $array);
83 return $object->format(
'Y-m-d');
88 yield
from [
'lang1',
'lang2',
'lang3'];
95 return 'presentable ' . $data->value();
98 public function language(
string $language):
string 100 return 'translated_' . $language;
113 $helper->makePresentable($this->getData(
'value'))
122 'presentable value1,? ,.presentable value2,? ,.presentable value3',
123 $helper->makePresentableAsList(
125 $this->getData(
'value1'),
138 $helper->durationToArray(
'89:0::::1')
148 $helper->durationToSeconds(
'89:5::::1')
158 $helper->datetimeToObject(
'2013-01-20')->format(
'Y-m-d')
168 $helper->durationFromIntegers(89, 0,
null,
null,
null, 1)
186 $languages = $helper->getAllLanguages();
188 $this->assertCount(3, $languages);
189 $this->assertSame(
'lang1', $languages[0]->value());
190 $this->assertSame(
'translated_lang1', $languages[0]->presentableLabel());
191 $this->assertSame(
'lang2', $languages[1]->value());
192 $this->assertSame(
'translated_lang2', $languages[1]->presentableLabel());
193 $this->assertSame(
'lang3', $languages[2]->value());
194 $this->assertSame(
'translated_lang3', $languages[2]->presentableLabel());
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
language()
description: > Example for rendring a language glyph.