ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
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)
 Constructor.
 initFilter ()
 Init filter.
 fillHeader ()
 fillRow ($data)
 fill row
 setEditable ($value)
 getEditable ()
 setWriteAccess ($value)
 getWriteAccess ()
- Public Member Functions inherited from ilTable2GUI
 __construct ($a_parent_obj, $a_parent_cmd="")
 Constructor.
executeCommand ()
 Execute command.
 resetOffset ($a_in_determination=false)
 Reset offset.
 getParentObject ()
 Get parent object.
 getParentCmd ()
 Get parent command.
 setTopAnchor ($a_val)
 Set top anchor.
 getTopAnchor ()
 Get top anchor.
 setNoEntriesText ($a_text)
 Set text for an empty table.
 getNoEntriesText ()
 Get text for an empty table.
 setIsDataTable ($a_val)
 Set is data table.
 getIsDataTable ()
 Get is data table.
 setEnableTitle ($a_enabletitle)
 Set Enable Title.
 getEnableTitle ()
 Get Enable Title.
 setEnableHeader ($a_enableheader)
 Set Enable Header.
 getEnableHeader ()
 Get Enable Header.
 setEnableNumInfo ($a_val)
 Set enable num info.
 getEnableNumInfo ()
 Get enable num info.
 setTitle ($a_title, $a_icon=0, $a_icon_alt=0)
 Set title and title icon.
 setDescription ($a_val)
 Set description.
 getDescription ()
 Get description.
 setOrderField ($a_order_field)
 set order column
 getOrderField ()
 setData ($a_data)
 set table data public
 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) public
 getPrefix ()
 addFilterItem ($a_input_item, $a_optional=false)
 Add filter item.
 getFilterItems ($a_optionals=false)
 Get filter items.
 getFilterItemByPostVar ($a_post_var)
 setFilterCols ($a_val)
 Set filter columns.
 getFilterCols ()
 Get filter columns.
 setDisableFilterHiding ($a_val=true)
 Set disable filter hiding.
 getDisableFilterHiding ()
 Get disable filter hiding disable filter hiding.
 setCustomPreviousNext ($a_prev_link, $a_next_link)
 Set custom previous/next links.
 setFormAction ($a_form_action)
 Set Form action parameter.
 getFormAction ()
 Get Form action parameter.
 setFormName ($a_formname)
 Set Form name.
 getFormName ()
 Get Form name.
 setId ($a_val)
 Set id.
 getId ()
 Get element id.
 setDisplayAsBlock ($a_val)
 Set display as block.
 getDisplayAsBlock ()
 Get display as block.
 getSelectAllCheckbox ()
 Get the name of the checkbox that should be toggled with a select all button.
 setSelectAllCheckbox ($a_select_all_checkbox)
 Set the name of the checkbox that should be toggled with a select all button.
 setExternalSorting ($a_val)
 Set external sorting.
 getExternalSorting ()
 Get external sorting.
 setFilterCommand ($a_val)
 Set filter command.
 getFilterCommand ()
 Get filter command.
 setResetCommand ($a_val)
 Set reset filter command.
 getResetCommand ()
 Get reset filter command.
 setExternalSegmentation ($a_val)
 Set external segmentation.
 getExternalSegmentation ()
 Get external segmentation.
 setRowTemplate ($a_template, $a_template_dir="")
 Set row template.
 setDefaultOrderField ($a_defaultorderfield)
 Set Default order field.
 getDefaultOrderField ()
 Get Default order field.
 setDefaultOrderDirection ($a_defaultorderdirection)
 Set Default order direction.
 getDefaultOrderDirection ()
 Get Default order direction.
 clearCommandButtons ()
 addCommandButton ($a_cmd, $a_text, $a_onclick= '')
 Add Command button.
 addSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button.
 addMultiItemSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button for selected items.
 setCloseCommand ($a_link)
 Add command for closing table.
 addMultiCommand ($a_cmd, $a_text)
 Add Command button.
 addHiddenInput ($a_name, $a_value)
 Add Hidden Input field.
 addHeaderCommand ($a_href, $a_text, $a_target="", $a_img="")
 Add Header Command (Link) (Image needed for now)
 setTopCommands ($a_val)
 Set top commands (display command buttons on top of table, too)
 getTopCommands ()
 Get top commands (display command buttons on top of table, too)
 addColumn ($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="")
 Add a column to the header.
 getNavParameter ()
 setOrderLink ($sort_field, $order_dir)
 determineOffsetAndOrder ($a_omit_offset=false)
 Determine offset and order.
 storeNavParameter ()
 getHTML ()
 Get HTML.
 numericOrdering ($a_field)
 Should this field be sorted numeric?
 render ()
 render table public
 writeFilterToSession ()
 Write filter values to session.
 resetFilter ()
 Reset filter.
 fillFooter ()
 Fill footer row.
 getLinkbar ($a_num)
 Get previous/next linkbar.
 fillHiddenRow ()
 fillActionRow ()
 Fill Action Row.
 setHeaderHTML ($html)
 set header html
- Public Member Functions inherited from ilTableGUI
 ilTableGUI ($a_data=0, $a_global_tpl=true)
 Constructor.
 setTemplate (&$a_tpl)
 set template public
getTemplateObject ()
 setHelp ($a_help_page, $a_help_icon, $a_help_icon_alt=0)
 set table help page public
 setHeaderNames ($a_header_names)
 set table header names public
 getColumnCount ()
 Returns the column count based on the number of the header row columns public.
 setHeaderVars ($a_header_vars, $a_header_params=0)
 set table header vars public
 setColumnWidth ($a_column_width)
 set table column widths public
 setOneColumnWidth ($a_column_width, $a_column_number)
 set one table column width public
 setMaxCount ($a_max_count)
 set max.
 setLimit ($a_limit=0, $a_default_limit=0)
 set max.
 getLimit ()
 Get limit.
 setOffset ($a_offset)
 set dataset offset public
 getOffset ()
 Get offset.
 setOrderColumn ($a_order_column=0, $a_default_column=0)
 set order column public
 getOrderColumn ()
 Get order column.
 setOrderDirection ($a_order_direction)
 set order direction public
 getOrderDirection ()
 Get order direction.
 setFooter ($a_style, $a_previous=0, $a_next=0)
 set order direction public
 enable ($a_module_name)
 enables particular modules of table
 disable ($a_module_name)
 diesables particular modules of table
 sortData ()
 renderHeader ()
 setStyle ($a_element, $a_style)
 getStyle ($a_element)
 setBase ($a_base)
 Set Base script name (deprecated, only use this for workarounds).
 getBase ()
 Get Base script name (deprecated, only use this for workarounds).
 clearActionButtons ()
 addActionButton ($btn_name, $btn_value)

Protected Attributes

 $editable = true
 $writeAccess = false
 $totalPoints = 0
 $browsercolumns = array()
 $confirmdelete
- Protected Attributes inherited from ilTable2GUI
 $close_command = ""
 $top_anchor = "il_table_top"
 $filters = array()
 $optional_filters = array()
 $filter_cmd = 'applyFilter'
 $reset_cmd = 'resetFilter'
 $filter_cols = 4
 $ext_sort = false
 $ext_seg = false
 $mi_sel_buttons = null
 $disable_filter_hiding = false
 $top_commands = false

Additional Inherited Members

- 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
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated.

Detailed Description

Author
Helmut Schottmüller ilias.nosp@m.@aur.nosp@m.ealis.nosp@m..de
Version
Id:
class.ilQuestionBrowserTableGUI.php 25751 2010-09-23 08:58:45Z hschottm

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

Constructor & Destructor Documentation

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

Constructor.

public

Parameters
@return

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

References $_SESSION, $confirmdelete, $ilCtrl, $lng, ilTable2GUI\addColumn(), ilTable2GUI\addCommandButton(), ilTable2GUI\addMultiCommand(), ilTableGUI\disable(), ilTableGUI\enable(), getWriteAccess(), initFilter(), ilTable2GUI\setDefaultOrderDirection(), ilTable2GUI\setDefaultOrderField(), ilTable2GUI\setFilterCommand(), ilTable2GUI\setFormAction(), ilTable2GUI\setFormName(), ilTable2GUI\setId(), ilTable2GUI\setPrefix(), ilTable2GUI\setResetCommand(), ilTable2GUI\setRowTemplate(), ilTable2GUI\setSelectAllCheckbox(), ilTableGUI\setStyle(), and setWriteAccess().

{
parent::__construct($a_parent_obj, $a_parent_cmd);
global $lng, $ilCtrl;
$this->lng = $lng;
$this->ctrl = $ilCtrl;
$this->confirmdelete = $confirmdelete;
$this->setWriteAccess($a_write_access);
$qplSetting = new ilSetting("qpl");
$this->setId("qplqst".$a_parent_obj->object->getId());
$this->setFormName('questionbrowser');
$this->setStyle('table', 'fullwidth');
{
$this->addColumn('','f','1%');
$this->addColumn($this->lng->txt("title"),'title', '');
$this->addColumn('','edit', '');
$this->addColumn('','preview', '');
$this->browsercolumns['description'] = $qplSetting->get("description", 1) ? true : false;
$this->browsercolumns['type'] = $qplSetting->get("type", 1) ? true : false;
$this->browsercolumns['points'] = $qplSetting->get("points", 1) ? true : false;
$this->browsercolumns['statistics'] = $qplSetting->get("statistics", 1) ? true : false;
$this->browsercolumns['author'] = $qplSetting->get("author", 1) ? true : false;
$this->browsercolumns['created'] = $qplSetting->get("created", 1) ? true : false;
$this->browsercolumns['updated'] = $qplSetting->get("updated", 1) ? true : false;
if ($this->browsercolumns['description']) $this->addColumn($this->lng->txt("description"),'description', '');
if ($this->browsercolumns['type']) $this->addColumn($this->lng->txt("question_type"),'ttype', '');
if ($this->browsercolumns['points']) $this->addColumn($this->lng->txt("points"),'', '', false, 'right');
if ($this->browsercolumns['statistics']) $this->addColumn('','statistics', '');
if ($this->browsercolumns['author']) $this->addColumn($this->lng->txt("author"),'author', '');
if ($this->browsercolumns['created']) $this->addColumn($this->lng->txt("create_date"),'created', '');
if ($this->browsercolumns['updated']) $this->addColumn($this->lng->txt("last_update"),'tstamp', '');
$this->setPrefix('q_id');
$this->setSelectAllCheckbox('q_id');
}
else
{
$this->addColumn($this->lng->txt("title"),'title', '');
$this->addColumn('','f','1%');
$this->browsercolumns['description'] = $qplSetting->get("description", 1) ? true : false;
$this->browsercolumns['type'] = $qplSetting->get("type", 1) ? true : false;
if ($this->browsercolumns['description']) $this->addColumn($this->lng->txt("description"),'description', '');
if ($this->browsercolumns['type']) $this->addColumn($this->lng->txt("question_type"),'ttype', '');
}
if ($this->getWriteAccess())
{
{
$this->addCommandButton('confirmDeleteQuestions', $this->lng->txt('confirm'));
$this->addCommandButton('cancelDeleteQuestions', $this->lng->txt('cancel'));
}
else
{
$this->addMultiCommand('copy', $this->lng->txt('copy'));
$this->addMultiCommand('move', $this->lng->txt('move'));
$this->addMultiCommand('exportQuestion', $this->lng->txt('export'));
$this->addMultiCommand('deleteQuestions', $this->lng->txt('delete'));
$this->addCommandButton('importQuestions', $this->lng->txt('import'));
if (array_key_exists("qpl_clipboard", $_SESSION))
{
$this->addCommandButton('paste', $this->lng->txt('paste'));
}
}
}
$this->setRowTemplate("tpl.il_as_qpl_questionbrowser_row.html", "Modules/TestQuestionPool");
$this->setFormAction($this->ctrl->getFormAction($a_parent_obj, $a_parent_cmd));
$this->setDefaultOrderField("title");
$this->setDefaultOrderDirection("asc");
{
$this->disable('sort');
$this->disable('select_all');
}
else
{
$this->enable('sort');
$this->enable('header');
$this->enable('select_all');
$this->setFilterCommand('filterQuestionBrowser');
$this->setResetCommand('resetQuestionBrowser');
$this->initFilter();
}
}

+ Here is the call graph for this function:

Member Function Documentation

ilQuestionBrowserTableGUI::fillHeader ( )

Reimplemented from ilTable2GUI.

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

References $key.

{
foreach ($this->column as $key => $column)
{
if (strcmp($column['text'], $this->lng->txt("points")) == 0)
{
$this->column[$key]['text'] = $this->lng->txt("points") . " (" . $this->totalPoints . ")";
}
}
}
ilQuestionBrowserTableGUI::fillRow (   $data)

fill row

public

Parameters
@return

Reimplemented from ilTable2GUI.

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

References ilTableGUI\$data, $points, assQuestionGUI\_getGUIClassNameForId(), assQuestion\_getQuestionTypeName(), ilDatePresentation\formatDate(), getEditable(), ilUtil\getImagePath(), and IL_CAL_UNIX.

{
global $ilUser,$ilAccess;
include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
include_once "./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
$class = strtolower(assQuestionGUI::_getGUIClassNameForId($data["question_id"]));
$this->ctrl->setParameterByClass("ilpageobjectgui", "q_id", $data["question_id"]);
$this->ctrl->setParameterByClass($class, "q_id", $data["question_id"]);
$points = 0;
if (!$this->confirmdelete)
{
$this->tpl->setCurrentBlock('checkbox');
$this->tpl->setVariable('CB_QUESTION_ID', $data["question_id"]);
$this->tpl->parseCurrentBlock();
if ($this->getEditable())
{
$this->tpl->setCurrentBlock("edit_link");
$this->tpl->setVariable("TXT_EDIT", $this->lng->txt("edit"));
$this->tpl->setVariable("LINK_EDIT", $this->ctrl->getLinkTargetByClass("ilpageobjectgui", "edit"));
$this->tpl->parseCurrentBlock();
}
if ($data["complete"] == 0)
{
$this->tpl->setCurrentBlock("qpl_warning");
$this->tpl->setVariable("IMAGE_WARNING", ilUtil::getImagePath("warning.gif"));
$this->tpl->setVariable("ALT_WARNING", $this->lng->txt("warning_question_not_complete"));
$this->tpl->setVariable("TITLE_WARNING", $this->lng->txt("warning_question_not_complete"));
$this->tpl->parseCurrentBlock();
}
else
{
$points = $data["points"];
}
$this->totalPoints += $points;
if ($this->browsercolumns['points'])
{
$this->tpl->setCurrentBlock('points');
$this->tpl->setVariable("QUESTION_POINTS", $points);
$this->tpl->parseCurrentBlock();
}
if ($this->browsercolumns['statistics'])
{
$this->tpl->setCurrentBlock('statistics');
$this->tpl->setVariable("LINK_ASSESSMENT", $this->ctrl->getLinkTargetByClass($class, "assessment"));
$this->tpl->setVariable("TXT_ASSESSMENT", $this->lng->txt("statistics"));
include_once "./Services/Utilities/classes/class.ilUtil.php";
$this->tpl->setVariable("IMG_ASSESSMENT", ilUtil::getImagePath("assessment.gif", "Modules/TestQuestionPool"));
$this->tpl->parseCurrentBlock();
}
if ($this->browsercolumns['author'])
{
$this->tpl->setCurrentBlock('author');
$this->tpl->setVariable("QUESTION_AUTHOR", $data["author"]);
$this->tpl->parseCurrentBlock();
}
include_once "./classes/class.ilFormat.php";
if ($this->browsercolumns['created'])
{
$this->tpl->setCurrentBlock('created');
$this->tpl->setVariable("QUESTION_CREATED", ilDatePresentation::formatDate(new ilDate($data['created'],IL_CAL_UNIX)));
$this->tpl->parseCurrentBlock();
}
if ($this->browsercolumns['updated'])
{
$this->tpl->setCurrentBlock('updated');
$this->tpl->setVariable("QUESTION_UPDATED", ilDatePresentation::formatDate(new ilDate($data["tstamp"],IL_CAL_UNIX)));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock('preview');
$this->tpl->setVariable("TXT_PREVIEW", $this->lng->txt("preview"));
$this->tpl->setVariable("LINK_PREVIEW", $this->ctrl->getLinkTargetByClass("ilpageobjectgui", "preview"));
$this->tpl->parseCurrentBlock();
}
else
{
$this->tpl->setCurrentBlock('hidden');
$this->tpl->setVariable('HIDDEN_QUESTION_ID', $data["question_id"]);
$this->tpl->parseCurrentBlock();
}
if ($this->browsercolumns['description'])
{
$this->tpl->setCurrentBlock('description');
$this->tpl->setVariable("QUESTION_COMMENT", (strlen($data["description"])) ? $data["description"] : " ");
$this->tpl->parseCurrentBlock();
}
if ($this->browsercolumns['type'])
{
$this->tpl->setCurrentBlock('type');
$this->tpl->setVariable("QUESTION_TYPE", assQuestion::_getQuestionTypeName($data["type_tag"]));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setVariable('QUESTION_ID', $data["question_id"]);
$this->tpl->setVariable("QUESTION_TITLE", $data["title"]);
}

+ Here is the call graph for this function:

ilQuestionBrowserTableGUI::getEditable ( )

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

References $editable.

Referenced by fillRow().

{
}

+ Here is the caller graph for this function:

ilQuestionBrowserTableGUI::getWriteAccess ( )

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

References $writeAccess.

Referenced by __construct().

{
}

+ Here is the caller graph for this function:

ilQuestionBrowserTableGUI::initFilter ( )

Init filter.

Reimplemented from ilTable2GUI.

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

References $lng, $row, ilObjQuestionPool\_getQuestionTypes(), ilTable2GUI\addFilterItem(), ilTextInputGUI\setMaxLength(), and ilSelectInputGUI\setOptions().

Referenced by __construct().

{
global $lng, $rbacreview, $ilUser;
// title
include_once("./Services/Form/classes/class.ilTextInputGUI.php");
$ti = new ilTextInputGUI($lng->txt("title"), "title");
$ti->setMaxLength(64);
$ti->setSize(20);
$ti->setValidationRegexp('/^[^%]+$/is');
$this->addFilterItem($ti);
$ti->readFromSession();
$this->filter["title"] = $ti->getValue();
// description
$ti = new ilTextInputGUI($lng->txt("description"), "description");
$ti->setMaxLength(64);
$ti->setSize(20);
$ti->setValidationRegexp('/^[^%]+$/is');
$this->addFilterItem($ti);
$ti->readFromSession();
$this->filter["description"] = $ti->getValue();
// author
$ti = new ilTextInputGUI($lng->txt("author"), "author");
$ti->setMaxLength(64);
$ti->setValidationRegexp('/^[^%]+$/is');
$ti->setSize(20);
$this->addFilterItem($ti);
$ti->readFromSession();
$this->filter["author"] = $ti->getValue();
// questiontype
include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
include_once("./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php");
$options = array();
$options[""] = $lng->txt('filter_all_question_types');
foreach ($types as $translation => $row)
{
$options[$row['type_tag']] = $translation;
}
$si = new ilSelectInputGUI($this->lng->txt("question_type"), "type");
$si->setOptions($options);
$this->addFilterItem($si);
$si->readFromSession();
$this->filter["type"] = $si->getValue();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilQuestionBrowserTableGUI::setEditable (   $value)

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

Referenced by ilObjQuestionPoolGUI\deleteQuestionsObject(), and ilObjQuestionPoolGUI\questionsObject().

{
$this->editable = $value;
}

+ Here is the caller graph for this function:

ilQuestionBrowserTableGUI::setWriteAccess (   $value)

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

Referenced by __construct().

{
$this->writeAccess = $value;
}

+ Here is the caller graph for this function:

Field Documentation

ilQuestionBrowserTableGUI::$browsercolumns = array()
protected

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

ilQuestionBrowserTableGUI::$confirmdelete
protected

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

Referenced by __construct().

ilQuestionBrowserTableGUI::$editable = true
protected

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

Referenced by getEditable().

ilQuestionBrowserTableGUI::$totalPoints = 0
protected

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

ilQuestionBrowserTableGUI::$writeAccess = false
protected

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

Referenced by getWriteAccess().


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