4 require_once(
"Services/Table/classes/class.ilTableGUI.php");
75 public function __construct($a_parent_obj, $a_parent_cmd =
"", $a_template_context =
"")
80 $this->unique_id = md5(uniqid());
81 $this->parent_obj = $a_parent_obj;
82 $this->parent_cmd = $a_parent_cmd;
83 $this->buttons = array();
84 $this->header_commands = array();
85 $this->multi = array();
86 $this->hidden_inputs = array();
88 $this->tpl =
new ilTemplate(
"tpl.table2.html",
true,
true,
"Services/Table");
90 $lng->loadLanguageModule(
'tbl');
92 if(!$a_template_context)
94 $a_template_context = $this->
getId();
99 if(isset(
$_GET[$this->prefix.
"_xpt"]))
101 $this->export_mode = (int)
$_GET[$this->prefix.
"_xpt"];
105 if(isset(
$_GET[$this->prefix.
"_tpl"]))
123 $this->open_form_tag = $a_val;
143 $this->close_form_tag = $a_val;
163 if ($this->limit_determined)
169 if (isset(
$_GET[$this->prefix.
"_trows"]))
185 if (is_object($ilUser))
187 $limit = $ilUser->getPref(
"hits_per_page");
197 $this->limit_determined =
true;
215 if ($this->columns_determined)
226 @unserialize($old_sel);
229 if(!is_array($sel_fields))
232 $sel_fields = array();
235 $this->selected_columns = array();
239 $this->selected_column[$k] =
false;
241 $new_column = ($sel_fields[$k] === NULL);
248 $this->selected_column[$k] =
true;
251 else if ($stored && !$new_column)
253 $this->selected_column[$k] = $sel_fields[$k];
263 $this->selected_column[$k] =
true;
268 if ($old_sel != serialize($this->selected_column) && $set)
270 $this->
storeProperty(
"selfields", serialize($this->selected_column));
273 $this->columns_determined =
true;
284 return $this->selected_column[$a_col];
296 foreach ($this->selected_column as $k => $v)
313 $next_class = $ilCtrl->getNextClass($this);
314 $cmd = $ilCtrl->getCmd();
318 case 'ilformpropertydispatchgui':
319 include_once
'./Services/Form/classes/class.ilFormPropertyDispatchGUI.php';
323 $form_prop_dispatch->setItem($item);
324 return $ilCtrl->forwardCommand($form_prop_dispatch);
336 if (!$this->nav_determined && !$a_in_determination)
363 return $this->parent_obj;
373 return $this->parent_cmd;
383 $this->top_anchor = $a_val;
403 $this->noentriestext = $a_text;
413 return $this->noentriestext;
423 $this->datatable = $a_val;
433 return $this->datatable;
443 $this->enabled[
"title"] = $a_enabletitle;
453 return $this->enabled[
"title"];
463 $this->enabled[
"header"] = $a_enableheader;
473 return $this->enabled[
"header"];
483 $this->num_info = $a_val;
493 return $this->num_info;
499 final public function setTitle($a_title, $a_icon = 0, $a_icon_alt = 0)
511 $this->description = $a_val;
521 return $this->description;
531 $this->order_field = $a_order_field;
536 return $this->order_field;
543 $this->enabled[
"header"] && $this->enabled[
"sort"] &&
544 $this->columns_determined && is_array($this->column) &&
548 $check = array_keys(array_shift($check));
549 foreach($this->column as $col)
551 if($col[
"sort_field"] && !in_array($col[
"sort_field"], $check))
553 $invalid[] = $col[
"sort_field"];
568 $this->row_data = $a_data;
573 return $this->row_data;
578 if (is_array($this->row_data))
580 if (count($this->row_data) > 0)
590 $this->prefix = $a_prefix;
604 $a_input_item->setParent($this);
607 $this->filters[] = $a_input_item;
611 $this->optional_filters[] = $a_input_item;
615 if($this->restore_filter_values &&
616 array_key_exists($a_input_item->getFieldId(), $this->restore_filter_values))
618 $this->setFilterValue($a_input_item, $this->restore_filter_values[$a_input_item->getFieldId()]);
637 $caption = $lng->txt($id);
640 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
644 case self::FILTER_SELECT:
645 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
649 case self::FILTER_DATE:
650 include_once(
"./Services/Form/classes/class.ilDateTimeInputGUI.php");
655 case self::FILTER_TEXT:
656 include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
658 $item->setMaxLength(64);
663 case self::FILTER_LANGUAGE:
664 $lng->loadLanguageModule(
"meta");
665 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
667 $options = array(
"" => $lng->txt(
"trac_all"));
668 foreach ($lng->getInstalledLanguages() as $lang_key)
670 $options[$lang_key] = $lng->txt(
"meta_l_".$lang_key);
675 case self::FILTER_NUMBER_RANGE:
676 include_once(
"./Services/Form/classes/class.ilCombinationInputGUI.php");
677 include_once(
"./Services/Form/classes/class.ilNumberInputGUI.php");
680 $item->addCombinationItem(
"from", $combi_item, $lng->txt(
"from"));
682 $item->addCombinationItem(
"to", $combi_item, $lng->txt(
"to"));
684 $item->setMaxLength(7);
688 case self::FILTER_DATE_RANGE:
689 include_once(
"./Services/Form/classes/class.ilCombinationInputGUI.php");
690 include_once(
"./Services/Form/classes/class.ilDateTimeInputGUI.php");
693 $item->addCombinationItem(
"from", $combi_item, $lng->txt(
"from"));
695 $item->addCombinationItem(
"to", $combi_item, $lng->txt(
"to"));
700 case self::FILTER_DATETIME_RANGE:
701 include_once(
"./Services/Form/classes/class.ilCombinationInputGUI.php");
702 include_once(
"./Services/Form/classes/class.ilDateTimeInputGUI.php");
705 $combi_item->setShowTime(
true);
706 $item->addCombinationItem(
"from", $combi_item, $lng->txt(
"from"));
708 $combi_item->setShowTime(
true);
709 $item->addCombinationItem(
"to", $combi_item, $lng->txt(
"to"));
714 case self::FILTER_DURATION_RANGE:
715 $lng->loadLanguageModule(
"form");
716 include_once(
"./Services/Form/classes/class.ilCombinationInputGUI.php");
717 include_once(
"./Services/Form/classes/class.ilDurationInputGUI.php");
720 $combi_item->setShowMonths(
false);
721 $combi_item->setShowDays(
true);
722 $combi_item->setShowSeconds(
true);
723 $item->addCombinationItem(
"from", $combi_item, $lng->txt(
"from"));
725 $combi_item->setShowMonths(
false);
726 $combi_item->setShowDays(
true);
727 $combi_item->setShowSeconds(
true);
728 $item->addCombinationItem(
"to", $combi_item, $lng->txt(
"to"));
737 $item->readFromSession();
757 if ($item->getPostVar() == $a_post_var)
764 if ($item->getPostVar() == $a_post_var)
779 $this->filter_cols = $a_val;
799 $this->disable_filter_hiding = $a_val;
820 return $this->selected_filter[$a_col];
832 foreach ($this->selected_filter as $k => $v)
850 if ($this->filters_determined)
860 @unserialize($old_sel);
863 if(!is_array($sel_filters))
866 $sel_filters = array();
869 $this->selected_filter = array();
873 $k = $item->getPostVar();
875 $this->selected_filter[$k] =
false;
882 $this->selected_filter[$k] =
true;
886 $item->setValue(NULL);
887 $item->writeToSession();
892 $this->selected_filter[$k] = $sel_filters[$k];
896 if ($old_sel != serialize($this->selected_filter) && $set)
898 $this->
storeProperty(
"selfilters", serialize($this->selected_filter));
901 $this->filters_determined =
true;
909 $this->custom_prev_next =
true;
910 $this->custom_prev = $a_prev_link;
911 $this->custom_next = $a_next_link;
921 $this->form_action = $a_form_action;
931 return $this->form_action;
941 $this->formname = $a_formname;
951 return $this->formname;
985 $this->display_as_block = $a_val;
995 return $this->display_as_block;
1015 $this->select_all_checkbox = $a_select_all_checkbox;
1025 $this->ext_sort = $a_val;
1045 $this->filter_cmd = $a_val;
1065 $this->reset_cmd = $a_val;
1085 $this->ext_seg = $a_val;
1106 $this->row_template = $a_template;
1107 $this->row_template_dir = $a_template_dir;
1117 $this->defaultorderfield = $a_defaultorderfield;
1127 return $this->defaultorderfield;
1137 $this->defaultorderdirection = $a_defaultorderdirection;
1147 return $this->defaultorderdirection;
1157 $this->buttons = array();
1168 $this->buttons[] = array(
"cmd" => $a_cmd,
"text" => $a_text,
'onclick' => $a_onclick,
1184 echo
"ilTabl2GUI->addSelectionButton() has been deprecated with 4.2. Please try to move the drop-down to ilToolbarGUI.";
1199 $this->mi_sel_buttons[] = array(
"sel_var" => $a_sel_var,
"options" => $a_options,
"selected" => $a_default_selection,
"cmd" => $a_cmd,
"text" => $a_text);
1212 $this->close_command = $a_link;
1223 $this->multi[] = array(
"cmd" => $a_cmd,
"text" => $a_text);
1234 $this->hidden_inputs[] = array(
"name" => $a_name,
"value" => $a_value);
1245 $this->header_commands[] = array(
"href" => $a_href,
"text" => $a_text,
1246 "target" => $a_target,
"img" => $a_img);
1256 $this->top_commands = $a_val;
1276 final public function addColumn($a_text, $a_sort_field =
"", $a_width =
"",
1277 $a_is_checkbox_action_column =
false, $a_class =
"", $a_tooltip =
"")
1279 $this->column[] = array(
1281 "sort_field" => $a_sort_field,
1282 "width" => $a_width,
1283 "is_checkbox_action_column" => $a_is_checkbox_action_column,
1284 "class" => $a_class,
1285 "tooltip" => $a_tooltip
1287 $this->column_count = count($this->column);
1293 return $this->prefix.
"_table_nav";
1301 if (is_object($ilUser) && $ilUser->getPref(
"screen_reader_optimization"))
1303 $hash =
"#".$this->getTopAnchor();
1309 $ilCtrl->setParameter($this->parent_obj,
1311 $sort_field.
":".$order_dir.
":".$this->offset);
1312 $this->tpl->setVariable(
"TBL_ORDER_LINK",
1313 $ilCtrl->getLinkTarget($this->parent_obj, $this->parent_cmd).$hash);
1316 $ilCtrl->setParameter($this->parent_obj,
1324 $allcolumnswithwidth =
true;
1325 foreach ((array) $this->column as $idx => $column)
1327 if (!strlen($column[
"width"]))
1329 $allcolumnswithwidth =
false;
1331 else if($column[
"width"] ==
"1")
1334 $this->column[$idx][
"width"] =
"1%";
1337 if ($allcolumnswithwidth)
1339 foreach ((array) $this->column as $column)
1341 $this->tpl->setCurrentBlock(
"tbl_colgroup_column");
1342 $this->tpl->setVariable(
"COLGROUP_COLUMN_WIDTH", $column[
"width"]);
1343 $this->tpl->parseCurrentBlock();
1347 foreach ((array) $this->column as $column)
1352 if ($column[
"tooltip"] !=
"")
1354 include_once(
"./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php");
1357 if (!$this->enabled[
"sort"] || $column[
"sort_field"] ==
"" || $column[
"is_checkbox_action_column"])
1359 $this->tpl->setCurrentBlock(
"tbl_header_no_link");
1360 if ($column[
"width"] !=
"")
1362 $this->tpl->setVariable(
"TBL_COLUMN_WIDTH_NO_LINK",
" width=\"".$column[
"width"].
"\"");
1364 if (!$column[
"is_checkbox_action_column"])
1366 $this->tpl->setVariable(
"TBL_HEADER_CELL_NO_LINK",
1371 $this->tpl->setVariable(
"TBL_HEADER_CELL_NO_LINK",
1374 $this->tpl->setVariable(
"HEAD_CELL_NL_ID",
"thc_".$this->
getId().
"_".$ccnt);
1376 if ($column[
"class"] !=
"")
1378 $this->tpl->setVariable(
"TBL_HEADER_CLASS",
" " . $column[
"class"]);
1380 $this->tpl->parseCurrentBlock();
1381 $this->tpl->touchBlock(
"tbl_header_th");
1384 if (($column[
"sort_field"] == $this->order_field) && ($this->order_direction !=
""))
1386 $this->tpl->setCurrentBlock(
"tbl_order_image");
1387 $this->tpl->setVariable(
"IMG_ORDER_DIR",
ilUtil::getImagePath($this->order_direction.
"_order.png"));
1388 $this->tpl->setVariable(
"IMG_ORDER_ALT", $this->lng->txt(
"change_sort_direction"));
1389 $this->tpl->parseCurrentBlock();
1392 $this->tpl->setCurrentBlock(
"tbl_header_cell");
1393 $this->tpl->setVariable(
"TBL_HEADER_CELL", $column[
"text"]);
1394 $this->tpl->setVariable(
"HEAD_CELL_ID",
"thc_".$this->
getId().
"_".$ccnt);
1397 if ($column[
"width"] !=
"")
1399 $this->tpl->setVariable(
"TBL_COLUMN_WIDTH",
" width=\"".$column[
"width"].
"\"");
1402 $lng_sort_column = $this->lng->txt(
"sort_by_this_column");
1403 $this->tpl->setVariable(
"TBL_ORDER_ALT",$lng_sort_column);
1407 if ($column[
"sort_field"] == $this->order_field)
1409 $order_dir = $this->sort_order;
1411 $lng_change_sort = $this->lng->txt(
"change_sort_direction");
1412 $this->tpl->setVariable(
"TBL_ORDER_ALT",$lng_change_sort);
1415 if ($column[
"class"] !=
"")
1417 $this->tpl->setVariable(
"TBL_HEADER_CLASS",
" " . $column[
"class"]);
1419 $this->
setOrderLink($column[
"sort_field"], $order_dir);
1420 $this->tpl->parseCurrentBlock();
1421 $this->tpl->touchBlock(
"tbl_header_th");
1424 $this->tpl->setCurrentBlock(
"tbl_header");
1425 $this->tpl->parseCurrentBlock();
1443 if ($this->nav_determined)
1468 if ($this->nav_value ==
"" && $this->
getId() !=
"" && $ilUser->getId() != ANONYMOUS_USER_ID)
1476 $nav = explode(
":", $this->nav_value);
1482 if (!$a_omit_offset)
1499 if (!$a_omit_offset)
1501 $this->nav_determined =
true;
1537 if (is_object($ilCtrl) && $this->
getId() ==
"")
1548 if (is_object($ilUser) && $ilUser->getPref(
"screen_reader_optimization"))
1550 $hash =
"#".$this->getTopAnchor();
1553 $this->tpl->setCurrentBlock(
"tbl_form_header");
1554 $this->tpl->setVariable(
"FORMACTION", $this->
getFormAction().$hash);
1555 $this->tpl->setVariable(
"FORMNAME", $this->
getFormName());
1556 $this->tpl->parseCurrentBlock();
1561 $this->tpl->touchBlock(
"tbl_form_footer");
1565 if(!$this->enabled[
'content'])
1577 $this->
setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
1604 $this->tpl->addBlockFile(
"TBL_CONTENT",
"tbl_content", $this->row_template,
1605 $this->row_template_dir);
1607 foreach($data as $set)
1609 $this->tpl->setCurrentBlock(
"tbl_content");
1610 $this->css_row = ($this->css_row !=
"tblrow1")
1613 $this->tpl->setVariable(
"CSS_ROW", $this->css_row);
1616 $this->tpl->setCurrentBlock(
"tbl_content");
1617 $this->tpl->parseCurrentBlock();
1625 : $lng->txt(
"no_items");
1627 $this->css_row = ($this->css_row !=
"tblrow1")
1631 $this->tpl->setCurrentBlock(
"tbl_no_entries");
1632 $this->tpl->setVariable(
'TBL_NO_ENTRY_CSS_ROW', $this->css_row);
1633 $this->tpl->setVariable(
'TBL_NO_ENTRY_COLUMN_COUNT', $this->column_count);
1634 $this->tpl->setVariable(
'TBL_NO_ENTRY_TEXT', trim($no_items_text));
1635 $this->tpl->parseCurrentBlock();
1671 $this->tpl->setVariable(
"CSS_TABLE",$this->
getStyle(
"table"));
1672 $this->tpl->setVariable(
"DATA_TABLE", (
int) $this->
getIsDataTable());
1673 if ($this->
getId() !=
"")
1675 $this->tpl->setVariable(
"ID",
'id="'.$this->
getId().
'"');
1681 $this->tpl->setCurrentBlock(
"tbl_header_description");
1682 $this->tpl->setVariable(
"TBL_DESCRIPTION", $this->
getDescription());
1683 $this->tpl->parseCurrentBlock();
1693 $this->tpl->touchBlock(
"outer_start_1");
1694 $this->tpl->touchBlock(
"outer_end_1");
1698 $this->tpl->touchBlock(
"outer_start_2");
1699 $this->tpl->touchBlock(
"outer_end_2");
1703 if ($this->enabled[
"title"] && ($this->title !=
""
1704 || $this->icon !=
"" || count($this->header_commands) > 0 ||
1705 $this->headerHTML !=
"" || $this->close_command !=
""))
1707 if ($this->enabled[
"icon"])
1709 $this->tpl->setCurrentBlock(
"tbl_header_title_icon");
1711 $this->tpl->setVariable(
"TBL_TITLE_IMG_ALT",$this->icon_alt);
1712 $this->tpl->parseCurrentBlock();
1717 foreach($this->header_commands as $command)
1719 if ($command[
"img"] !=
"")
1721 $this->tpl->setCurrentBlock(
"tbl_header_img_link");
1722 if ($command[
"target"] !=
"")
1724 $this->tpl->setVariable(
"TARGET_IMG_LINK",
1725 'target="'.$command[
"target"].
'"');
1727 $this->tpl->setVariable(
"ALT_IMG_LINK", $command[
"text"]);
1728 $this->tpl->setVariable(
"HREF_IMG_LINK", $command[
"href"]);
1729 $this->tpl->setVariable(
"SRC_IMG_LINK",
1731 $this->tpl->parseCurrentBlock();
1735 $this->tpl->setCurrentBlock(
"head_cmd");
1736 $this->tpl->setVariable(
"TXT_HEAD_CMD", $command[
"text"]);
1737 $this->tpl->setVariable(
"HREF_HEAD_CMD", $command[
"href"]);
1738 $this->tpl->parseCurrentBlock();
1743 if (isset ($this->headerHTML)) {
1744 $this->tpl->setCurrentBlock(
"tbl_header_html");
1745 $this->tpl->setVariable (
"HEADER_HTML", $this->headerHTML);
1746 $this->tpl->parseCurrentBlock();
1750 if ($this->close_command !=
"")
1752 $this->tpl->setCurrentBlock(
"tbl_header_img_link");
1753 $this->tpl->setVariable(
"ALT_IMG_LINK",$lng->txt(
"close"));
1754 $this->tpl->setVariable(
"HREF_IMG_LINK",$this->close_command);
1756 $this->tpl->parseCurrentBlock();
1759 $this->tpl->setCurrentBlock(
"tbl_header_title");
1760 $this->tpl->setVariable(
"TBL_TITLE",$this->title);
1761 $this->tpl->setVariable(
"TOP_ANCHOR",$this->
getTopAnchor());
1764 $this->tpl->setVariable(
"BLK_CLASS",
"Block");
1766 $this->tpl->parseCurrentBlock();
1770 if ($this->enabled[
"header"])
1775 $this->tpl->touchBlock(
"tbl_table_end");
1777 return $this->tpl->get();
1790 $tpl->addJavascript(
"./Services/Table/js/ServiceTable.js");
1792 if (count($filter) == 0 && count($opt_filter) == 0)
1797 include_once(
"./Services/YUI/classes/class.ilYuiUtil.php");
1803 if (count($filter) > 0)
1805 foreach ($filter as $item)
1809 $this->tpl->setCurrentBlock(
"filter_row");
1810 $this->tpl->parseCurrentBlock();
1813 $this->tpl->setCurrentBlock(
"filter_item");
1814 $this->tpl->setVariable(
"OPTION_NAME",
1816 $this->tpl->setVariable(
"F_INPUT_ID",
1817 $item->getFieldId());
1818 $this->tpl->setVariable(
"INPUT_HTML",
1819 $item->getTableFilterHTML());
1820 $this->tpl->parseCurrentBlock();
1826 if (count($opt_filter) > 0)
1830 foreach ($opt_filter as $item)
1836 $this->tpl->setCurrentBlock(
"filter_row");
1837 $this->tpl->parseCurrentBlock();
1840 $this->tpl->setCurrentBlock(
"filter_item");
1841 $this->tpl->setVariable(
"OPTION_NAME",
1843 $this->tpl->setVariable(
"F_INPUT_ID",
1844 $item->getFieldId());
1845 $this->tpl->setVariable(
"INPUT_HTML",
1846 $item->getTableFilterHTML());
1847 $this->tpl->parseCurrentBlock();
1854 foreach ($opt_filter as $item)
1856 $k = $item->getPostVar();
1857 $items[$k] = array(
"txt" => $item->getTitle(),
1861 include_once(
"./Services/UIComponent/CheckboxListOverlay/classes/class.ilCheckboxListOverlayGUI.php");
1863 $cb_over->setLinkTitle($lng->txt(
"optional_filters"));
1864 $cb_over->setItems($items);
1867 $cb_over->setFieldVar(
"tblff".$this->
getId());
1868 $cb_over->setHiddenVar(
"tblfsf".$this->
getId());
1870 $cb_over->setSelectionHeaderClass(
"ilTableMenuItem");
1871 $this->tpl->setCurrentBlock(
"filter_select");
1874 $this->tpl->setVariable(
"HIDDEN_CMD_APPLY", $this->filter_cmd);
1876 $this->tpl->setVariable(
"FILTER_SELECTOR", $cb_over->getHTML());
1877 $this->tpl->parseCurrentBlock();
1881 if($ccnt > 0 || count($opt_filter) > 0)
1883 $this->tpl->setVariable(
"TXT_FILTER", $lng->txt(
"filter"));
1891 $this->tpl->touchBlock(
"filter_empty_cell");
1894 $this->tpl->setCurrentBlock(
"filter_row");
1895 $this->tpl->parseCurrentBlock();
1897 $this->tpl->setCurrentBlock(
"filter_buttons");
1898 $this->tpl->setVariable(
"CMD_APPLY", $this->filter_cmd);
1899 $this->tpl->setVariable(
"TXT_APPLY", $lng->txt(
"apply_filter"));
1900 $this->tpl->setVariable(
"CMD_RESET", $this->reset_cmd);
1901 $this->tpl->setVariable(
"TXT_RESET", $lng->txt(
"reset_filter"));
1903 else if(count($opt_filter) > 0)
1905 $this->tpl->setCurrentBlock(
"optional_filter_hint");
1906 $this->tpl->setVariable(
'TXT_OPT_HINT', $lng->txt(
'optional_filter_hint'));
1907 $this->tpl->parseCurrentBlock();
1910 $this->tpl->setCurrentBlock(
"filter_section");
1911 $this->tpl->setVariable(
"FIL_ID", $this->
getId());
1912 $this->tpl->parseCurrentBlock();
1919 $this->tpl->setCurrentBlock(
"filter_hidden");
1920 $this->tpl->setVariable(
"FI_ID", $this->
getId());
1921 $this->tpl->parseCurrentBlock();
1937 foreach ($filter as $item)
1939 if ($item->checkInput())
1941 $item->setValueByArray(
$_POST);
1942 $item->writeToSession();
1945 foreach ($opt_filter as $item)
1947 if ($item->checkInput())
1949 $item->setValueByArray(
$_POST);
1950 $item->writeToSession();
1969 foreach ($filter as $item)
1971 if ($item->checkInput())
1973 $item->setValueByArray(
$_POST);
1974 $item->clearFromSession();
1977 foreach ($opt_filter as $item)
1979 if ($item->checkInput())
1981 $item->setValueByArray(
$_POST);
1982 $item->clearFromSession();
1999 foreach ($a_set as $key => $value)
2001 $this->tpl->setVariable(
"VAL_".strtoupper($key), $value);
2017 $this->tpl->setCurrentBlock(
"select_all_checkbox");
2018 $this->tpl->setVariable(
"SELECT_ALL_TXT_SELECT_ALL", $lng->txt(
"select_all"));
2020 $this->tpl->setVariable(
"SELECT_ALL_FORM_NAME", $this->
getFormName());
2021 $this->tpl->setVariable(
"CHECKBOXNAME",
"chb_select_all_" . $this->unique_id);
2022 $this->tpl->parseCurrentBlock();
2026 if ($this->enabled[
"numinfo"] && $this->enabled[
"footer"])
2028 $start = $this->offset + 1;
2035 if ($end > $this->max_count or $this->limit == 0)
2040 if ($this->max_count > 0)
2042 if ($this->lang_support)
2044 $numinfo =
"(".$start.
" - ".$end.
" ".strtolower($this->lng->txt(
"of")).
" ".$this->max_count.
")";
2048 $numinfo =
"(".$start.
" - ".$end.
" of ".$this->max_count.
")";
2051 if ($this->max_count > 0)
2055 $this->tpl->setCurrentBlock(
"tbl_footer_numinfo");
2056 $this->tpl->setVariable(
"NUMINFO", $numinfo);
2057 $this->tpl->parseCurrentBlock();
2064 if ($this->enabled[
"linkbar"] && $this->enabled[
"footer"] && $this->limit != 0
2065 && $this->max_count > 0)
2068 "link" => $this->footer_style,
2069 "prev" => $this->footer_previous,
2070 "next" => $this->footer_next,
2075 $this->tpl->setCurrentBlock(
"tbl_footer_linkbar");
2076 $this->tpl->setVariable(
"LINKBAR", $linkbar);
2077 $this->tpl->parseCurrentBlock();
2089 $items[$k] = array(
"txt" => $c[
"txt"],
2092 include_once(
"./Services/UIComponent/CheckboxListOverlay/classes/class.ilCheckboxListOverlayGUI.php");
2094 $cb_over->setLinkTitle($lng->txt(
"columns"));
2095 $cb_over->setItems($items);
2099 $cb_over->setFieldVar(
"tblfs".$this->
getId());
2100 $cb_over->setHiddenVar(
"tblfsh".$this->
getId());
2101 $cb_over->setSelectionHeaderClass(
"ilTableMenuItem");
2102 $column_selector = $cb_over->getHTML();
2124 $create_id =
"template_create_overlay_".$this->getId();
2125 $delete_id =
"template_delete_overlay_".$this->getId();
2126 $list_id =
"template_stg_".$this->getId();
2128 include_once(
"./Services/Table/classes/class.ilTableTemplatesStorage.php");
2130 $templates = $storage->getNames($this->
getContext(), $ilUser->getId());
2132 include_once(
"./Services/UIComponent/Overlay/classes/class.ilOverlayGUI.php");
2135 if(
sizeof($templates))
2138 $overlay->setTrigger($list_id.
"_delete");
2139 $overlay->setAnchor(
"ilAdvSelListAnchorElement_".$list_id);
2140 $overlay->setAutoHide(
false);
2143 $lng->loadLanguageModule(
"form");
2144 $this->tpl->setCurrentBlock(
"template_editor_delete_item");
2145 $this->tpl->setVariable(
"TEMPLATE_DELETE_OPTION_VALUE",
"");
2146 $this->tpl->setVariable(
"TEMPLATE_DELETE_OPTION",
"- ".$lng->txt(
"form_please_select").
" -");
2147 $this->tpl->parseCurrentBlock();
2148 foreach($templates as $name)
2150 $this->tpl->setVariable(
"TEMPLATE_DELETE_OPTION_VALUE", $name);
2151 $this->tpl->setVariable(
"TEMPLATE_DELETE_OPTION", $name);
2152 $this->tpl->parseCurrentBlock();
2155 $this->tpl->setCurrentBlock(
"template_editor_delete");
2156 $this->tpl->setVariable(
"TEMPLATE_DELETE_ID", $delete_id);
2157 $this->tpl->setVariable(
"TXT_TEMPLATE_DELETE", $lng->txt(
"tbl_template_delete"));
2158 $this->tpl->setVariable(
"TXT_TEMPLATE_DELETE_SUBMIT", $lng->txt(
"delete"));
2159 $this->tpl->setVariable(
"TEMPLATE_DELETE_CMD", $this->parent_cmd);
2160 $this->tpl->parseCurrentBlock();
2166 $overlay->setTrigger($list_id.
"_create");
2167 $overlay->setAnchor(
"ilAdvSelListAnchorElement_".$list_id);
2168 $overlay->setAutoHide(
false);
2171 $this->tpl->setCurrentBlock(
"template_editor");
2172 $this->tpl->setVariable(
"TEMPLATE_CREATE_ID", $create_id);
2173 $this->tpl->setVariable(
"TXT_TEMPLATE_CREATE", $lng->txt(
"tbl_template_create"));
2174 $this->tpl->setVariable(
"TXT_TEMPLATE_CREATE_SUBMIT", $lng->txt(
"save"));
2175 $this->tpl->setVariable(
"TEMPLATE_CREATE_CMD", $this->parent_cmd);
2176 $this->tpl->parseCurrentBlock();
2179 include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
2181 $alist->setId($list_id);
2182 $alist->addItem($lng->txt(
"tbl_template_create"),
"create",
"#");
2183 if(
sizeof($templates))
2185 $alist->addItem($lng->txt(
"tbl_template_delete"),
"delete",
"#");
2186 foreach($templates as $name)
2188 $ilCtrl->setParameter($this->parent_obj, $this->prefix.
"_tpl", urlencode($name));
2189 $alist->addItem($name, $name, $ilCtrl->getLinkTarget($this->parent_obj, $this->parent_cmd));
2190 $ilCtrl->setParameter($this->parent_obj, $this->prefix.
"_tpl",
"");
2193 $alist->setListTitle($lng->txt(
"tbl_templates"));
2194 $this->tpl->setVariable(
"TEMPLATE_SELECTOR",
" ".$alist->getHTML());
2199 $this->tpl->setCurrentBlock(
"tbl_footer");
2200 $this->tpl->setVariable(
"COLUMN_COUNT", $this->
getColumnCount());
2203 $this->tpl->setVariable(
"BLK_CLASS",
"Block");
2205 $this->tpl->parseCurrentBlock();
2208 if ($numinfo !=
"" || $linkbar !=
"" || $column_selector !=
"" ||
2209 count($this->filters) > 0 || count($this->optional_filters) > 0)
2211 if (is_object($ilUser) && (count($this->filters) || count($this->optional_filters)))
2213 $this->tpl->setCurrentBlock(
"filter_activation");
2214 $this->tpl->setVariable(
"TXT_ACTIVATE_FILTER", $lng->txt(
"show_filter"));
2215 $this->tpl->setVariable(
"FILA_ID", $this->
getId());
2216 if ($this->
getId() !=
"")
2218 $this->tpl->setVariable(
"SAVE_URLA",
"./ilias.php?baseClass=ilTablePropertiesStorage&table_id=".
2219 $this->
getId().
"&cmd=showFilter&user_id=".$ilUser->getId());
2221 $this->tpl->parseCurrentBlock();
2226 $this->tpl->setCurrentBlock(
"filter_deactivation");
2227 $this->tpl->setVariable(
"TXT_HIDE", $lng->txt(
"hide_filter"));
2228 if ($this->
getId() !=
"")
2230 $this->tpl->setVariable(
"SAVE_URL",
"./ilias.php?baseClass=ilTablePropertiesStorage&table_id=".
2231 $this->
getId().
"&cmd=hideFilter&user_id=".$ilUser->getId());
2232 $this->tpl->setVariable(
"FILD_ID", $this->
getId());
2234 $this->tpl->parseCurrentBlock();
2241 $this->tpl->setCurrentBlock(
"top_numinfo");
2242 $this->tpl->setVariable(
"NUMINFO", $numinfo);
2243 $this->tpl->parseCurrentBlock();
2248 $this->tpl->setCurrentBlock(
"top_linkbar");
2249 $this->tpl->setVariable(
"LINKBAR", $linkbar);
2250 $this->tpl->parseCurrentBlock();
2254 $this->tpl->setVariable(
"COLUMN_SELECTOR", $column_selector);
2259 include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
2261 $alist->setId(
"sellst_rows_".$this->
getId());
2262 $hpp = ($ilUser->getPref(
"hits_per_page") != 9999)
2263 ? $ilUser->getPref(
"hits_per_page")
2264 : $lng->txt(
"unlimited");
2266 $options = array(0 => $lng->txt(
"default").
" (".$hpp.
")",5 => 5, 10 => 10, 15 => 15, 20 => 20,
2267 30 => 30, 40 => 40, 50 => 50,
2268 100 => 100, 200 => 200, 400 => 400, 800 => 800);
2271 $ilCtrl->setParameter($this->parent_obj, $this->prefix.
"_trows", $k);
2272 $alist->addItem($v, $k, $ilCtrl->getLinkTarget($this->parent_obj, $this->parent_cmd));
2273 $ilCtrl->setParameter($this->parent_obj, $this->prefix.
"_trows",
"");
2276 $this->tpl->setVariable(
"ROW_SELECTOR", $alist->getHTML());
2280 if(
sizeof($this->export_formats) && $this->
dataExists())
2282 include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
2284 $alist->setId(
"sellst_xpt");
2285 foreach($this->export_formats as $format => $caption_lng_id)
2287 $ilCtrl->setParameter($this->parent_obj, $this->prefix.
"_xpt", $format);
2288 $url = $ilCtrl->getLinkTarget($this->parent_obj, $this->parent_cmd);
2289 $ilCtrl->setParameter($this->parent_obj, $this->prefix.
"_xpt",
"");
2290 $alist->addItem($lng->txt($caption_lng_id), $format, $url);
2292 $alist->setListTitle($lng->txt(
"export"));
2293 $this->tpl->setVariable(
"EXPORT_SELECTOR",
" ".$alist->getHTML());
2296 $this->tpl->setCurrentBlock(
"top_navigation");
2297 $this->tpl->setVariable(
"COLUMN_COUNT", $this->
getColumnCount());
2300 $this->tpl->setVariable(
"BLK_CLASS",
"Block");
2302 $this->tpl->parseCurrentBlock();
2319 if (is_object($ilUser) && $ilUser->getPref(
"screen_reader_optimization"))
2321 $hash =
"#".$this->getTopAnchor();
2324 $link = $ilCtrl->getLinkTargetByClass(get_class($this->parent_obj), $this->parent_cmd).
2325 "&".$this->getNavParameter().
"=".
2329 $layout_prev = $lng->txt(
"previous");
2330 $layout_next = $lng->txt(
"next");
2333 if ($this->max_count > $this->
getLimit() || $this->custom_prev_next)
2335 $sep =
"<span> | </span>";
2338 $pages = intval($this->max_count / $this->
getLimit());
2341 if (($this->max_count % $this->
getLimit()))
2345 $offset_arr = array();
2346 for ($i = 1 ;$i <= $pages ; $i++)
2348 $newoffset = $this->
getLimit() * ($i-1);
2351 $offset_arr[$nav_value] = $i;
2354 $sep =
"<span> </span>";
2357 if ($this->custom_prev_next && $this->custom_prev !=
"")
2361 $LinkBar .=
"<a href=\"".$this->custom_prev.$hash.
"\">".$layout_prev.
"</a>";
2363 else if ($this->
getOffset() >= 1 && !$this->custom_prev_next)
2368 $LinkBar .=
"<a href=\"".$link.$prevoffset.$hash.
"\">".$layout_prev.
"</a>";
2374 $LinkBar .=
'<span class="ilTableFootLight">'.$layout_prev.
"</span>";
2380 $LinkBar .=
'<input type="hidden" name="'.$this->getNavParameter().
2384 $sep =
"<span> | </span>";
2387 if ($this->custom_prev_next && $this->custom_next !=
"")
2391 $LinkBar .=
"<a href=\"".$this->custom_next.$hash.
"\">".$layout_next.
"</a>";
2393 else if (! ( ($this->
getOffset() / $this->
getLimit())==($pages-1) ) && ($pages!=1) &&
2394 !$this->custom_prev_next)
2399 $LinkBar .=
"<a href=\"".$link.$newoffset.$hash.
"\">".$layout_next.
"</a>";
2405 $LinkBar .=
'<span class="ilTableFootLight">'.$layout_next.
"</span>";
2408 $sep =
"<span> </span>";
2410 if (count($offset_arr) && !$this->
getDisplayAsBlock() && !$this->custom_prev_next)
2415 '<label for="tab_page_sel_'.$a_num.
'">'.$lng->txt(
"page").
'</label> '.
2417 $this->
getNavParameter().$a_num, $offset_arr,
false,
true, 0,
"small",
2418 array(
"id" =>
"tab_page_sel_".$a_num,
2419 "onchange" =>
"ilTablePageSelection(this, 'cmd[".$this->parent_cmd.
"]')"));
2434 $hidden_row =
false;
2435 if(count($this->hidden_inputs))
2437 foreach ($this->hidden_inputs as $hidden_input)
2439 $this->tpl->setCurrentBlock(
"tbl_hidden_field");
2440 $this->tpl->setVariable(
"FIELD_NAME", $hidden_input[
"name"]);
2441 $this->tpl->setVariable(
"FIELD_VALUE", $hidden_input[
"value"]);
2442 $this->tpl->parseCurrentBlock();
2445 $this->tpl->setCurrentBlock(
"tbl_hidden_row");
2446 $this->tpl->parseCurrentBlock();
2458 $action_row =
false;
2462 if (count($this->sel_buttons) > 0)
2464 foreach ($this->sel_buttons as $button)
2466 $this->tpl->setCurrentBlock(
"sel_button");
2467 $this->tpl->setVariable(
"SBUTTON_SELECT",
2469 $button[
"options"],
false,
true));
2470 $this->tpl->setVariable(
"SBTN_NAME", $button[
"cmd"]);
2471 $this->tpl->setVariable(
"SBTN_VALUE", $button[
"text"]);
2472 $this->tpl->parseCurrentBlock();
2476 $this->tpl->setCurrentBlock(
"sel_top_button");
2477 $this->tpl->setVariable(
"SBUTTON_SELECT",
2479 $button[
"options"],
false,
true));
2480 $this->tpl->setVariable(
"SBTN_NAME", $button[
"cmd"]);
2481 $this->tpl->setVariable(
"SBTN_VALUE", $button[
"text"]);
2482 $this->tpl->parseCurrentBlock();
2488 $this->sel_buttons[] = array(
"options" => $a_options,
"cmd" => $a_cmd,
"text" => $a_text);
2491 if (count($this->buttons) > 0)
2493 foreach ($this->buttons as $button)
2495 if (strlen($button[
'onclick']))
2497 $this->tpl->setCurrentBlock(
'cmdonclick');
2498 $this->tpl->setVariable(
'CMD_ONCLICK', $button[
'onclick']);
2499 $this->tpl->parseCurrentBlock();
2501 $this->tpl->setCurrentBlock(
"plain_button");
2502 if ($button[
"id"] !=
"")
2504 $this->tpl->setVariable(
"PBID",
' id="'.$button[
"id"].
'" ');
2506 $this->tpl->setVariable(
"PBTN_NAME", $button[
"cmd"]);
2507 $this->tpl->setVariable(
"PBTN_VALUE", $button[
"text"]);
2508 $this->tpl->parseCurrentBlock();
2512 if (strlen($button[
'onclick']))
2514 $this->tpl->setCurrentBlock(
'top_cmdonclick');
2515 $this->tpl->setVariable(
'CMD_ONCLICK', $button[
'onclick']);
2516 $this->tpl->parseCurrentBlock();
2518 $this->tpl->setCurrentBlock(
"plain_top_button");
2519 $this->tpl->setVariable(
"PBTN_NAME", $button[
"cmd"]);
2520 $this->tpl->setVariable(
"PBTN_VALUE", $button[
"text"]);
2521 $this->tpl->parseCurrentBlock();
2530 if(count($this->mi_sel_buttons))
2532 foreach ($this->mi_sel_buttons as $button)
2534 $this->tpl->setCurrentBlock(
"mi_sel_button");
2535 $this->tpl->setVariable(
"MI_BUTTON_SELECT",
2537 $button[
"options"],
false,
true));
2538 $this->tpl->setVariable(
"MI_BTN_NAME", $button[
"cmd"]);
2539 $this->tpl->setVariable(
"MI_BTN_VALUE", $button[
"text"]);
2540 $this->tpl->parseCurrentBlock();
2544 $this->tpl->setCurrentBlock(
"mi_top_sel_button");
2545 $this->tpl->setVariable(
"MI_BUTTON_SELECT",
2547 $button[
"options"],
false,
true));
2548 $this->tpl->setVariable(
"MI_BTN_NAME", $button[
"cmd"]);
2549 $this->tpl->setVariable(
"MI_BTN_VALUE", $button[
"text"]);
2550 $this->tpl->parseCurrentBlock();
2559 if (count($this->multi) > 1 && $this->
dataExists())
2561 if($this->enable_command_for_all && $this->max_count <= self::getAllCommandLimit())
2563 $this->tpl->setCurrentBlock(
"tbl_cmd_select_all");
2564 $this->tpl->setVariable(
"TXT_SELECT_CMD_ALL", $lng->txt(
"all_objects"));
2565 $this->tpl->parseCurrentBlock();
2568 $this->tpl->setCurrentBlock(
"tbl_cmd_select");
2570 foreach ($this->multi as $mc)
2572 $sel[$mc[
"cmd"]] = $mc[
"text"];
2574 $this->tpl->setVariable(
"SELECT_CMDS",
2576 $this->tpl->setVariable(
"TXT_EXECUTE", $lng->txt(
"execute"));
2577 $this->tpl->parseCurrentBlock();
2583 if($this->enable_command_for_all && $this->max_count <= self::getAllCommandLimit())
2585 $this->tpl->setCurrentBlock(
"tbl_top_cmd_select_all");
2586 $this->tpl->setVariable(
"TXT_SELECT_CMD_ALL", $lng->txt(
"all_objects"));
2587 $this->tpl->parseCurrentBlock();
2590 $this->tpl->setCurrentBlock(
"tbl_top_cmd_select");
2592 foreach ($this->multi as $mc)
2594 $sel[$mc[
"cmd"]] = $mc[
"text"];
2596 $this->tpl->setVariable(
"SELECT_CMDS",
2598 $this->tpl->setVariable(
"TXT_EXECUTE", $lng->txt(
"execute"));
2599 $this->tpl->parseCurrentBlock();
2602 elseif(count($this->multi) == 1 && $this->
dataExists())
2604 $this->tpl->setCurrentBlock(
"tbl_single_cmd");
2606 foreach ($this->multi as $mc)
2611 $this->tpl->setVariable(
"TXT_SINGLE_CMD",$txt);
2612 $this->tpl->setVariable(
"SINGLE_CMD",
$cmd);
2613 $this->tpl->parseCurrentBlock();
2619 $this->tpl->setCurrentBlock(
"tbl_top_single_cmd");
2621 foreach ($this->multi as $mc)
2626 $this->tpl->setVariable(
"TXT_SINGLE_CMD",$txt);
2627 $this->tpl->setVariable(
"SINGLE_CMD",
$cmd);
2628 $this->tpl->parseCurrentBlock();
2634 $this->tpl->setCurrentBlock(
"tbl_action_img_arrow");
2636 $this->tpl->setVariable(
"ALT_ARROW", $lng->txt(
"action"));
2637 $this->tpl->parseCurrentBlock();
2641 $this->tpl->setCurrentBlock(
"tbl_top_action_img_arrow");
2643 $this->tpl->setVariable(
"ALT_ARROW", $lng->txt(
"action"));
2644 $this->tpl->parseCurrentBlock();
2650 $this->tpl->setCurrentBlock(
"tbl_action_row");
2651 $this->tpl->parseCurrentBlock();
2654 $this->tpl->setCurrentBlock(
"tbl_top_action_row");
2655 $this->tpl->parseCurrentBlock();
2667 $this->headerHTML = $html;
2680 if(is_object($ilUser) && $this->
getId() !=
"" && $ilUser->getId() != ANONYMOUS_USER_ID)
2682 include_once(
"./Services/Table/classes/class.ilTablePropertiesStorage.php");
2685 $tab_prop->storeProperty($this->
getId(), $ilUser->getId(), $type, $value);
2699 if(is_object($ilUser) && $this->
getId() !=
"" && $ilUser->getId() != ANONYMOUS_USER_ID)
2701 include_once(
"./Services/Table/classes/class.ilTablePropertiesStorage.php");
2704 return $tab_prop->getProperty($this->
getId(), $ilUser->getId(), $type);
2736 foreach($this->filters as $item)
2741 if($this->optional_filters &&
$result[
"selfilters"])
2743 foreach($this->optional_filters as $item)
2745 if(in_array($item->getFieldId(),
$result[
"selfilters"]))
2763 if(method_exists($a_item,
"getChecked"))
2765 return $a_item->getChecked();
2767 else if(method_exists($a_item,
"getValue"))
2769 return $a_item->getValue();
2771 else if(method_exists($a_item,
"getDate"))
2785 if(method_exists($a_item,
"setChecked"))
2787 $a_item->setChecked($a_value);
2789 else if(method_exists($a_item,
"setValue"))
2791 $a_item->setValue($a_value);
2793 else if(method_exists($a_item,
"setDate"))
2809 $this->context = $id;
2830 $this->show_rows_selector = (bool)$a_value;
2850 $this->show_templates = (bool)$a_value;
2875 if(trim($a_name) && $this->
getContext() !=
"" && is_object($ilUser) && $ilUser->getId() != ANONYMOUS_USER_ID)
2877 include_once(
"./Services/Table/classes/class.ilTableTemplatesStorage.php");
2880 $data = $storage->load($this->
getContext(), $ilUser->getId(), $a_name);
2883 foreach(
$data as $property => $value)
2889 $data[
"filter_values"] = unserialize(
$data[
"filter_values"]);
2890 if(
$data[
"filter_values"])
2892 $this->restore_filter_values =
$data[
"filter_values"];
2912 if(trim($a_name) && $this->
getContext() !=
"" && is_object($ilUser) && $ilUser->getId() != ANONYMOUS_USER_ID)
2914 include_once(
"./Services/Table/classes/class.ilTableTemplatesStorage.php");
2918 $state[
"filter_values"] = serialize($state[
"filter_values"]);
2919 $state[
"selfields"] = serialize($state[
"selfields"]);
2920 $state[
"selfilters"] = serialize($state[
"selfilters"]);
2922 $storage->store($this->
getContext(), $ilUser->getId(), $a_name, $state);
2940 if(trim($a_name) && $this->
getContext() !=
"" && is_object($ilUser) && $ilUser->getId() != ANONYMOUS_USER_ID)
2942 include_once(
"./Services/Table/classes/class.ilTableTemplatesStorage.php");
2944 $storage->delete($this->
getContext(), $ilUser->getId(), $a_name);
2981 $this->export_formats = array();
2984 $valid = array(self::EXPORT_EXCEL =>
"tbl_export_excel",
2985 self::EXPORT_CSV =>
"tbl_export_csv");
2987 foreach($formats as $format)
2989 if(array_key_exists($format,
$valid))
2991 $this->export_formats[$format] =
$valid[$format];
3002 $this->print_mode = (bool)$a_value;
3046 case self::EXPORT_EXCEL:
3047 include_once
"./Services/Excel/classes/class.ilExcelUtils.php";
3048 include_once
"./Services/Excel/classes/class.ilExcelWriterAdapter.php";
3050 $workbook = $adapter->getWorkbook();
3051 $worksheet = $workbook->addWorksheet();
3065 foreach($this->row_data as $set)
3075 case self::EXPORT_CSV:
3076 include_once
"./Services/Utilities/classes/class.ilCSVWriter.php";
3078 $csv->setSeparator(
";");
3083 foreach($this->row_data as $set)
3092 header(
"Content-type: text/comma-separated-values");
3093 header(
"Content-Disposition: attachment; filename=\"".
$filename.
"\"");
3094 header(
"Expires: 0");
3095 header(
"Cache-Control: must-revalidate, post-check=0,pre-check=0");
3096 header(
"Pragma: public");
3097 echo $csv->getCSVString();
3102 file_put_contents(
$filename, $csv->getCSVString());
3136 foreach ($this->column as $column)
3138 $title = strip_tags($column[
"text"]);
3141 $worksheet->write($a_row, $col,
$title);
3159 foreach ($a_set as $key => $value)
3161 if(is_array($value))
3163 $value = implode(
', ', $value);
3165 $a_worksheet->write($a_row, $col, strip_tags($value));
3189 foreach ($this->column as $column)
3191 $title = strip_tags($column[
"text"]);
3194 $a_csv->addColumn(
$title);
3209 foreach ($a_set as $key => $value)
3211 if(is_array($value))
3213 $value = implode(
', ', $value);
3215 $a_csv->addColumn(strip_tags($value));
3227 $this->enable_command_for_all = (bool)$a_value;
3237 global $ilClientIniFile;
3239 $limit = $ilClientIniFile->readVariable(
"system",
"TABLE_ACTION_ALL_LIMIT");