ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
ilCourseInfoFileTableGUI Class Reference
+ Collaboration diagram for ilCourseInfoFileTableGUI:

Public Member Functions

 __construct (protected ilCourseInfoFileTableDataRetrieval $data_retrieval, protected ilLanguage $lng, protected ilUIServices $ui_services, protected ilHTTPServices $http_services, protected ilRefineryFactory $refinery, protected ilCtrl $ctrl, protected ilDataFactory $data_factory)
 
 handleCommands ()
 
 getHTML ()
 

Data Fields

const string TABLE_COL_FILENAME = 'filename'
 
const string TABLE_COL_FILESIZE = 'filesize'
 
const string TABLE_COL_FILETYPE = 'filetype'
 
 foreach ( $ids as $id)
 

Protected Member Functions

 getColumns ()
 
 getActions ()
 
 initTable ()
 
 readIdsFromQuery ()
 
 delete (array $ids)
 

Protected Attributes

const string ALL_OBJECTS = "ALL_OBJECTS"
 
const string TABLE_ACTION_CONFIRM_DELETE = 'confirm_delete'
 
const string TABLE_ACTION_DELETE = 'delete'
 
const string LNG_TABLE_COL_FILENAME = 'filename'
 
const string LNG_TABLE_COL_FILESIZE = 'filesize'
 
const string LNG_TABLE_COL_FILETYPE = 'filetype'
 
const string LNG_TABLE_ACTION_CONFIRM_DELETE = 'delete'
 
const string LNG_TABLE_TITLE = 'crs_info_download'
 
const string TABLE_ID = "crsfltbl"
 
const string ROW_ID = "row_ids"
 
const string TABLE_ACTION_ID = "table_action"
 
URLBuilder $url_builder
 
ilURLBuilderToken $action_parameter_token
 
ilURLBuilderToken $row_id_token
 
ilDataTable $table
 

Detailed Description

Definition at line 30 of file class.ilCourseInfoFileTableGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilCourseInfoFileTableGUI::__construct ( protected ilCourseInfoFileTableDataRetrieval  $data_retrieval,
protected ilLanguage  $lng,
protected ilUIServices  $ui_services,
protected ilHTTPServices  $http_services,
protected ilRefineryFactory  $refinery,
protected ilCtrl  $ctrl,
protected ilDataFactory  $data_factory 
)

Definition at line 52 of file class.ilCourseInfoFileTableGUI.php.

60 {
61 }

Member Function Documentation

◆ delete()

ilCourseInfoFileTableGUI::delete ( array  $ids)
protected
Parameters
array<int>$ids

Definition at line 123 of file class.ilCourseInfoFileTableGUI.php.

123 : void
124 {
125 $this->data_retrieval->deleteFilesByIds($ids);
126 $this->ui_services->mainTemplate()->setOnScreenMessage('success', $this->lng->txt('settings_saved'), true);
127 $this->ctrl->redirectByClass(ilObjCourseGUI::class, 'editInfo');
128 }
129
130 #[NoReturn] protected function showDeleteModal(array $ids): void
131 {
132 $items = [];
133 foreach ($ids as $id) {
134 $items[] = $this->ui_services->factory()->modal()->interruptiveItem()->standard(
135 $id . '',
136 $this->data_retrieval->getFileTitle((int) $id)
137 );
138 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ getActions()

ilCourseInfoFileTableGUI::getActions ( )
protected

Definition at line 78 of file class.ilCourseInfoFileTableGUI.php.

78 : array
79 {
80 $this->url_builder = new URLBuilder($this->data_factory->uri($this->http_services->request()->getUri()->__toString()));
81 list($this->url_builder, $this->action_parameter_token, $this->row_id_token) =
82 $this->url_builder->acquireParameters(
83 ['datatable', self::TABLE_ID],
84 self::TABLE_ACTION_ID,
85 self::ROW_ID
86 );
87 return [
88 self::TABLE_ACTION_CONFIRM_DELETE => $this->ui_services->factory()->table()->action()->multi(
89 $this->lng->txt(self::LNG_TABLE_ACTION_CONFIRM_DELETE),
90 $this->url_builder->withParameter($this->action_parameter_token, self::TABLE_ACTION_CONFIRM_DELETE),
91 $this->row_id_token
92 )->withAsync(true)
93 ];
94 }

References ILIAS\Repository\lng().

Referenced by initTable().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getColumns()

ilCourseInfoFileTableGUI::getColumns ( )
protected

Definition at line 63 of file class.ilCourseInfoFileTableGUI.php.

63 : array
64 {
65 return [
66 self::TABLE_COL_FILENAME => $this->ui_services->factory()->table()->column()->text(
67 $this->lng->txt(self::TABLE_COL_FILENAME)
68 ),
69 self::TABLE_COL_FILESIZE => $this->ui_services->factory()->table()->column()->number(
70 $this->lng->txt(self::TABLE_COL_FILESIZE)
71 ),
72 self::TABLE_COL_FILETYPE => $this->ui_services->factory()->table()->column()->text(
73 $this->lng->txt(self::TABLE_COL_FILETYPE)
74 )
75 ];
76 }

References ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ getHTML()

ilCourseInfoFileTableGUI::getHTML ( )

Definition at line 191 of file class.ilCourseInfoFileTableGUI.php.

191 : string
192 {
193 $this->initTable();
194 return $this->ui_services->renderer()->render([$this->table]);
195 }

References initTable().

+ Here is the call graph for this function:

◆ handleCommands()

ilCourseInfoFileTableGUI::handleCommands ( )

Definition at line 156 of file class.ilCourseInfoFileTableGUI.php.

156 : void
157 {
158 $this->initTable();
159 if (!$this->http_services->wrapper()->query()->has($this->action_parameter_token->getName())) {
160 return;
161 }
162 $action = $this->http_services->wrapper()->query()->retrieve(
163 $this->action_parameter_token->getName(),
164 $this->refinery->to()->string()
165 );
166 $tokens = $this->http_services->wrapper()->query()->retrieve(
167 $this->row_id_token->getName(),
168 $this->refinery->custom()->transformation(fn($v) => $v)
169 );
170 $all_entries = ($tokens[0] ?? "") === self::ALL_OBJECTS;
171 $ids = [];
172 if ($all_entries) {
173 $ids = $this->data_retrieval->getAllFileIds();
174 }
175 if (!$all_entries) {
176 $ids = $this->readIdsFromQuery();
177 }
178 if (is_null($ids[0]) || count($ids) === 0) {
179 $ids = [];
180 }
181 switch ($action) {
183 $this->showDeleteModal($ids);
184 break;
186 $this->delete($ids);
187 break;
188 }
189 }

References initTable(), readIdsFromQuery(), TABLE_ACTION_CONFIRM_DELETE, and TABLE_ACTION_DELETE.

+ Here is the call graph for this function:

◆ initTable()

ilCourseInfoFileTableGUI::initTable ( )
protected

Definition at line 96 of file class.ilCourseInfoFileTableGUI.php.

96 : void
97 {
98 if (isset($this->table)) {
99 return;
100 }
101 $this->table = $this->ui_services->factory()->table()->data(
102 $this->data_retrieval,
103 $this->lng->txt(self::LNG_TABLE_TITLE),
104 $this->getColumns()
105 )
106 ->withId(self::TABLE_ID)
107 ->withActions($this->getActions())
108 ->withRequest($this->http_services->request());
109 }

References getActions(), and ILIAS\Repository\lng().

Referenced by getHTML(), and handleCommands().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ readIdsFromQuery()

ilCourseInfoFileTableGUI::readIdsFromQuery ( )
protected

Definition at line 111 of file class.ilCourseInfoFileTableGUI.php.

111 : array
112 {
113 $tokens = $this->http_services->wrapper()->query()->retrieve(
114 $this->row_id_token->getName(),
115 $this->refinery->custom()->transformation(fn($v) => $v)
116 );
117 return is_array($tokens) ? $tokens : [$tokens];
118 }

Referenced by handleCommands().

+ Here is the caller graph for this function:

Field Documentation

◆ $action_parameter_token

ilURLBuilderToken ilCourseInfoFileTableGUI::$action_parameter_token
protected

Definition at line 48 of file class.ilCourseInfoFileTableGUI.php.

◆ $row_id_token

ilURLBuilderToken ilCourseInfoFileTableGUI::$row_id_token
protected

Definition at line 49 of file class.ilCourseInfoFileTableGUI.php.

◆ $table

ilDataTable ilCourseInfoFileTableGUI::$table
protected

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

◆ $url_builder

URLBuilder ilCourseInfoFileTableGUI::$url_builder
protected

Definition at line 47 of file class.ilCourseInfoFileTableGUI.php.

◆ ALL_OBJECTS

const string ilCourseInfoFileTableGUI::ALL_OBJECTS = "ALL_OBJECTS"
protected

Definition at line 35 of file class.ilCourseInfoFileTableGUI.php.

◆ foreach

ilCourseInfoFileTableGUI::foreach($ids as $id)
Initial value:
{
$items = []

Definition at line 133 of file class.ilCourseInfoFileTableGUI.php.

◆ LNG_TABLE_ACTION_CONFIRM_DELETE

const string ilCourseInfoFileTableGUI::LNG_TABLE_ACTION_CONFIRM_DELETE = 'delete'
protected

Definition at line 41 of file class.ilCourseInfoFileTableGUI.php.

◆ LNG_TABLE_COL_FILENAME

const string ilCourseInfoFileTableGUI::LNG_TABLE_COL_FILENAME = 'filename'
protected

Definition at line 38 of file class.ilCourseInfoFileTableGUI.php.

◆ LNG_TABLE_COL_FILESIZE

const string ilCourseInfoFileTableGUI::LNG_TABLE_COL_FILESIZE = 'filesize'
protected

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

◆ LNG_TABLE_COL_FILETYPE

const string ilCourseInfoFileTableGUI::LNG_TABLE_COL_FILETYPE = 'filetype'
protected

Definition at line 40 of file class.ilCourseInfoFileTableGUI.php.

◆ LNG_TABLE_TITLE

const string ilCourseInfoFileTableGUI::LNG_TABLE_TITLE = 'crs_info_download'
protected

Definition at line 42 of file class.ilCourseInfoFileTableGUI.php.

◆ ROW_ID

const string ilCourseInfoFileTableGUI::ROW_ID = "row_ids"
protected

Definition at line 44 of file class.ilCourseInfoFileTableGUI.php.

◆ TABLE_ACTION_CONFIRM_DELETE

const string ilCourseInfoFileTableGUI::TABLE_ACTION_CONFIRM_DELETE = 'confirm_delete'
protected

Definition at line 36 of file class.ilCourseInfoFileTableGUI.php.

Referenced by handleCommands().

◆ TABLE_ACTION_DELETE

const string ilCourseInfoFileTableGUI::TABLE_ACTION_DELETE = 'delete'
protected

Definition at line 37 of file class.ilCourseInfoFileTableGUI.php.

Referenced by handleCommands().

◆ TABLE_ACTION_ID

const string ilCourseInfoFileTableGUI::TABLE_ACTION_ID = "table_action"
protected

Definition at line 45 of file class.ilCourseInfoFileTableGUI.php.

◆ TABLE_COL_FILENAME

const string ilCourseInfoFileTableGUI::TABLE_COL_FILENAME = 'filename'

◆ TABLE_COL_FILESIZE

const string ilCourseInfoFileTableGUI::TABLE_COL_FILESIZE = 'filesize'

◆ TABLE_COL_FILETYPE

const string ilCourseInfoFileTableGUI::TABLE_COL_FILETYPE = 'filetype'

◆ TABLE_ID

const string ilCourseInfoFileTableGUI::TABLE_ID = "crsfltbl"
protected

Definition at line 43 of file class.ilCourseInfoFileTableGUI.php.


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