ILIAS  trunk Revision v11.0_alpha-1866-gfa368f7776e
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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 ()
 

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.

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

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

35  {
36  $this->data_presentation = $data_presentation;
37  $this->internal_helper = $internal_helper;
38  }
+ 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.

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

94  : string
95  {
96  return $this->internal_helper->datetimeFromObject($object);
97  }
+ 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.

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

71  : \DateTimeImmutable
72  {
73  return $this->internal_helper->datetimeToObject($datetime);
74  }
$datetime
+ 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.

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

83  : string {
84  return $this->internal_helper->durationFromIntegers(
85  $years,
86  $months,
87  $days,
88  $hours,
89  $minutes,
90  $seconds
91  );
92  }
+ 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.

References ILIAS\Repository\int().

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
+ 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.

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

66  : int
67  {
68  return $this->internal_helper->durationToSeconds($duration);
69  }
$duration
+ 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.

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

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  }
+ 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.

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

40  : string
41  {
42  return $this->data_presentation->dataValue($data);
43  }
+ 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.

References ILIAS\MetaData\Services\DataHelper\DataHelper\makePresentable().

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