ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
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  {
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 }
setOffset(int $a_offset)
set dataset offset
static linkbar(string $AScript, int $AHits, int $ALimit, int $AOffset, array $AParams=array(), array $ALayout=array(), string $prefix='')
setBase(string $a_base)
enable(string $a_module_name)
string $help_icon_alt
string $sort_order
getStyle(string $a_element)
setSelectAllCheckbox(string $a_select_all_checkbox)
string $footer_next
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
Definition: ltiregstart.php:33
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
array $action_buttons
string $footer_style
string $order_column
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setHelp(string $a_help_page, string $a_help_icon, string $a_help_icon_alt="")
ilLanguage $lng
setLimit(int $a_limit=0, int $a_default_limit=0)
set max.
global $DIC
Definition: feed.php:28
setColumnWidth(array $a_column_width)
set table column widths
setStyle(string $a_element, string $a_style)
setOrderDirection(string $a_order_direction)
addActionButton(string $btn_name, string $btn_value)
setTemplate(ilTemplate $a_tpl)
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
$_SERVER['HTTP_HOST']
Definition: raiseError.php:10
string $key
Consumer key/client ID value.
Definition: System.php:193
setOrderLink(string $key, string $order_dir)
setHeaderVars(array $a_header_vars, array $a_header_params=[])
getFormName()
get the name of the parent form
setOneColumnWidth(string $a_column_width, int $a_column_number)
string $order_direction
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...
array $header_params
setData(array $a_data)
Set table data.
setFooter(string $a_style, string $a_previous="", string $a_next="")
setHeaderNames(array $a_header_names)
setFormName(string $a_name="cmd")
string $footer_previous
disable(string $a_module_name)
__construct(array $a_data=[], bool $a_global_tpl=true)
setOrderColumn(string $a_order_column="", string $a_default_column="")
string $select_all_checkbox
getSelectAllCheckbox()
get the name of the checkbox that should be toggled with a select all button
string $link_params
setMaxCount(int $a_max_count)
set max.
$i
Definition: metadata.php:41
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)