ILIAS  release_8 Revision v8.24
class.ilTableGUI.php
Go to the documentation of this file.
1<?php
2
24{
25 protected string $sort_order;
26 protected string $link_params;
27 protected array $header_params;
31 protected $tpl;
32 protected ilLanguage $lng;
33
34 public string $title = ""; // table title name
35 public string $icon = ""; // table title icon
36 public string $icon_alt = ""; // table title icon alt text
37 public string $help_page = ""; // table help name
38 public string $help_icon = ""; // table help icon
39 public string $help_icon_alt = ""; // table help icon alt text
40 public array $header_names = []; // titles of header columns
41 public array $header_vars = []; // var names of header columns
42 public array $linkbar_vars = []; // additional variables for linkbar
43 public array $data = []; // table content
44 public int $column_count = 0; // no. of columns
45 public array $column_width = []; // column width of each column
46 public int $max_count = 0; // max. count of database query
47 public int $limit = 0; // max. count of dataset per page
48 public bool $max_limit = false;
49 public int $offset = 0; // dataset offset
50 public string $order_column = ""; // order column
51 public string $order_direction = ""; // order direction
52 public string $footer_style = ""; // css format for links
53 public string $footer_previous = ""; // value of previous link
54 public string $footer_next = ""; // value of next link
55 public bool $lang_support = true; // if a lang object is included
56 public bool $global_tpl = false; // uses global tpl (true) or a local one (false)
57 public string $form_name = ""; // the name of the parent form of the table
58 public string $select_all_checkbox = ""; // the name (or the first characters if unique) of a checkbox the should be toggled with a select all button
59 public array $action_buttons = []; // action buttons in the table footer
60
61 public string $prefix = ""; // prefix for sort and offset fields if you have two or more tables on a page that you want to sort separately
62 public string $base = ""; // base script (deprecated)
63
64 // default settings for enabled/disabled table modules
65 public array $enabled = array( "table" => true,
66 "title" => true,
67 "icon" => true,
68 "help" => false,
69 "content" => true,
70 "action" => false,
71 "header" => true,
72 "footer" => true,
73 "linkbar" => true,
74 "numinfo" => true,
75 "numinfo_header" => false,
76 "sort" => true,
77 "hits" => false,
78 "auto_sort" => true,
79 "select_all" => false
80 );
81
82 // tpl styles (only one so far)
83 public array $styles = array(
84 "table" => "fullwidth"
85 );
86
91 public function __construct(
92 array $a_data = [],
93 bool $a_global_tpl = true
94 ) {
95 global $DIC;
96
97 $tpl = $DIC->ui()->mainTemplate();
98 $lng = $DIC->language();
99
100 $this->global_tpl = $a_global_tpl;
101 $this->header_vars = array();
102 $this->header_params = array();
103 $this->enabled["form"] = true;
104 $this->action_buttons = array();
105 if ($this->global_tpl) {
106 $this->tpl = $tpl;
107 } else {
108 $this->tpl = new ilTemplate("tpl.table.html", true, true, "Services/Table");
109 }
110
111 $this->lng = $lng;
112
113 if (!$this->lng) {
114 $this->lang_support = false;
115 }
116
117 $this->setData($a_data);
118 }
119
120 public function setTemplate(ilTemplate $a_tpl): void
121 {
122 $this->tpl = $a_tpl;
123 }
124
125 public function getTemplateObject(): ilTemplate
126 {
127 return $this->tpl;
128 }
129
133 public function setData(array $a_data): void
134 {
135 $this->data = $a_data;
136 }
137
138 public function getData(): array
139 {
140 return $this->data;
141 }
142
148 public function setTitle(string $a_title, string $a_icon = "", string $a_icon_alt = ""): void
149 {
150 $this->title = $a_title;
151 $this->icon = $a_icon;
152 $this->icon_alt = $a_icon_alt;
153
154 if (!$this->icon) {
155 $this->enabled["icon"] = false;
156
157 return;
158 }
159
160 if (!$this->icon_alt) {
161 $this->icon_alt = $this->icon;
162 }
163 $this->enabled["icon"] = true;
164 }
165
166 public function setHelp(string $a_help_page, string $a_help_icon, string $a_help_icon_alt = ""): void
167 {
168 $this->help_page = $a_help_page;
169 $this->help_icon = $a_help_icon;
170 $this->help_icon_alt = $a_help_icon_alt;
171
172 if (!$this->help_icon_alt) {
173 $this->help_icon_alt = $this->help_icon;
174 }
175 }
176
177 public function setHeaderNames(array $a_header_names): void
178 {
179 $this->header_names = $a_header_names;
180 $this->column_count = count($this->header_names);
181 }
182
183 public function getColumnCount(): int
184 {
185 return $this->column_count;
186 }
187
188 public function setHeaderVars(array $a_header_vars, array $a_header_params = []): void
189 {
190 $this->header_vars = $a_header_vars;
191 $this->header_params = $a_header_params;
192 $this->link_params = "";
193 foreach ($a_header_params as $key => $val) {
194 $this->link_params .= $key . "=" . $val . "&";
195 }
196 }
197
201 public function setColumnWidth(array $a_column_width): void
202 {
203 $this->column_width = $a_column_width;
204 }
205
206 public function setOneColumnWidth(string $a_column_width, int $a_column_number): void
207 {
208 $this->column_width[$a_column_number] = $a_column_width;
209 }
210
216 public function setMaxCount(int $a_max_count): void
217 {
218 $this->max_count = $a_max_count;
219
220 if ($this->max_limit) {
221 $this->limit = $this->max_count;
222 }
223 }
224
228 public function setLimit(int $a_limit = 0, int $a_default_limit = 0): void
229 {
230 $this->limit = ($a_limit) ?: $a_default_limit;
231
232 if ($this->limit == 0) {
233 $this->max_limit = true;
234 }
235 }
236
237 public function getLimit(): int
238 {
239 return $this->limit;
240 }
241
242
247 public function setPrefix(string $a_prefix): void
248 {
249 $this->prefix = $a_prefix ?: "";
250 }
251
255 public function setOffset(int $a_offset): void
256 {
257 $this->offset = ($a_offset) ?: 0;
258 }
259
260 public function getOffset(): int
261 {
262 return $this->offset;
263 }
264
265 public function setOrderColumn(
266 string $a_order_column = "",
267 string $a_default_column = ""
268 ): void {
269 // set default sort column to first column
270 if (empty($a_order_column)) {
271 if (!empty($a_default_column)) {
272 $oc = array_search($a_default_column, $this->header_vars);
273 } else {
274 $oc = "";
275 }
276 } else {
277 $oc = array_search($a_order_column, $this->header_vars);
278 }
279
280 $this->order_column = $oc ?: "";
281 }
282
283 public function getOrderColumn(): string
284 {
285 return $this->order_column;
286 }
287
288 public function setOrderDirection(string $a_order_direction): void
289 {
290 if (strtolower($a_order_direction) == "desc") {
291 $this->order_direction = "desc";
292 $this->sort_order = "asc";
293 } else {
294 $this->order_direction = "asc"; // set default sort order to "ASC"
295 $this->sort_order = "desc";
296 }
297 }
298
299 public function getOrderDirection(): string
300 {
301 return $this->order_direction;
302 }
303
304 public function setFooter(
305 string $a_style,
306 string $a_previous = "",
307 string $a_next = ""
308 ): void {
309 $this->footer_style = $a_style;
310 $this->footer_previous = $a_previous ?: "<<<";
311 $this->footer_next = $a_next ?: ">>>";
312 }
313
317 public function enable(string $a_module_name): void
318 {
319 if (!in_array($a_module_name, array_keys($this->enabled))) {
320 return;
321 }
322
323 $this->enabled[$a_module_name] = true;
324 }
325
329 public function disable(string $a_module_name): void
330 {
331 if (!in_array($a_module_name, array_keys($this->enabled))) {
332 return;
333 }
334
335 $this->enabled[$a_module_name] = false;
336 }
337
338
339 public function sortData(): void
340 {
341 if ($this->enabled["sort"]) {
342 $this->data = ilArrayUtil::sortArray($this->data, $this->order_column, $this->order_direction);
343 }
344 $this->data = array_slice($this->data, $this->offset, $this->limit);
345 }
346
347 public function render(): string
348 {
349 if ($this->enabled['table']) {
350 $this->tpl->setVariable("CSS_TABLE", "table table-striped" /* $this->getStyle("table") */);
351 }
352
353 // table title icon
354 if ($this->enabled["icon"] && $this->enabled["title"]) {
355 $this->tpl->setCurrentBlock("tbl_header_title_icon");
356 $this->tpl->setVariable("TBL_TITLE_IMG", ilUtil::getImagePath($this->icon));
357 $this->tpl->setVariable("TBL_TITLE_IMG_ALT", $this->icon_alt);
358 $this->tpl->parseCurrentBlock();
359 }
360 // table title help
361 if ($this->enabled["help"] && $this->enabled["title"]) {
362 $this->tpl->setCurrentBlock("tbl_header_title_help");
363 $this->tpl->setVariable("TBL_HELP_IMG", ilUtil::getImagePath($this->help_icon));
364 $this->tpl->setVariable("TBL_HELP_LINK", $this->help_page);
365 $this->tpl->setVariable("TBL_HELP_IMG_ALT", $this->help_icon_alt);
366 $this->tpl->parseCurrentBlock();
367 }
368
369 // hits per page selector
370 if ($this->enabled["hits"] && $this->enabled["title"]) {
371 $this->tpl->setCurrentBlock("tbl_header_hits_page");
372 $this->tpl->setVariable("HITS_PER_PAGE", $this->lng->txt("hits_per_page"));
373 $this->tpl->parseCurrentBlock();
374 }
375
376 // table title
377 if ($this->enabled["title"]) {
378 $this->tpl->setCurrentBlock("tbl_header_title");
379 $this->tpl->setVariable("COLUMN_COUNT", $this->column_count);
380 $this->tpl->setVariable("TBL_TITLE", $this->title);
381 $this->tpl->parseCurrentBlock();
382 }
383
384 // table header
385 if ($this->enabled["header"]) {
386 $this->renderHeader();
387 }
388
389 // table data
390 // the table content may be skipped to use an individual template blockfile
391 // To do so don't set $this->data and parse your table content by yourself
392 // The template block name for the blockfile MUST be 'TBL_CONTENT'
393
394 if ($this->enabled["content"]) {
395 if ($this->enabled['auto_sort']) {
396 $this->setMaxCount(count($this->data));
397 $this->sortData();
398 }
399 $count = 0;
400
401 foreach ($this->data as $tbl_content_row) {
402 foreach ($tbl_content_row as $key => $tbl_content_cell) {
403 if (is_array($tbl_content_cell)) {
404 $this->tpl->setCurrentBlock("tbl_cell_subtitle");
405 $this->tpl->setVariable("TBL_CELL_SUBTITLE", $tbl_content_cell[1]);
406 $this->tpl->parseCurrentBlock();
407 $tbl_content_cell = "<b>" . $tbl_content_cell[0] . "</b>";
408 }
409
410 $this->tpl->setCurrentBlock("tbl_content_cell");
411 $this->tpl->setVariable("TBL_CONTENT_CELL", $tbl_content_cell);
412 $this->tpl->parseCurrentBlock();
413 }
414
415 $this->tpl->setCurrentBlock("tbl_content_row");
416 $this->tpl->setVariable("ROWCOLOR", " ");
417 $this->tpl->parseCurrentBlock();
418
419 $count++;
420 }
421 }
422 // select all checkbox
423 if ($this->enabled["select_all"]) {
424 if ((strlen($this->getFormName())) && (strlen($this->getSelectAllCheckbox()))) {
425 $this->tpl->setVariable('SELECT_PREFIX', $this->prefix);
426 $this->tpl->setVariable("SELECT_ALL_TXT_SELECT_ALL", $this->lng->txt("select_all"));
427 $this->tpl->setVariable("SELECT_ALL_CHECKBOX_NAME", $this->getSelectAllCheckbox());
428 $this->tpl->setVariable("SELECT_ALL_FORM_NAME", $this->getFormName());
429 if (!($this->enabled["numinfo"] && $this->enabled["footer"])) {
430 $this->tpl->setVariable("COLUMN_COUNT", $this->getColumnCount());
431 }
432 }
433 }
434
435 // table header numinfo
436 if ($this->enabled["numinfo_header"]) {
437 $start = $this->offset + 1; // compute num info
438 $end = $this->offset + $this->limit;
439
440 if ($end > $this->max_count or $this->limit == 0) {
441 $end = $this->max_count;
442 }
443
444 if ($this->lang_support) {
445 $numinfo = "(" . $this->lng->txt("dataset") . " " . $start . " - " . $end . " " . strtolower($this->lng->txt("of")) . " " . $this->max_count . ")";
446 } else {
447 $numinfo = "(Dataset " . $start . " - " . $end . " of " . $this->max_count . ")";
448 }
449 if ($this->max_count > 0) {
450 //$numinfo = $this->lng->txt("no_datasets");
451 $this->tpl->setCurrentBlock("tbl_header_numinfo");
452 $this->tpl->setVariable("NUMINFO_HEADER", $numinfo);
453 $this->tpl->setVariable("COLUMN_COUNT_HEADER", $this->getColumnCount());
454 $this->tpl->parseCurrentBlock();
455 }
456 }
457 // table footer numinfo
458 if ($this->enabled["numinfo"] && $this->enabled["footer"]) {
459 $start = $this->offset + 1; // compute num info
460 $end = $this->offset + $this->limit;
461
462 if ($end > $this->max_count or $this->limit == 0) {
463 $end = $this->max_count;
464 }
465
466 if ($this->lang_support) {
467 $numinfo = "(" . $this->lng->txt("dataset") . " " . $start . " - " . $end . " " . strtolower($this->lng->txt("of")) . " " . $this->max_count . ")";
468 } else {
469 $numinfo = "(Dataset " . $start . " - " . $end . " of " . $this->max_count . ")";
470 }
471 if ($this->max_count > 0) {
472 //$numinfo = $this->lng->txt("no_datasets");
473 $this->tpl->setCurrentBlock("tbl_footer_numinfo");
474 $this->tpl->setVariable("NUMINFO", $numinfo);
475 $this->tpl->parseCurrentBlock();
476 }
477 }
478 // table footer linkbar
479 if ($this->enabled["linkbar"] && $this->enabled["footer"] && $this->limit != 0
480 && $this->max_count > 0) {
481 $params = array(
482 $this->prefix . "sort_by" => $this->header_vars[$this->order_column],
483 $this->prefix . "sort_order" => $this->order_direction
484 );
485 $params = array_merge($this->header_params, $params);
486
487 $layout = array(
488 "link" => $this->footer_style,
489 "prev" => $this->footer_previous,
490 "next" => $this->footer_next,
491 );
492
493 $base = ($this->getBase() == "")
494 ? basename($_SERVER["PHP_SELF"])
495 : $this->getBase();
496
497 $linkbar = $this->linkbar($base, $this->max_count, $this->limit, $this->offset, $params, $layout, $this->prefix);
498 $this->tpl->setCurrentBlock("tbl_footer_linkbar");
499 $this->tpl->setVariable("LINKBAR", $linkbar);
500 $this->tpl->parseCurrentBlock();
501 }
502
503 // table footer
504 if ($this->enabled["footer"] && $this->max_count > 0) {
505 $this->tpl->setCurrentBlock("tbl_footer");
506 $this->tpl->setVariable("COLUMN_COUNT", $this->column_count);
507 $this->tpl->parseCurrentBlock();
508 }
509
510 // action buttons
511 if ($this->enabled["action"]) {
512 foreach ($this->action_buttons as $button) {
513 $this->tpl->setCurrentBlock("tbl_action_btn");
514 $this->tpl->setVariable("BTN_NAME", $button["name"]);
515 $this->tpl->setVariable("BTN_VALUE", $button["value"]);
516 $this->tpl->parseCurrentBlock();
517 }
518 $this->tpl->setCurrentBlock("tbl_action_row");
519 $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.svg"));
520 $this->tpl->setVariable("ALT_ARROW", $this->lng->txt("arrow_downright.svg"));
521 $this->tpl->setVariable("COLUMN_COUNT", $this->getColumnCount());
522 $this->tpl->parseCurrentBlock();
523 }
524
525 if ($this->enabled["form"]) {
526 $this->tpl->touchBlock("tbl_form_footer");
527 }
528
529 if ($this->enabled['table']) {
530 $this->tpl->touchBlock("tbl_table_end");
531 }
532
533 if (!$this->global_tpl) {
534 return $this->tpl->get();
535 }
536 return "";
537 }
538
539 public static function linkbar(
540 string $AScript,
541 int $AHits,
542 int $ALimit,
543 int $AOffset,
544 array $AParams = array(),
545 array $ALayout = array(),
546 string $prefix = ''
547 ): string {
548 $LinkBar = "";
549 $params = "";
550
551 $layout_link = "";
552 $layout_prev = "&lt;&lt;";
553 $layout_next = "&gt;&gt;";
554
555 // layout options
556 if ((is_array($ALayout) && (count($ALayout) > 0))) {
557 if ($ALayout["link"]) {
558 $layout_link = " class=\"" . $ALayout["link"] . "\"";
559 }
560
561 if ($ALayout["prev"]) {
562 $layout_prev = $ALayout["prev"];
563 }
564
565 if ($ALayout["next"]) {
566 $layout_next = $ALayout["next"];
567 }
568 }
569
570 // show links, if hits greater limit
571 // or offset > 0 (can be > 0 due to former setting)
572 if ($AHits > $ALimit || $AOffset > 0) {
573 if (!empty($AParams)) {
574 foreach ($AParams as $key => $value) {
575 $params .= $key . "=" . $value . "&";
576 }
577 }
578 // if ($params) $params = substr($params,0,-1);
579 if (strpos($AScript, '&')) {
580 $link = $AScript . "&" . $params . $prefix . "offset=";
581 } else {
582 $link = $AScript . "?" . $params . $prefix . "offset=";
583 }
584
585 // ?bergehe "zurck"-link, wenn offset 0 ist.
586 if ($AOffset >= 1) {
587 $prevoffset = $AOffset - $ALimit;
588 if ($prevoffset < 0) {
589 $prevoffset = 0;
590 }
591 $LinkBar .= "<a" . $layout_link . " href=\"" . $link . $prevoffset . "\">" . $layout_prev . "&nbsp;</a>";
592 }
593
594 // Ben?tigte Seitenzahl kalkulieren
595 $pages = intval($AHits / $ALimit);
596
597 // Wenn ein Rest bleibt, addiere eine Seite
598 if (($AHits % $ALimit)) {
599 $pages++;
600 }
601
602 // Bei Offset = 0 keine Seitenzahlen anzeigen : DEAKTIVIERT
603 // if ($AOffset != 0) {
604
605 // ansonsten zeige Links zu den anderen Seiten an
606 for ($i = 1 ;$i <= $pages ; $i++) {
607 $newoffset = $ALimit * ($i - 1);
608
609 if ($newoffset == $AOffset) {
610 $LinkBar .= "[" . $i . "] ";
611 } else {
612 $LinkBar .= '<a ' . $layout_link . ' href="' .
613 $link . $newoffset . '">[' . $i . ']</a> ';
614 }
615 }
616 // }
617
618 // Checken, ob letze Seite erreicht ist
619 // Wenn nicht, gebe einen "Weiter"-Link aus
620 if (!(($AOffset / $ALimit) == ($pages - 1)) && ($pages != 1)) {
621 $newoffset = $AOffset + $ALimit;
622 $LinkBar .= "<a" . $layout_link . " href=\"" . $link . $newoffset . "\">&nbsp;" . $layout_next . "</a>";
623 }
624
625 return $LinkBar;
626 }
627 return "";
628 }
629
630 public function renderHeader(): void
631 {
632 foreach ($this->header_names as $key => $tbl_header_cell) {
633 if (!$this->enabled["sort"]) {
634 $this->tpl->setCurrentBlock("tbl_header_no_link");
635 if ($this->column_width[$key]) {
636 $this->tpl->setVariable("TBL_COLUMN_WIDTH_NO_LINK", " width=\"" . $this->column_width[$key] . "\"");
637 }
638 $this->tpl->setVariable("TBL_HEADER_CELL_NO_LINK", $tbl_header_cell);
639 $this->tpl->parseCurrentBlock();
640 continue;
641 }
642 if (($key == $this->order_column) && ($this->order_direction != "")) {
643 if (strcmp($this->header_vars[$key], "") != 0) {
644 $this->tpl->setCurrentBlock("tbl_order_image");
645 $this->tpl->parseCurrentBlock();
646 }
647 }
648
649 $this->tpl->setCurrentBlock("tbl_header_cell");
650 $this->tpl->setVariable("TBL_HEADER_CELL", $tbl_header_cell);
651
652 // only set width if a value is given for that column
653 if ($this->column_width[$key]) {
654 $this->tpl->setVariable("TBL_COLUMN_WIDTH", " width=\"" . $this->column_width[$key] . "\"");
655 }
656
657 $lng_sort_column = ($this->lang_support) ? $this->lng->txt("sort_by_this_column") : "Sort by this column";
658 $this->tpl->setVariable("TBL_ORDER_ALT", $lng_sort_column);
659
660 $order_dir = "asc";
661
662 if ($key == $this->order_column) {
663 $order_dir = $this->sort_order;
664
665 $lng_change_sort = ($this->lang_support) ? $this->lng->txt("change_sort_direction") : "Change sort direction";
666 $this->tpl->setVariable("TBL_ORDER_ALT", $lng_change_sort);
667 }
668
669 $this->setOrderLink($key, $order_dir);
670 $this->tpl->parseCurrentBlock();
671 }
672
673 $this->tpl->setCurrentBlock("tbl_header");
674 $this->tpl->parseCurrentBlock();
675 }
676
677 public function setOrderLink(string $key, string $order_dir): void
678 {
679 $this->tpl->setVariable("TBL_ORDER_LINK", basename($_SERVER["PHP_SELF"]) . "?" . $this->link_params . $this->prefix . "sort_by=" . $this->header_vars[$key] . "&" . $this->prefix . "sort_order=" . $order_dir . "&" . $this->prefix . "offset=" . $this->offset);
680 }
681
682 public function setStyle(
683 string $a_element,
684 string $a_style
685 ): void {
686 $this->styles[$a_element] = $a_style;
687 }
688
689 public function getStyle(string $a_element): string
690 {
691 return $this->styles[$a_element];
692 }
693
697 public function setBase(string $a_base): void
698 {
699 $this->base = $a_base;
700 }
701
702 public function getBase(): string
703 {
704 return $this->base;
705 }
706
710 public function getFormName(): string
711 {
712 return $this->form_name;
713 }
714
715 public function setFormName(string $a_name = "cmd"): void
716 {
717 $this->form_name = $a_name;
718 }
719
723 public function getSelectAllCheckbox(): string
724 {
725 return $this->select_all_checkbox;
726 }
727
728 public function setSelectAllCheckbox(string $a_select_all_checkbox): void
729 {
730 $this->select_all_checkbox = $a_select_all_checkbox;
731 }
732
733 public function clearActionButtons(): void
734 {
735 $this->action_buttons = array();
736 }
737
738 public function addActionButton(string $btn_name, string $btn_value): void
739 {
740 $this->action_buttons[] = array(
741 "name" => $btn_name,
742 "value" => $btn_value
743 );
744 }
745}
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
language handling
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getSelectAllCheckbox()
get the name of the checkbox that should be toggled with a select all button
string $footer_next
array $action_buttons
setColumnWidth(array $a_column_width)
set table column widths
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
ilLanguage $lng
static linkbar(string $AScript, int $AHits, int $ALimit, int $AOffset, array $AParams=array(), array $ALayout=array(), string $prefix='')
string $sort_order
setFormName(string $a_name="cmd")
setOffset(int $a_offset)
set dataset offset
setData(array $a_data)
Set table data.
setPrefix(string $a_prefix)
set prefix for sort and offset fields (if you have two or more tables on a page that you want to sort...
setOrderColumn(string $a_order_column="", string $a_default_column="")
setLimit(int $a_limit=0, int $a_default_limit=0)
set max.
enable(string $a_module_name)
setOrderLink(string $key, string $order_dir)
setHelp(string $a_help_page, string $a_help_icon, string $a_help_icon_alt="")
__construct(array $a_data=[], bool $a_global_tpl=true)
setHeaderVars(array $a_header_vars, array $a_header_params=[])
string $order_direction
setTemplate(ilTemplate $a_tpl)
getFormName()
get the name of the parent form
array $header_params
setStyle(string $a_element, string $a_style)
disable(string $a_module_name)
setSelectAllCheckbox(string $a_select_all_checkbox)
getStyle(string $a_element)
string $select_all_checkbox
setMaxCount(int $a_max_count)
set max.
string $help_icon_alt
addActionButton(string $btn_name, string $btn_value)
setHeaderNames(array $a_header_names)
setFooter(string $a_style, string $a_previous="", string $a_next="")
string $footer_style
string $footer_previous
string $order_column
setBase(string $a_base)
setOneColumnWidth(string $a_column_width, int $a_column_number)
string $link_params
setOrderDirection(string $a_order_direction)
special template class to simplify handling of ITX/PEAR
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
if(!file_exists(getcwd() . '/ilias.ini.php'))
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: confirmReg.php:20
global $DIC
Definition: feed.php:28
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
Definition: ltiregstart.php:33
$i
Definition: metadata.php:41
string $key
Consumer key/client ID value.
Definition: System.php:193
$base
Definition: index.php:4
$_SERVER['HTTP_HOST']
Definition: raiseError.php:10