ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\Dashboard\DataRetrieval\Language Class Reference
+ Inheritance diagram for ILIAS\Dashboard\DataRetrieval\Language:
+ Collaboration diagram for ILIAS\Dashboard\DataRetrieval\Language:

Public Member Functions

 __construct ()
 
 getRows (DataRowBuilder $row_builder, array $visible_column_ids, Range $range, Order $order, ?array $filter_data, ?array $additional_parameters)
 This is called by the table to retrieve rows; map data-records to rows using the $row_builder e.g. More...
 
 getTotalRowCount (?array $filter_data, ?array $additional_parameters)
 Mainly for the purpose of pagination-support, it is important to know about the total number of records available. More...
 
 getRows (DataRowBuilder $row_builder, array $visible_column_ids, Range $range, Order $order, ?array $filter_data, ?array $additional_parameters)
 This is called by the table to retrieve rows; map data-records to rows using the $row_builder e.g. More...
 
 getTotalRowCount (?array $filter_data, ?array $additional_parameters)
 Mainly for the purpose of pagination-support, it is important to know about the total number of records available. More...
 

Protected Attributes

ilLanguage $lng
 

Detailed Description

Definition at line 31 of file Language.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Dashboard\DataRetrieval\Language::__construct ( )

Definition at line 35 of file Language.php.

36 {
37 global $DIC;
38 $this->lng = $DIC->language();
39 }
global $DIC
Definition: shib_login.php:26

References $DIC, and ILIAS\Repository\lng().

+ Here is the call graph for this function:

Member Function Documentation

◆ getRows()

ILIAS\Dashboard\DataRetrieval\Language::getRows ( DataRowBuilder  $row_builder,
array  $visible_column_ids,
Range  $range,
Order  $order,
?array  $filter_data,
?array  $additional_parameters 
)

This is called by the table to retrieve rows; map data-records to rows using the $row_builder e.g.

yield $row_builder->buildStandardRow($row_id, $record).

Parameters
string[]$visible_column_ids

Implements ILIAS\UI\Component\Table\DataRetrieval.

Definition at line 40 of file Language.php.

40 : Generator
41 {
42 foreach (array_slice($this->lng->getInstalledLanguages(), $range->getStart(), $range->getLength()) as $key) {
43 $title = $this->lng->txt('meta_l_' . $key);
44 if ($key === $this->lng->getDefaultLanguage()) {
45 $title .= ' (' . $this->lng->txt('system_language') . ')';
46 }
47 yield $row_builder->buildDataRow($key, [
48 'name' => $title,
49 'user_count' => ilObjLanguage::countUsers($key)
50 ]);
51 }
52 }
static countUsers(string $a_lang)
Count number of users that use a language.
buildDataRow(string $id, array $record)

References ILIAS\UI\Implementation\Component\Table\$range, ILIAS\UI\Component\Table\DataRowBuilder\buildDataRow(), ilObjLanguage\countUsers(), ILIAS\Data\Range\getLength(), ILIAS\Data\Range\getStart(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ getTotalRowCount()

ILIAS\Dashboard\DataRetrieval\Language::getTotalRowCount ( ?array  $filter_data,
?array  $additional_parameters 
)

Mainly for the purpose of pagination-support, it is important to know about the total number of records available.

Given the nature of a DataTable, which is, opposite to a PresentationTable, rather administrative than explorative, this information will increase user experience quite a bit. However, you may return null, if the call is to costly, but expect the View Control to look a little different in this case.

Make sure that potential filters or user restrictions are being applied to the count.

Implements ILIAS\UI\Component\Table\DataRetrieval.

Definition at line 54 of file Language.php.

54 : ?int
55 {
56 return count($this->lng->getInstalledLanguages());
57 }

References ILIAS\Repository\lng().

+ Here is the call graph for this function:

Field Documentation

◆ $lng

ilLanguage ILIAS\Dashboard\DataRetrieval\Language::$lng
protected

Definition at line 33 of file Language.php.


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