ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\MetaData\Services\DataHelper\DataHelper Class Reference
+ Inheritance diagram for ILIAS\MetaData\Services\DataHelper\DataHelper:
+ Collaboration diagram for ILIAS\MetaData\Services\DataHelper\DataHelper:

Public Member Functions

 __construct (InternalDataHelper $internal_helper, DataPresentation $data_presentation)
 
 makePresentable (DataInterface $data)
 
 makePresentableAsList (string $separator, DataInterface ... $data)
 
 durationToArray (string $duration)
 
 durationToSeconds (string $duration)
 Translates strings in the LOM-internal duration format to seconds. More...
 
 datetimeToObject (string $datetime)
 Translates strings in the LOM-internal datetime format to datetime objects. More...
 
 durationFromIntegers (?int $years, ?int $months, ?int $days, ?int $hours, ?int $minutes, ?int $seconds)
 Get a string in the LOM-internal duration format as specified by the provided integers. More...
 
 datetimeFromObject (\DateTimeImmutable $object)
 Translates datetime objects to strings in the LOM-internal datetime format. More...
 
 getAllLanguages ()
 
 makePresentable (DataInterface $data)
 
 makePresentableAsList (string $separator, DataInterface ... $data)
 
 durationToArray (string $duration)
 Translates strings in the LOM-internal duration format to arrays consisting of in order years, months, days, hours, minutes, seconds. More...
 
 durationToSeconds (string $duration)
 Translates strings in the LOM-internal duration format to seconds. More...
 
 datetimeToObject (string $datetime)
 Translates strings in the LOM-internal datetime format to datetime objects. More...
 
 durationFromIntegers (?int $years, ?int $months, ?int $days, ?int $hours, ?int $minutes, ?int $seconds)
 Get a string in the LOM-internal duration format as specified by the provided integers. More...
 
 datetimeFromObject (\DateTimeImmutable $object)
 Translates datetime objects to strings in the LOM-internal datetime format. More...
 
 getAllLanguages ()
 Returns all languages that can be selected in LOM in ILIAS. More...
 

Protected Attributes

InternalDataHelper $internal_helper
 
DataPresentation $data_presentation
 

Detailed Description

Definition at line 27 of file DataHelper.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\MetaData\Services\DataHelper\DataHelper::__construct ( InternalDataHelper  $internal_helper,
DataPresentation  $data_presentation 
)

Definition at line 32 of file DataHelper.php.

35 {
36 $this->data_presentation = $data_presentation;
37 $this->internal_helper = $internal_helper;
38 }

References ILIAS\MetaData\Services\DataHelper\DataHelper\$data_presentation, and ILIAS\MetaData\Services\DataHelper\DataHelper\$internal_helper.

Referenced by ILIAS\MetaData\Services\DataHelper\DataHelperTest\getData().

+ Here is the caller graph for this function:

Member Function Documentation

◆ datetimeFromObject()

ILIAS\MetaData\Services\DataHelper\DataHelper::datetimeFromObject ( \DateTimeImmutable  $object)

Translates datetime objects to strings in the LOM-internal datetime format.

Note that LOM in ILIAS ignores the time part of any datetimes.

Implements ILIAS\MetaData\Services\DataHelper\DataHelperInterface.

Definition at line 94 of file DataHelper.php.

94 : string
95 {
96 return $this->internal_helper->datetimeFromObject($object);
97 }

Referenced by ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the caller graph for this function:

◆ datetimeToObject()

ILIAS\MetaData\Services\DataHelper\DataHelper::datetimeToObject ( string  $datetime)

Translates strings in the LOM-internal datetime format to datetime objects.

Note that LOM datetimes in ILIAS only consist of a date, without a time.

Implements ILIAS\MetaData\Services\DataHelper\DataHelperInterface.

Definition at line 71 of file DataHelper.php.

71 : \DateTimeImmutable
72 {
73 return $this->internal_helper->datetimeToObject($datetime);
74 }
$datetime

References $datetime.

Referenced by ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the caller graph for this function:

◆ durationFromIntegers()

ILIAS\MetaData\Services\DataHelper\DataHelper::durationFromIntegers ( ?int  $years,
?int  $months,
?int  $days,
?int  $hours,
?int  $minutes,
?int  $seconds 
)

Get a string in the LOM-internal duration format as specified by the provided integers.

Implements ILIAS\MetaData\Services\DataHelper\DataHelperInterface.

Definition at line 76 of file DataHelper.php.

83 : string {
84 return $this->internal_helper->durationFromIntegers(
85 $years,
86 $months,
87 $days,
88 $hours,
89 $minutes,
90 $seconds
91 );
92 }

Referenced by ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the caller graph for this function:

◆ durationToArray()

ILIAS\MetaData\Services\DataHelper\DataHelper::durationToArray ( string  $duration)
Returns
int[]|null[]

Implements ILIAS\MetaData\Services\DataHelper\DataHelperInterface.

Definition at line 57 of file DataHelper.php.

57 : array
58 {
59 $array = [];
60 foreach ($this->internal_helper->durationToIterator($duration) as $value) {
61 $array[] = is_null($value) ? $value : (int) $value;
62 }
63 return $array;
64 }
$duration

References $duration, and ILIAS\Repository\int().

+ Here is the call graph for this function:

◆ durationToSeconds()

ILIAS\MetaData\Services\DataHelper\DataHelper::durationToSeconds ( string  $duration)

Translates strings in the LOM-internal duration format to seconds.

This is only a rough estimate, as LOM-durations do not have a start date, so e.g. each month is treated as 30 days.

Implements ILIAS\MetaData\Services\DataHelper\DataHelperInterface.

Definition at line 66 of file DataHelper.php.

66 : int
67 {
68 return $this->internal_helper->durationToSeconds($duration);
69 }

References $duration.

Referenced by ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the caller graph for this function:

◆ getAllLanguages()

ILIAS\MetaData\Services\DataHelper\DataHelper::getAllLanguages ( )
Returns
LabelledValueInterface[]

Implements ILIAS\MetaData\Services\DataHelper\DataHelperInterface.

Definition at line 102 of file DataHelper.php.

102 : array
103 {
104 $languages = [];
105 foreach ($this->internal_helper->getAllLanguages() as $language) {
106 $languages[] = new LabelledValue(
107 $language,
108 $this->data_presentation->language($language)
109 );
110 }
111 return $languages;
112 }

Referenced by ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the caller graph for this function:

◆ makePresentable()

ILIAS\MetaData\Services\DataHelper\DataHelper::makePresentable ( DataInterface  $data)

Implements ILIAS\MetaData\Services\DataHelper\DataHelperInterface.

Definition at line 40 of file DataHelper.php.

40 : string
41 {
42 return $this->data_presentation->dataValue($data);
43 }

References $data.

Referenced by ILIAS\MetaData\Services\DataHelper\DataHelper\makePresentableAsList().

+ Here is the caller graph for this function:

◆ makePresentableAsList()

ILIAS\MetaData\Services\DataHelper\DataHelper::makePresentableAsList ( string  $separator,
DataInterface ...  $data 
)

Implements ILIAS\MetaData\Services\DataHelper\DataHelperInterface.

Definition at line 45 of file DataHelper.php.

45 : string
46 {
47 $presentable = [];
48 foreach ($data as $datum) {
49 $presentable[] = $this->makePresentable($datum);
50 }
51 return implode($separator, $presentable);
52 }

References $data, and ILIAS\MetaData\Services\DataHelper\DataHelper\makePresentable().

+ Here is the call graph for this function:

Field Documentation

◆ $data_presentation

DataPresentation ILIAS\MetaData\Services\DataHelper\DataHelper::$data_presentation
protected

◆ $internal_helper

InternalDataHelper ILIAS\MetaData\Services\DataHelper\DataHelper::$internal_helper
protected

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