ILIAS  trunk Revision v12.0_alpha-16-g3e876e53c80
ilCourseInfoFileTableDataRetrieval Class Reference
+ Inheritance diagram for ilCourseInfoFileTableDataRetrieval:
+ Collaboration diagram for ilCourseInfoFileTableDataRetrieval:

Public Member Functions

 __construct (protected ilObjCourse $course)
 
 getFileTitle (int $id)
 
 init ()
 
 getRows (\ILIAS\UI\Component\Table\DataRowBuilder $row_builder, array $visible_column_ids, \ILIAS\Data\Range $range, \ILIAS\Data\Order $order, mixed $additional_viewcontrol_data, mixed $filter_data, mixed $additional_parameters)
 
 getAllFileIds ()
 
 deleteFilesByIds (array $ids)
 
 getTotalRowCount (mixed $additional_viewcontrol_data, mixed $filter_data, mixed $additional_parameters)
 Mainly for the purpose of pagination-support, it is important to know about the total number of records available. More...
 
- Public Member Functions inherited from ILIAS\UI\Component\Table\DataRetrieval
 getRows (DataRowBuilder $row_builder, array $visible_column_ids, Range $range, Order $order, mixed $additional_viewcontrol_data, mixed $filter_data, mixed $additional_parameters)
 This is called by the table to retrieve rows; map data-records to rows using the $row_builder e.g. More...
 
 getTotalRowCount (mixed $additional_viewcontrol_data, mixed $filter_data, mixed $additional_parameters)
 Mainly for the purpose of pagination-support, it is important to know about the total number of records available. More...
 

Protected Attributes

array $data
 

Detailed Description

Definition at line 23 of file class.ilCourseInfoFileTableDataRetrieval.php.

Constructor & Destructor Documentation

◆ __construct()

ilCourseInfoFileTableDataRetrieval::__construct ( protected ilObjCourse  $course)

Definition at line 28 of file class.ilCourseInfoFileTableDataRetrieval.php.

30 {
31 $this->data = [];
32 }

Member Function Documentation

◆ deleteFilesByIds()

ilCourseInfoFileTableDataRetrieval::deleteFilesByIds ( array  $ids)

Definition at line 79 of file class.ilCourseInfoFileTableDataRetrieval.php.

79 : void
80 {
81 foreach ($ids as $file_id) {
82 $file = new ilCourseFile((int) $file_id);
83 if ($this->course->getId() == $file->getCourseId()) {
84 $file->delete();
85 }
86 }
87 }

◆ getAllFileIds()

ilCourseInfoFileTableDataRetrieval::getAllFileIds ( )
Returns
array<int>

Definition at line 74 of file class.ilCourseInfoFileTableDataRetrieval.php.

74 : array
75 {
76 return array_keys($this->data);
77 }

◆ getFileTitle()

ilCourseInfoFileTableDataRetrieval::getFileTitle ( int  $id)

Definition at line 34 of file class.ilCourseInfoFileTableDataRetrieval.php.

34 : string
35 {
36 return $this->data[$id]->getFileName();
37 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23

References $id.

◆ getRows()

ilCourseInfoFileTableDataRetrieval::getRows ( \ILIAS\UI\Component\Table\DataRowBuilder  $row_builder,
array  $visible_column_ids,
\ILIAS\Data\Range  $range,
\ILIAS\Data\Order  $order,
mixed  $additional_viewcontrol_data,
mixed  $filter_data,
mixed  $additional_parameters 
)

Definition at line 50 of file class.ilCourseInfoFileTableDataRetrieval.php.

58 : Generator {
59 foreach ($this->data as $id => $file) {
60 yield $row_builder->buildDataRow(
61 $id . '',
62 [
66 ]
67 );
68 }
69 }

References $id, ilCourseInfoFileTableGUI\TABLE_COL_FILENAME, ilCourseInfoFileTableGUI\TABLE_COL_FILESIZE, and ilCourseInfoFileTableGUI\TABLE_COL_FILETYPE.

◆ getTotalRowCount()

ilCourseInfoFileTableDataRetrieval::getTotalRowCount ( mixed  $additional_viewcontrol_data,
mixed  $filter_data,
mixed  $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 89 of file class.ilCourseInfoFileTableDataRetrieval.php.

93 : ?int {
94 return count($this->data);
95 }

◆ init()

ilCourseInfoFileTableDataRetrieval::init ( )

Definition at line 39 of file class.ilCourseInfoFileTableDataRetrieval.php.

39 : void
40 {
41 if (!count($files = ilCourseFile::_readFilesByCourse($this->course->getId()))) {
42 return;
43 }
44 $this->data = [];
45 foreach ($files as $file) {
46 $this->data[$file->getFileId()] = $file;
47 }
48 }
static _readFilesByCourse(int $a_course_id)

References ilCourseFile\_readFilesByCourse().

+ Here is the call graph for this function:

Field Documentation

◆ $data

array ilCourseInfoFileTableDataRetrieval::$data
protected

Definition at line 26 of file class.ilCourseInfoFileTableDataRetrieval.php.


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