ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilQuestionBrowserTableGUI Class Reference
+ Inheritance diagram for ilQuestionBrowserTableGUI:
+ Collaboration diagram for ilQuestionBrowserTableGUI:

Public Member Functions

 __construct ($a_parent_obj, $a_parent_cmd, $a_write_access=false, $confirmdelete=false, $taxIds=array(), $enableCommenting=false)
 Constructor. More...
 
 isQuestionCommentingEnabled ()
 
 setQuestionCommentingEnabled (bool $questionCommentingEnabled)
 
 setQuestionData ($questionData)
 
 getSelectableColumns ()
 Get selectable columns. More...
 
 initFilter ()
 Init filter. More...
 
 fillHeader ()
 
 fillRow ($data)
 fill row More...
 
 setEditable ($value)
 
 getEditable ()
 
 setWriteAccess ($value)
 
 getWriteAccess ()
 
 numericOrdering ($column)
 
- Public Member Functions inherited from ilTable2GUI
 __construct ($a_parent_obj, $a_parent_cmd="", $a_template_context="")
 ilTable2GUI constructor. More...
 
 setOpenFormTag ($a_val)
 Set open form tag. More...
 
 getOpenFormTag ()
 Get open form tag. More...
 
 setCloseFormTag ($a_val)
 Set close form tag. More...
 
 getCloseFormTag ()
 Get close form tag. More...
 
 determineLimit ()
 Determine the limit. More...
 
 getSelectableColumns ()
 Get selectable columns. More...
 
 determineSelectedColumns ()
 Determine selected columns. More...
 
 isColumnSelected ($a_col)
 Is given column selected? More...
 
 getSelectedColumns ()
 Get selected columns. More...
 
 executeCommand ()
 Execute command. More...
 
 resetOffset ($a_in_determination=false)
 Reset offset. More...
 
 initFilter ()
 Init filter. More...
 
 getParentObject ()
 Get parent object. More...
 
 getParentCmd ()
 Get parent command. More...
 
 setTopAnchor ($a_val)
 Set top anchor. More...
 
 getTopAnchor ()
 Get top anchor. More...
 
 setNoEntriesText ($a_text)
 Set text for an empty table. More...
 
 getNoEntriesText ()
 Get text for an empty table. More...
 
 setIsDataTable ($a_val)
 Set is data table. More...
 
 getIsDataTable ()
 Get is data table. More...
 
 setEnableTitle ($a_enabletitle)
 Set Enable Title. More...
 
 getEnableTitle ()
 Get Enable Title. More...
 
 setEnableHeader ($a_enableheader)
 Set Enable Header. More...
 
 getEnableHeader ()
 Get Enable Header. More...
 
 setEnableNumInfo ($a_val)
 Set enable num info. More...
 
 getEnableNumInfo ()
 Get enable num info. More...
 
 setTitle ($a_title, $a_icon=0, $a_icon_alt=0)
 Set title and title icon. More...
 
 setDescription ($a_val)
 Set description. More...
 
 getDescription ()
 Get description. More...
 
 setOrderField ($a_order_field)
 set order column More...
 
 getOrderField ()
 
 setData ($a_data)
 set table data @access public More...
 
 getData ()
 
 dataExists ()
 
 setPrefix ($a_prefix)
 set prefix for sort and offset fields (if you have two or more tables on a page that you want to sort separately) @access public More...
 
 getPrefix ()
 
 addFilterItem ($a_input_item, $a_optional=false)
 Add filter item. More...
 
 addFilterItemByMetaType ($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=null)
 Add filter by standard type. More...
 
 getFilterItems ($a_optionals=false)
 Get filter items. More...
 
 getFilterItemByPostVar ($a_post_var)
 
 setFilterCols ($a_val)
 Set filter columns. More...
 
 getFilterCols ()
 Get filter columns. More...
 
 setDisableFilterHiding ($a_val=true)
 Set disable filter hiding. More...
 
 getDisableFilterHiding ()
 Get disable filter hiding. More...
 
 isFilterSelected ($a_col)
 Is given filter selected? More...
 
 getSelectedFilters ()
 Get selected filters. More...
 
 determineSelectedFilters ()
 Determine selected filters. More...
 
 setCustomPreviousNext ($a_prev_link, $a_next_link)
 Set custom previous/next links. More...
 
 setFormAction ($a_form_action, $a_multipart=false)
 Set Form action parameter. More...
 
 getFormAction ()
 Get Form action parameter. More...
 
 setFormName ($a_formname="")
 Set Form name. More...
 
 getFormName ()
 Get Form name. More...
 
 setId ($a_val)
 Set id. More...
 
 getId ()
 Get element id. More...
 
 setDisplayAsBlock ($a_val)
 Set display as block. More...
 
 getDisplayAsBlock ()
 Get display as block. More...
 
 getSelectAllCheckbox ()
 Get the name of the checkbox that should be toggled with a select all button. More...
 
 setSelectAllCheckbox ($a_select_all_checkbox, $a_select_all_on_top=false)
 Set the name of the checkbox that should be toggled with a select all button. More...
 
 setExternalSorting ($a_val)
 Set external sorting. More...
 
 getExternalSorting ()
 Get external sorting. More...
 
 setFilterCommand ($a_val, $a_caption=null)
 Set filter command. More...
 
 getFilterCommand ()
 Get filter command. More...
 
 setResetCommand ($a_val, $a_caption=null)
 Set reset filter command. More...
 
 getResetCommand ()
 Get reset filter command. More...
 
 setExternalSegmentation ($a_val)
 Set external segmentation. More...
 
 getExternalSegmentation ()
 Get external segmentation. More...
 
 setRowTemplate ($a_template, $a_template_dir="")
 Set row template. More...
 
 setDefaultOrderField ($a_defaultorderfield)
 Set Default order field. More...
 
 getDefaultOrderField ()
 Get Default order field. More...
 
 setDefaultOrderDirection ($a_defaultorderdirection)
 Set Default order direction. More...
 
 getDefaultOrderDirection ()
 Get Default order direction. More...
 
 setDefaultFilterVisiblity ($a_status)
 Set default filter visiblity. More...
 
 getDefaultFilterVisibility ()
 Get default filter visibility. More...
 
 clearCommandButtons ()
 
 addCommandButton ($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
 Add Command button. More...
 
 addCommandButtonInstance (ilButtonBase $a_button)
 Add Command button instance. More...
 
 addSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection='')
 Add Selection List + Command button. More...
 
 addMultiItemSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection='')
 Add Selection List + Command button for selected items. More...
 
 setCloseCommand ($a_link)
 Add command for closing table. More...
 
 addMultiCommand ($a_cmd, $a_text)
 Add Command button. More...
 
 addHiddenInput ($a_name, $a_value)
 Add Hidden Input field. More...
 
 addHeaderCommand ($a_href, $a_text, $a_target="", $a_img="")
 Add Header Command (Link) (Image needed for now) More...
 
 setTopCommands ($a_val)
 Set top commands (display command buttons on top of table, too) More...
 
 getTopCommands ()
 Get top commands (display command buttons on top of table, too) More...
 
 addColumn ( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
 Add a column to the header. More...
 
 getNavParameter ()
 
 setOrderLink ($sort_field, $order_dir)
 
 fillHeader ()
 
 determineOffsetAndOrder ($a_omit_offset=false)
 Determine offset and order. More...
 
 storeNavParameter ()
 
 getHTML ()
 Get HTML. More...
 
 numericOrdering ($a_field)
 Should this field be sorted numeric? More...
 
 render ()
 render table @access public More...
 
 writeFilterToSession ()
 Write filter values to session. More...
 
 resetFilter ()
 Reset filter. More...
 
 fillFooter ()
 Fill footer row. More...
 
 getLinkbar ($a_num)
 Get previous/next linkbar. More...
 
 fillHiddenRow ()
 
 fillActionRow ()
 Fill Action Row. More...
 
 setHeaderHTML ($html)
 set header html More...
 
 storeProperty ($type, $value)
 Store table property. More...
 
 loadProperty ($type)
 Load table property. More...
 
 getCurrentState ()
 get current settings for order, limit, columns and filter More...
 
 setContext ($id)
 Set context. More...
 
 getContext ()
 Get context. More...
 
 setShowRowsSelector ($a_value)
 Toggle rows-per-page selector. More...
 
 getShowRowsSelector ()
 Get rows-per-page selector state. More...
 
 setShowTemplates ($a_value)
 Toggle templates. More...
 
 getShowTemplates ()
 Get template state. More...
 
 restoreTemplate ($a_name)
 Restore state from template. More...
 
 saveTemplate ($a_name)
 Save current state as template. More...
 
 deleteTemplate ($a_name)
 Delete template. More...
 
 getLimit ()
 Get limit. More...
 
 getOffset ()
 Get offset. More...
 
 setExportFormats (array $formats)
 Set available export formats. More...
 
 setPrintMode ($a_value=false)
 Toogle print mode. More...
 
 getPrintMode ()
 Get print mode. More...
 
 getExportMode ()
 Was export activated? More...
 
 exportData ($format, $send=false)
 Export and optionally send current table data. More...
 
 setEnableAllCommand ($a_value)
 Enable actions for all entries in current result. More...
 
 setRowSelectorLabel ($row_selector_label)
 
 getRowSelectorLabel ()
 
 setPreventDoubleSubmission ($a_val)
 Set prevent double submission. More...
 
 getPreventDoubleSubmission ()
 Get prevent double submission. More...
 
 setLimit ($a_limit=0, $a_default_limit=0)
 set max. More...
 
- Public Member Functions inherited from ilTableGUI
 __construct ($a_data=0, $a_global_tpl=true)
 Constructor. More...
 
 setTemplate ($a_tpl)
 set template @access public More...
 
getTemplateObject ()
 
 setData ($a_data)
 set table data @access public More...
 
 getData ()
 
 setTitle ($a_title, $a_icon=0, $a_icon_alt=0)
 set table title @access public More...
 
 setHelp ($a_help_page, $a_help_icon, $a_help_icon_alt=0)
 set table help page @access public More...
 
 setHeaderNames ($a_header_names)
 set table header names @access public More...
 
 getColumnCount ()
 Returns the column count based on the number of the header row columns @access public. More...
 
 setHeaderVars ($a_header_vars, $a_header_params=0)
 set table header vars @access public More...
 
 setColumnWidth ($a_column_width)
 set table column widths @access public More...
 
 setOneColumnWidth ($a_column_width, $a_column_number)
 set one table column width @access public More...
 
 setMaxCount ($a_max_count)
 set max. More...
 
 setLimit ($a_limit=0, $a_default_limit=0)
 set max. More...
 
 getLimit ()
 Get limit. More...
 
 setPrefix ($a_prefix)
 set prefix for sort and offset fields (if you have two or more tables on a page that you want to sort separately) @access public More...
 
 setOffset ($a_offset)
 set dataset offset @access public More...
 
 getOffset ()
 Get offset. More...
 
 setOrderColumn ($a_order_column=0, $a_default_column=0)
 set order column @access public More...
 
 getOrderColumn ()
 Get order column. More...
 
 setOrderDirection ($a_order_direction)
 set order direction @access public More...
 
 getOrderDirection ()
 Get order direction. More...
 
 setFooter ($a_style, $a_previous=0, $a_next=0)
 set order direction @access public More...
 
 enable ($a_module_name)
 enables particular modules of table More...
 
 disable ($a_module_name)
 diesables particular modules of table More...
 
 sortData ()
 
 render ()
 render table @access public More...
 
 renderHeader ()
 
 setOrderLink ($key, $order_dir)
 
 setStyle ($a_element, $a_style)
 
 getStyle ($a_element)
 
 setBase ($a_base)
 Set Base script name (deprecated, only use this for workarounds). More...
 
 getBase ()
 Get Base script name (deprecated, only use this for workarounds). More...
 
 getFormName ()
 
 setFormName ($a_name="cmd")
 
 getSelectAllCheckbox ()
 
 setSelectAllCheckbox ($a_select_all_checkbox)
 
 clearActionButtons ()
 
 addActionButton ($btn_name, $btn_value)
 

Protected Member Functions

 isCommentsColumnSelected ()
 
 getCommentsHtml ($qData)
 
 getCommentsAjaxLink ($questionId)
 
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated. More...
 
 isFilterVisible ()
 Check if filter is visible: manually shown (session, db) or default value set. More...
 
 isAdvMDFilter (ilAdvancedMDRecordGUI $a_gui, $a_element)
 Check if filter element is based on adv md. More...
 
 fillRow ($a_set)
 Standard Version of Fill Row. More...
 
 getFilterValue (ilFormPropertyGUI $a_item)
 Get current filter value. More...
 
 SetFilterValue (ilFormPropertyGUI $a_item, $a_value)
 Set current filter value. More...
 
 fillMetaExcel (ilExcel $a_excel, &$a_row)
 Add meta information to excel export. More...
 
 fillHeaderExcel (ilExcel $a_excel, &$a_row)
 Excel Version of Fill Header. More...
 
 fillRowExcel (ilExcel $a_excel, &$a_row, $a_set)
 Excel Version of Fill Row. More...
 
 fillMetaCSV ($a_csv)
 Add meta information to csv export. More...
 
 fillHeaderCSV ($a_csv)
 CSV Version of Fill Header. More...
 
 fillRowCSV ($a_csv, $a_set)
 CSV Version of Fill Row. More...
 

Protected Attributes

 $editable = true
 
 $writeAccess = false
 
 $totalPoints = 0
 
 $totalWorkingTime = '00:00:00'
 
 $confirmdelete
 
 $taxIds = array()
 
 $questionCommentingEnabled = false
 
- Protected Attributes inherited from ilTable2GUI
 $ctrl
 
 $tpl
 
 $parent_obj
 
 $parent_cmd
 
 $close_command = ""
 
 $top_anchor = "il_table_top"
 
 $filters = array()
 
 $optional_filters = array()
 
 $filter_cmd = 'applyFilter'
 
 $reset_cmd = 'resetFilter'
 
 $filter_cols = 5
 
 $ext_sort = false
 
 $ext_seg = false
 
 $context = ""
 
 $mi_sel_buttons = []
 
 $disable_filter_hiding = false
 
 $selected_filter = false
 
 $top_commands = true
 
 $selectable_columns = array()
 
 $selected_column = array()
 
 $show_templates = false
 
 $show_rows_selector = true
 
 $rows_selector_off = false
 
 $nav_determined = false
 
 $limit_determined = false
 
 $filters_determined = false
 
 $columns_determined = false
 
 $open_form_tag = true
 
 $close_form_tag = true
 
 $export_formats = []
 
 $export_mode
 
 $print_mode
 
 $enable_command_for_all
 
 $restore_filter
 
 $restore_filter_values
 
 $default_filter_visibility = false
 
 $sortable_fields = array()
 
 $prevent_double_submission = true
 
 $row_selector_label
 
 $select_all_on_top = false
 
 $sel_buttons = []
 
- Protected Attributes inherited from ilTableGUI
 $tpl
 
 $lng
 

Additional Inherited Members

- Static Public Member Functions inherited from ilTable2GUI
static getAllCommandLimit ()
 Get maximum number of entries to enable actions for all. More...
 
- Data Fields inherited from ilTable2GUI
const FILTER_TEXT = 1
 
const FILTER_SELECT = 2
 
const FILTER_DATE = 3
 
const FILTER_LANGUAGE = 4
 
const FILTER_NUMBER_RANGE = 5
 
const FILTER_DATE_RANGE = 6
 
const FILTER_DURATION_RANGE = 7
 
const FILTER_DATETIME_RANGE = 8
 
const FILTER_CHECKBOX = 9
 
const EXPORT_EXCEL = 1
 
const EXPORT_CSV = 2
 
const ACTION_ALL_LIMIT = 1000
 
- Data Fields inherited from ilTableGUI
 $title
 
 $icon
 
 $icon_alt
 
 $help_page
 
 $help_icon
 
 $help_icon_alt
 
 $header_names
 
 $header_vars
 
 $linkbar_vars
 
 $data
 
 $column_count
 
 $column_width
 
 $max_count
 
 $limit
 
 $max_limit = false
 
 $offset
 
 $order_column
 
 $order_direction
 
 $footer_style
 
 $footer_previous
 
 $footer_next
 
 $lang_support = true
 
 $global_tpl
 
 $form_name
 
 $select_all_checkbox
 
 $action_buttons
 
 $prefix
 
 $base = ""
 
 $enabled
 
 $styles
 

Detailed Description

Author
Helmut Schottmüller ilias.nosp@m.@aur.nosp@m.ealis.nosp@m..de
Version
$Id$

@ilCtrl_Calls ilQuestionBrowserTableGUI: ilFormPropertyDispatchGUI

Definition at line 18 of file class.ilQuestionBrowserTableGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilQuestionBrowserTableGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
  $a_write_access = false,
  $confirmdelete = false,
  $taxIds = array(),
  $enableCommenting = false 
)

Constructor.

@access public

Parameters

return

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

41 {
42 $this->setQuestionCommentingEnabled($enableCommenting);
43
44 // Bugfix: #0019539
45 if ($confirmdelete) {
46 $this->setId("qpl_confirm_del_" . $a_parent_obj->object->getRefId());
47 } else {
48 $this->setId("qpl_qst_brows_" . $a_parent_obj->object->getRefId());
49 }
50
51 parent::__construct($a_parent_obj, $a_parent_cmd);
52
53 global $DIC;
54 $lng = $DIC['lng'];
55 $ilCtrl = $DIC['ilCtrl'];
56
57 $this->lng = $lng;
58 $this->ctrl = $ilCtrl;
59
60 $this->confirmdelete = $confirmdelete;
61 $this->setWriteAccess($a_write_access);
62 $this->taxIds = $taxIds;
63
64 $qplSetting = new ilSetting("qpl");
65
66 $this->setFormName('questionbrowser');
67 $this->setStyle('table', 'fullwidth');
68 if (!$confirmdelete) {
69 $this->addColumn('', '', '1%');
70 $this->addColumn($this->lng->txt("title"), 'title', '');
71 foreach ($this->getSelectedColumns() as $c) {
72 if (strcmp($c, 'description') == 0) {
73 $this->addColumn($this->lng->txt("description"), 'description', '');
74 }
75 if (strcmp($c, 'type') == 0) {
76 $this->addColumn($this->lng->txt("question_type"), 'ttype', '');
77 }
78 // According to mantis #12713
79 if (strcmp($c, 'points') == 0) {
80 $this->addColumn($this->lng->txt("points"), 'points', '', false, 'ilCenterForced');
81 }
82 if (strcmp($c, 'statistics') == 0) {
83 $this->addColumn($this->lng->txt('statistics'), '', '');
84 }
85 if (strcmp($c, 'author') == 0) {
86 $this->addColumn($this->lng->txt("author"), 'author', '');
87 }
88 if ($this->isQuestionCommentingEnabled() && $c == 'comments') {
89 $this->addColumn($this->lng->txt("ass_comments"), 'comments', '');
90 }
91 if (strcmp($c, 'created') == 0) {
92 $this->addColumn($this->lng->txt("create_date"), 'created', '');
93 }
94 if (strcmp($c, 'tstamp') == 0) {
95 $this->addColumn($this->lng->txt("last_update"), 'tstamp', '');
96 }
97 if (strcmp($c, 'working_time') == 0) {
98 $this->addColumn($this->lng->txt("working_time"), 'working_time', '');
99 }
100 }
101 $this->addColumn($this->lng->txt('actions'), '');
102 $this->setSelectAllCheckbox('q_id');
103 } else {
104 $this->addColumn($this->lng->txt("title"), 'title', '');
105 foreach ($this->getSelectedColumns() as $c) {
106 if (strcmp($c, 'description') == 0) {
107 $this->addColumn($this->lng->txt("description"), 'description', '');
108 }
109 if (strcmp($c, 'type') == 0) {
110 $this->addColumn($this->lng->txt("question_type"), 'ttype', '');
111 }
112 }
113 }
114
115 if ($this->getWriteAccess()) {
116 if ($confirmdelete) {
117 $this->addCommandButton('confirmDeleteQuestions', $this->lng->txt('confirm'));
118 $this->addCommandButton('cancelDeleteQuestions', $this->lng->txt('cancel'));
119 } else {
120 $this->addMultiCommand('copy', $this->lng->txt('copy'));
121 $this->addMultiCommand('move', $this->lng->txt('move'));
122 $this->addMultiCommand('exportQuestion', $this->lng->txt('export'));
123 $this->addMultiCommand('deleteQuestions', $this->lng->txt('delete'));
124 }
125 }
126
127 $this->setRowTemplate("tpl.il_as_qpl_questionbrowser_row.html", "Modules/TestQuestionPool");
128
129 $this->setFormAction($this->ctrl->getFormAction($a_parent_obj, $a_parent_cmd));
130 $this->setDefaultOrderField("title");
131 $this->setDefaultOrderDirection("asc");
132
133 $this->setShowRowsSelector(true);
134
135 if ($confirmdelete) {
136 $this->disable('sort');
137 $this->disable('select_all');
138 } else {
139 $this->enable('sort');
140 $this->enable('header');
141 $this->enable('select_all');
142 $this->setFilterCommand('filterQuestionBrowser');
143 $this->setResetCommand('resetQuestionBrowser');
144 $this->initFilter();
145 }
146
147 if ($this->isQuestionCommentingEnabled()) {
148 global $DIC; /* @var ILIAS\DI\Container $DIC */
149
150 $notesUrl = $this->ctrl->getLinkTargetByClass(
151 array("ilcommonactiondispatchergui", "ilnotegui"),
152 "",
153 "",
154 true,
155 false
156 );
157
158 ilNoteGUI::initJavascript($notesUrl, IL_NOTE_PUBLIC, $DIC->ui()->mainTemplate());
159 }
160 }
const IL_NOTE_PUBLIC
Definition: class.ilNote.php:6
static initJavascript($a_ajax_url, $a_type=IL_NOTE_PRIVATE, ilTemplate $a_main_tpl=null)
Init javascript.
setQuestionCommentingEnabled(bool $questionCommentingEnabled)
ILIAS Setting Class.
getSelectedColumns()
Get selected columns.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
setSelectAllCheckbox($a_select_all_checkbox, $a_select_all_on_top=false)
Set the name of the checkbox that should be toggled with a select all button.
setResetCommand($a_val, $a_caption=null)
Set reset filter command.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
addMultiCommand($a_cmd, $a_text)
Add Command button.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
addColumn( $a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
setId($a_val)
Set id.
setFormName($a_formname="")
Set Form name.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
setFilterCommand($a_val, $a_caption=null)
Set filter command.
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
disable($a_module_name)
diesables particular modules of table
setStyle($a_element, $a_style)
enable($a_module_name)
enables particular modules of table
global $ilCtrl
Definition: ilias.php:18
global $DIC
Definition: saml.php:7

References $c, $confirmdelete, $DIC, $ilCtrl, ilTableGUI\$lng, $taxIds, ilTable2GUI\addColumn(), ilTable2GUI\addCommandButton(), ilTable2GUI\addMultiCommand(), ilTableGUI\disable(), ilTableGUI\enable(), ilTable2GUI\getSelectedColumns(), getWriteAccess(), IL_NOTE_PUBLIC, initFilter(), ilNoteGUI\initJavascript(), isQuestionCommentingEnabled(), ilTable2GUI\setDefaultOrderDirection(), ilTable2GUI\setDefaultOrderField(), ilTable2GUI\setFilterCommand(), ilTable2GUI\setFormAction(), ilTable2GUI\setFormName(), ilTable2GUI\setId(), setQuestionCommentingEnabled(), ilTable2GUI\setResetCommand(), ilTable2GUI\setRowTemplate(), ilTable2GUI\setSelectAllCheckbox(), ilTable2GUI\setShowRowsSelector(), ilTableGUI\setStyle(), and setWriteAccess().

+ Here is the call graph for this function:

Member Function Documentation

◆ fillHeader()

ilQuestionBrowserTableGUI::fillHeader ( )

Reimplemented from ilTable2GUI.

Definition at line 334 of file class.ilQuestionBrowserTableGUI.php.

335 {
336 foreach ($this->column as $key => $column) {
337 if (strcmp($column['text'], $this->lng->txt("points")) == 0) {
338 $this->column[$key]['text'] = $this->lng->txt("points") . " (" . $this->totalPoints . ")";
339 } elseif (strcmp($column['text'], $this->lng->txt("working_time")) == 0) {
340 $this->column[$key]['text'] = $this->lng->txt("working_time") . " (" . $this->totalWorkingTime . ")";
341 }
342 }
343 parent::fillHeader();
344 }
$key
Definition: croninfo.php:18

References $key.

◆ fillRow()

ilQuestionBrowserTableGUI::fillRow (   $data)

fill row

@access public

Parameters

return

Reimplemented from ilTable2GUI.

Definition at line 353 of file class.ilQuestionBrowserTableGUI.php.

354 {
355 global $DIC;
356 $ilUser = $DIC['ilUser'];
357 $ilAccess = $DIC['ilAccess'];
358 include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
359 include_once "./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
360 $class = strtolower(assQuestionGUI::_getGUIClassNameForId($data["question_id"]));
361 $this->ctrl->setParameterByClass("ilAssQuestionPageGUI", "q_id", $data["question_id"]);
362 $this->ctrl->setParameterByClass("ilAssQuestionPreviewGUI", "q_id", $data["question_id"]);
363 $this->ctrl->setParameterByClass($class, "q_id", $data["question_id"]);
364 $points = 0;
365
366 $actions = new ilAdvancedSelectionListGUI();
367 $actions->setId('qst' . $data["question_id"]);
368 $actions->setListTitle($this->lng->txt('actions'));
369
370 if (!$this->confirmdelete) {
371 $this->tpl->setCurrentBlock('checkbox');
372 $this->tpl->setVariable('CB_QUESTION_ID', $data["question_id"]);
373 $this->tpl->parseCurrentBlock();
374
375 if ($data["complete"] == 0) {
376 $this->tpl->setCurrentBlock("qpl_warning");
377 $this->tpl->setVariable("IMAGE_WARNING", ilUtil::getImagePath("icon_alert.svg"));
378 $this->tpl->setVariable("ALT_WARNING", $this->lng->txt("warning_question_not_complete"));
379 $this->tpl->setVariable("TITLE_WARNING", $this->lng->txt("warning_question_not_complete"));
380 $this->tpl->parseCurrentBlock();
381 } else {
382 $points = $data["points"];
383 $this->totalWorkingTime = assQuestion::sumTimesInISO8601FormatH_i_s_Extended($this->totalWorkingTime, $data['working_time']);
384 }
385 $this->totalPoints += $points;
386
387 foreach ($this->getSelectedColumns() as $c) {
388 if (strcmp($c, 'points') == 0) {
389 $this->tpl->setCurrentBlock('points');
390 $this->tpl->setVariable("QUESTION_POINTS", $points);
391 $this->tpl->parseCurrentBlock();
392 }
393 if (strcmp($c, 'statistics') == 0) {
394 $this->tpl->setCurrentBlock('statistics');
395 $this->tpl->setVariable("LINK_ASSESSMENT", $this->ctrl->getLinkTargetByClass($class, "assessment"));
396 $this->tpl->setVariable("TXT_ASSESSMENT", $this->lng->txt("statistics"));
397 include_once "./Services/Utilities/classes/class.ilUtil.php";
398 $this->tpl->setVariable("IMG_ASSESSMENT", ilUtil::getImagePath("assessment.gif", "Modules/TestQuestionPool"));
399 $this->tpl->parseCurrentBlock();
400 }
401 if (strcmp($c, 'author') == 0) {
402 $this->tpl->setCurrentBlock('author');
403 $this->tpl->setVariable("QUESTION_AUTHOR", $data["author"]);
404 $this->tpl->parseCurrentBlock();
405 }
406 if ($c == 'comments' && $this->isQuestionCommentingEnabled()) {
407 $this->tpl->setCurrentBlock('comments');
408 $this->tpl->setVariable("COMMENTS", $this->getCommentsHtml($data));
409 $this->tpl->parseCurrentBlock();
410 }
411 if (strcmp($c, 'created') == 0) {
412 $this->tpl->setCurrentBlock('created');
413 $this->tpl->setVariable('QUESTION_CREATED', ilDatePresentation::formatDate(new ilDateTime($data['created'], IL_CAL_UNIX)));
414 $this->tpl->parseCurrentBlock();
415 }
416 if (strcmp($c, 'tstamp') == 0) {
417 $this->tpl->setCurrentBlock('updated');
418 $this->tpl->setVariable('QUESTION_UPDATED', ilDatePresentation::formatDate(new ilDateTime($data['tstamp'], IL_CAL_UNIX)));
419 $this->tpl->parseCurrentBlock();
420 }
421 if (strcmp($c, 'working_time') == 0) {
422 $this->tpl->setCurrentBlock('working_time');
423 $this->tpl->setVariable('WORKING_TIME', $data["working_time"]);
424 $this->tpl->parseCurrentBlock();
425 }
426 }
427
428 $actions->addItem($this->lng->txt('preview'), '', $this->ctrl->getLinkTargetByClass('ilAssQuestionPreviewGUI', ilAssQuestionPreviewGUI::CMD_SHOW));
429 if ($this->getEditable()) {
430 $editHref = $this->ctrl->getLinkTargetByClass($data['type_tag'] . 'GUI', 'editQuestion');
431 $actions->addItem($this->lng->txt('edit_question'), '', $editHref);
432
433 $editPageHref = $this->ctrl->getLinkTargetByClass('ilAssQuestionPageGUI', 'edit');
434 $actions->addItem($this->lng->txt('edit_page'), '', $editPageHref);
435 }
436
437 if ($this->getWriteAccess()) {
438 $this->ctrl->setParameter($this->parent_obj, 'q_id', $data['question_id']);
439 $moveHref = $this->ctrl->getLinkTarget($this->parent_obj, 'move');
440 $this->ctrl->setParameter($this->parent_obj, 'q_id', null);
441 $actions->addItem($this->lng->txt('move'), '', $moveHref);
442
443 $this->ctrl->setParameter($this->parent_obj, 'q_id', $data['question_id']);
444 $copyHref = $this->ctrl->getLinkTarget($this->parent_obj, 'copy');
445 $this->ctrl->setParameter($this->parent_obj, 'q_id', null);
446 $actions->addItem($this->lng->txt('copy'), '', $copyHref);
447
448 $this->ctrl->setParameter($this->parent_obj, 'q_id', $data['question_id']);
449 $deleteHref = $this->ctrl->getLinkTarget($this->parent_obj, 'deleteQuestions');
450 $this->ctrl->setParameter($this->parent_obj, 'q_id', null);
451 $actions->addItem($this->lng->txt('delete'), '', $deleteHref);
452 }
453
454 if ($this->getEditable()) {
455 require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionFeedbackEditingGUI.php';
456 $this->ctrl->setParameterByClass('ilAssQuestionFeedbackEditingGUI', 'q_id', $data['question_id']);
457 $feedbackHref = $this->ctrl->getLinkTargetByClass('ilAssQuestionFeedbackEditingGUI', ilAssQuestionFeedbackEditingGUI::CMD_SHOW);
458 $this->ctrl->setParameterByClass('ilAssQuestionFeedbackEditingGUI', 'q_id', null);
459 $actions->addItem($this->lng->txt('tst_feedback'), '', $feedbackHref);
460
461 $this->ctrl->setParameterByClass('ilAssQuestionHintsGUI', 'q_id', $data['question_id']);
462 $hintsHref = $this->ctrl->getLinkTargetByClass('ilAssQuestionHintsGUI', ilAssQuestionHintsGUI::CMD_SHOW_LIST);
463 $this->ctrl->setParameterByClass('ilAssQuestionHintsGUI', 'q_id', null);
464 $actions->addItem($this->lng->txt('tst_question_hints_tab'), '', $hintsHref);
465 }
466
467 if ($this->isQuestionCommentingEnabled()) {
468 $actions->addItem(
469 $this->lng->txt('ass_comments'),
470 'comments',
471 '',
472 '',
473 '',
474 '',
475 '',
476 '',
477 $this->getCommentsAjaxLink($data['question_id'])
478 );
479 }
480 } else {
481 $this->tpl->setCurrentBlock('hidden');
482 $this->tpl->setVariable('HIDDEN_QUESTION_ID', $data["question_id"]);
483 $this->tpl->parseCurrentBlock();
484 }
485
486 foreach ($this->getSelectedColumns() as $c) {
487 if (strcmp($c, 'description') == 0) {
488 $this->tpl->setCurrentBlock('description');
489 $this->tpl->setVariable("QUESTION_COMMENT", (strlen($data["description"])) ? $data["description"] : " ");
490 $this->tpl->parseCurrentBlock();
491 }
492 if (strcmp($c, 'type') == 0) {
493 $this->tpl->setCurrentBlock('type');
494 $this->tpl->setVariable("QUESTION_TYPE", assQuestion::_getQuestionTypeName($data["type_tag"]));
495 $this->tpl->parseCurrentBlock();
496 }
497 }
498 $this->tpl->setVariable('QUESTION_ID', $data["question_id"]);
499 if (!$this->confirmdelete) {
500 $this->tpl->setVariable('QUESTION_HREF_LINKED', $this->ctrl->getLinkTargetByClass('ilAssQuestionPreviewGUI', ilAssQuestionPreviewGUI::CMD_SHOW));
501 $this->tpl->setVariable('QUESTION_TITLE_LINKED', $data['title']);
502 $this->tpl->setVariable('ACTIONS', $actions->getHTML());
503 } else {
504 $this->tpl->setVariable('QUESTION_ID_UNLINKED', $data['question_id']);
505 $this->tpl->setVariable('QUESTION_TITLE_UNLINKED', $data['title']);
506 }
507 }
const IL_CAL_UNIX
static _getGUIClassNameForId($a_q_id)
static sumTimesInISO8601FormatH_i_s_Extended($time1, $time2)
static _getQuestionTypeName($type_tag)
Return the translation for a given question type tag.
User interface class for advanced drop-down selection lists.
const CMD_SHOW_LIST
command constants
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
@classDescription Date and time handling
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
$ilUser
Definition: imgupload.php:18

References $c, ilTableGUI\$data, $DIC, $ilUser, assQuestionGUI\_getGUIClassNameForId(), assQuestion\_getQuestionTypeName(), ilAssQuestionFeedbackEditingGUI\CMD_SHOW, ilAssQuestionPreviewGUI\CMD_SHOW, ilAssQuestionHintsGUI\CMD_SHOW_LIST, ilDatePresentation\formatDate(), getCommentsHtml(), getEditable(), ilUtil\getImagePath(), ilTable2GUI\getSelectedColumns(), getWriteAccess(), IL_CAL_UNIX, isQuestionCommentingEnabled(), and assQuestion\sumTimesInISO8601FormatH_i_s_Extended().

+ Here is the call graph for this function:

◆ getCommentsAjaxLink()

ilQuestionBrowserTableGUI::getCommentsAjaxLink (   $questionId)
protected

Definition at line 555 of file class.ilQuestionBrowserTableGUI.php.

556 {
557 $ajax_hash = ilCommonActionDispatcherGUI::buildAjaxHash(1, $_GET['ref_id'], 'quest', $this->parent_obj->object->getId(), 'quest', $questionId);
558 return ilNoteGUI::getListCommentsJSCall($ajax_hash, '');
559 }
$_GET["client_id"]
static buildAjaxHash( $a_node_type, $a_node_id, $a_obj_type, $a_obj_id, $a_sub_type=null, $a_sub_id=null, $a_news_id=0)
Build ajax hash.
static getListCommentsJSCall($a_hash, $a_update_code=null)
Get list comments js call.

References $_GET, ilCommonActionDispatcherGUI\buildAjaxHash(), and ilNoteGUI\getListCommentsJSCall().

Referenced by getCommentsHtml().

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

◆ getCommentsHtml()

ilQuestionBrowserTableGUI::getCommentsHtml (   $qData)
protected

Definition at line 542 of file class.ilQuestionBrowserTableGUI.php.

543 {
544 if (!$qData['comments']) {
545 return '';
546 }
547
548 $ajaxLink = $this->getCommentsAjaxLink($qData['question_id']);
549
550 return "<a class='comment' href='#' onclick=\"return " . $ajaxLink . "\">
551 <img src='" . ilUtil::getImagePath("comment_unlabeled.svg")
552 . "' alt='{$qData['comments']}'><span class='ilHActProp'>{$qData['comments']}</span></a>";
553 }

References getCommentsAjaxLink(), and ilUtil\getImagePath().

Referenced by fillRow().

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

◆ getEditable()

ilQuestionBrowserTableGUI::getEditable ( )

Definition at line 514 of file class.ilQuestionBrowserTableGUI.php.

References $editable.

Referenced by fillRow().

+ Here is the caller graph for this function:

◆ getSelectableColumns()

ilQuestionBrowserTableGUI::getSelectableColumns ( )

Get selectable columns.

Returns
array key: column id, val: true/false -> default on/off

Reimplemented from ilTable2GUI.

Definition at line 206 of file class.ilQuestionBrowserTableGUI.php.

207 {
208 global $DIC;
209 $lng = $DIC['lng'];
210 $cols["description"] = array(
211 "txt" => $lng->txt("description"),
212 "default" => true
213 );
214 $cols["type"] = array(
215 "txt" => $lng->txt("question_type"),
216 "default" => true
217 );
218 if (!$this->confirmdelete) {
219 $cols["points"] = array(
220 "txt" => $lng->txt("points"),
221 "default" => true
222 );
223 $cols["statistics"] = array(
224 "txt" => $lng->txt("statistics"),
225 "default" => true
226 );
227 $cols["author"] = array(
228 "txt" => $lng->txt("author"),
229 "default" => true
230 );
231 if ($this->isQuestionCommentingEnabled()) {
232 $cols["comments"] = array(
233 "txt" => $lng->txt("comments"),
234 "default" => true
235 );
236 }
237 $cols["created"] = array(
238 "txt" => $lng->txt("create_date"),
239 "default" => true
240 );
241 $cols["tstamp"] = array(
242 "txt" => $lng->txt("last_update"),
243 "default" => true
244 );
245 $cols["working_time"] = array(
246 "txt" => $lng->txt("working_time"),
247 "default" => true
248 );
249 }
250 return $cols;
251 }
$cols
Definition: xhr_table.php:11

References $cols, $DIC, ilTableGUI\$lng, and isQuestionCommentingEnabled().

+ Here is the call graph for this function:

◆ getWriteAccess()

ilQuestionBrowserTableGUI::getWriteAccess ( )

Definition at line 524 of file class.ilQuestionBrowserTableGUI.php.

References $writeAccess.

Referenced by __construct(), and fillRow().

+ Here is the caller graph for this function:

◆ initFilter()

ilQuestionBrowserTableGUI::initFilter ( )

Init filter.

Reimplemented from ilTable2GUI.

Definition at line 256 of file class.ilQuestionBrowserTableGUI.php.

257 {
258 global $DIC;
259 $lng = $DIC['lng'];
260 $rbacreview = $DIC['rbacreview'];
261 $ilUser = $DIC['ilUser'];
262
263 // title
264 include_once("./Services/Form/classes/class.ilTextInputGUI.php");
265 $ti = new ilTextInputGUI($lng->txt("title"), "title");
266 $ti->setMaxLength(64);
267 $ti->setValidationRegexp('/^[^%]+$/is');
268 $ti->setSize(20);
269 $this->addFilterItem($ti);
270 $ti->readFromSession();
271 $this->filter["title"] = $ti->getValue();
272
273 // description
274 $ti = new ilTextInputGUI($lng->txt("description"), "description");
275 $ti->setMaxLength(64);
276 $ti->setSize(20);
277 $ti->setValidationRegexp('/^[^%]+$/is');
278 $this->addFilterItem($ti);
279 $ti->readFromSession();
280 $this->filter["description"] = $ti->getValue();
281
282 if (!$this->confirmdelete) {
283 // author
284 $ti = new ilTextInputGUI($lng->txt("author"), "author");
285 $ti->setMaxLength(64);
286 $ti->setSize(20);
287 $ti->setValidationRegexp('/^[^%]+$/is');
288 $this->addFilterItem($ti);
289 $ti->readFromSession();
290 $this->filter["author"] = $ti->getValue();
291 }
292 // questiontype
293 include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
294 include_once("./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php");
296 $options = array();
297 $options[""] = $lng->txt('filter_all_question_types');
298 foreach ($types as $translation => $row) {
299 $options[$row['type_tag']] = $translation;
300 }
301
302 $si = new ilSelectInputGUI($this->lng->txt("question_type"), "type");
303 $si->setOptions($options);
304 $this->addFilterItem($si);
305 $si->readFromSession();
306 $this->filter["type"] = $si->getValue();
307
308 if ($this->parent_obj->object->getShowTaxonomies()) {
309 require_once 'Services/Taxonomy/classes/class.ilTaxSelectInputGUI.php';
310
311 foreach ($this->taxIds as $taxId) {
312 if ($taxId == $this->parent_obj->object->getNavTaxonomyId()) {
313 continue;
314 }
315
316 $postvar = "tax_$taxId";
317
318 $inp = new ilTaxSelectInputGUI($taxId, $postvar, true);
319 $this->addFilterItem($inp);
320 $inp->readFromSession();
321 $this->filter[$postvar] = $inp->getValue();
322 }
323 }
324
325 // comments
326 if ($this->isQuestionCommentingEnabled()) {
327 $comments = new ilCheckboxInputGUI($lng->txt('ass_commented_questions_only'), 'commented');
328 $this->addFilterItem($comments);
329 $comments->readFromSession();
330 $this->filter['commented'] = $comments->getChecked();
331 }
332 }
This class represents a checkbox property in a property form.
static _getQuestionTypes($all_tags=false, $fixOrder=false, $withDeprecatedTypes=true)
This class represents a selection list property in a property form.
addFilterItem($a_input_item, $a_optional=false)
Add filter item.
Select taxonomy nodes input GUI.
This class represents a text property in a property form.
$row

References $DIC, $ilUser, ilTableGUI\$lng, PHPMailer\PHPMailer\$options, $row, $si, ilObjQuestionPool\_getQuestionTypes(), ilTable2GUI\addFilterItem(), and isQuestionCommentingEnabled().

Referenced by __construct().

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

◆ isCommentsColumnSelected()

ilQuestionBrowserTableGUI::isCommentsColumnSelected ( )
protected

Definition at line 178 of file class.ilQuestionBrowserTableGUI.php.

179 {
180 return in_array('comments', $this->getSelectedColumns());
181 }

References ilTable2GUI\getSelectedColumns().

Referenced by setQuestionData().

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

◆ isQuestionCommentingEnabled()

ilQuestionBrowserTableGUI::isQuestionCommentingEnabled ( )
Returns
bool

Definition at line 165 of file class.ilQuestionBrowserTableGUI.php.

References $questionCommentingEnabled.

Referenced by __construct(), fillRow(), getSelectableColumns(), initFilter(), and setQuestionData().

+ Here is the caller graph for this function:

◆ numericOrdering()

ilQuestionBrowserTableGUI::numericOrdering (   $column)
Parameters
string$column
Returns
bool

Reimplemented from ilTable2GUI.

Definition at line 533 of file class.ilQuestionBrowserTableGUI.php.

534 {
535 if (in_array($column, array('points', 'created', 'tstamp', 'comments'))) {
536 return true;
537 }
538
539 return false;
540 }

◆ setEditable()

ilQuestionBrowserTableGUI::setEditable (   $value)

Definition at line 509 of file class.ilQuestionBrowserTableGUI.php.

510 {
511 $this->editable = $value;
512 }

◆ setQuestionCommentingEnabled()

ilQuestionBrowserTableGUI::setQuestionCommentingEnabled ( bool  $questionCommentingEnabled)
Parameters
bool$questionCommentingEnabled

Definition at line 173 of file class.ilQuestionBrowserTableGUI.php.

174 {
175 $this->questionCommentingEnabled = $questionCommentingEnabled;
176 }

References $questionCommentingEnabled.

Referenced by __construct().

+ Here is the caller graph for this function:

◆ setQuestionData()

ilQuestionBrowserTableGUI::setQuestionData (   $questionData)

Definition at line 183 of file class.ilQuestionBrowserTableGUI.php.

184 {
185 if ($this->isQuestionCommentingEnabled() && ($this->isCommentsColumnSelected() || $this->filter['commented'])) {
186 foreach ($questionData as $key => $data) {
187 $numComments = count(ilNote::_getNotesOfObject(
188 $this->parent_obj->object->getId(),
189 $data['question_id'],
190 'quest',
192 ));
193
194 if ($this->filter['commented'] && !$numComments) {
195 unset($questionData[$key]);
196 continue;
197 }
198
199 $questionData[$key]['comments'] = $numComments;
200 }
201 }
202
203 $this->setData($questionData);
204 }
static _getNotesOfObject( $a_rep_obj_id, $a_obj_id, $a_obj_type, $a_type=IL_NOTE_PRIVATE, $a_incl_sub=false, $a_filter="", $a_all_public="y", $a_repository_mode=true, $a_sort_ascending=false, $a_news_id=0)
get all notes related to a specific object
setData($a_data)
set table data @access public

References ilTableGUI\$data, $key, ilNote\_getNotesOfObject(), IL_NOTE_PUBLIC, isCommentsColumnSelected(), isQuestionCommentingEnabled(), and ilTable2GUI\setData().

+ Here is the call graph for this function:

◆ setWriteAccess()

ilQuestionBrowserTableGUI::setWriteAccess (   $value)

Definition at line 519 of file class.ilQuestionBrowserTableGUI.php.

520 {
521 $this->writeAccess = $value;
522 }

Referenced by __construct().

+ Here is the caller graph for this function:

Field Documentation

◆ $confirmdelete

ilQuestionBrowserTableGUI::$confirmdelete
protected

Definition at line 24 of file class.ilQuestionBrowserTableGUI.php.

Referenced by __construct().

◆ $editable

ilQuestionBrowserTableGUI::$editable = true
protected

Definition at line 20 of file class.ilQuestionBrowserTableGUI.php.

Referenced by getEditable().

◆ $questionCommentingEnabled

ilQuestionBrowserTableGUI::$questionCommentingEnabled = false
protected

◆ $taxIds

ilQuestionBrowserTableGUI::$taxIds = array()
protected

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

Referenced by __construct().

◆ $totalPoints

ilQuestionBrowserTableGUI::$totalPoints = 0
protected

Definition at line 22 of file class.ilQuestionBrowserTableGUI.php.

◆ $totalWorkingTime

ilQuestionBrowserTableGUI::$totalWorkingTime = '00:00:00'
protected

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

◆ $writeAccess

ilQuestionBrowserTableGUI::$writeAccess = false
protected

Definition at line 21 of file class.ilQuestionBrowserTableGUI.php.

Referenced by getWriteAccess().


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