ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilSurveyQuestionTableGUI Class Reference

Survey question table GUI class. More...

+ Inheritance diagram for ilSurveyQuestionTableGUI:
+ Collaboration diagram for ilSurveyQuestionTableGUI:

Public Member Functions

 __construct ($a_parent_obj, $a_parent_cmd, ilObjSurvey $a_survey_obj, $a_read_only=false)
 Constructor.
- Public Member Functions inherited from ilTable2GUI
 __construct ($a_parent_obj, $a_parent_cmd="", $a_template_context="")
 Constructor.
 setOpenFormTag ($a_val)
 Set open form tag.
 getOpenFormTag ()
 Get open form tag.
 setCloseFormTag ($a_val)
 Set close form tag.
 getCloseFormTag ()
 Get close form tag.
 determineLimit ()
 Determine the limit.
 getSelectableColumns ()
 Get selectable columns.
 determineSelectedColumns ()
 Determine selected columns.
 isColumnSelected ($a_col)
 Is given column selected?
 getSelectedColumns ()
 Get selected columns.
executeCommand ()
 Execute command.
 resetOffset ($a_in_determination=false)
 Reset offset.
 initFilter ()
 Init filter.
 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.
 addFilterItemByMetaType ($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=NULL)
 Add filter by standard type.
 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.
 isFilterSelected ($a_col)
 Is given filter selected?
 getSelectedFilters ()
 Get selected filters.
 determineSelectedFilters ()
 Determine selected filters.
 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= '', $a_id="")
 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="", $a_tooltip="")
 Add a column to the header.
 getNavParameter ()
 setOrderLink ($sort_field, $order_dir)
 fillHeader ()
 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
 storeProperty ($type, $value)
 Store table property.
 loadProperty ($type)
 Load table property.
 getCurrentState ()
 get current settings for order, limit, columns and filter
 setContext ($id)
 Set context.
 getContext ()
 Get context.
 setShowRowsSelector ($a_value)
 Toggle rows-per-page selector.
 getShowRowsSelector ()
 Get rows-per-page selector state.
 setShowTemplates ($a_value)
 Toggle templates.
 getShowTemplates ()
 Get template state.
 restoreTemplate ($a_name)
 Restore state from template.
 saveTemplate ($a_name)
 Save current state as template.
 deleteTemplate ($a_name)
 Delete template.
 getLimit ()
 Get limit.
 getOffset ()
 Get offset.
 setExportFormats (array $formats)
 Set available export formats.
 setPrintMode ($a_value=false)
 Toogle print mode.
 getPrintMode ()
 Get print mode.
 getExportMode ()
 Was export activated?
 exportData ($format, $send=false)
 Export and optionally send current table data.
- 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.
 setOffset ($a_offset)
 set dataset offset public
 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 Member Functions

 importData ()
 Import data from DB.
 fillRow ($a_set)
 Fill table row.
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated.
 getFilterValue (ilFormPropertyGUI $a_item)
 Get current filter value.
 SetFilterValue (ilFormPropertyGUI $a_item, $a_value)
 Set current filter value.
 fillMetaExcel ($worksheet, &$a_row)
 Add meta information to excel export.
 fillHeaderExcel ($worksheet, &$a_row)
 Excel Version of Fill Row.
 fillRowExcel ($a_worksheet, &$a_row, $a_set)
 Excel Version of Fill Row.
 fillMetaCSV ($a_csv)
 Add meta information to csv export.
 fillHeaderCSV ($a_csv)
 CSV Version of Fill Header.
 fillRowCSV ($a_csv, $a_set)
 CSV Version of Fill Row.

Protected Attributes

 $object
 $read_only
- 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
 $context = ""
 $mi_sel_buttons = null
 $disable_filter_hiding = false
 $selected_filter = false
 $top_commands = true
 $selectable_columns = array()
 $selected_column = array()
 $show_templates = false
 $show_rows_selector = 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

Additional Inherited Members

- 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 EXPORT_EXCEL = 1
const EXPORT_CSV = 2

Detailed Description

Survey question table GUI class.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.d.nosp@m.e
Version
$Id$

Definition at line 14 of file class.ilSurveyQuestionTableGUI.php.

Constructor & Destructor Documentation

ilSurveyQuestionTableGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
ilObjSurvey  $a_survey_obj,
  $a_read_only = false 
)

Constructor.

Parameters
object$a_parent_objparent gui object
string$a_parent_cmdparent default command

Definition at line 25 of file class.ilSurveyQuestionTableGUI.php.

References $_SESSION, $ilCtrl, $lng, ilTable2GUI\addColumn(), ilTable2GUI\addCommandButton(), ilTable2GUI\addMultiCommand(), importData(), ilTable2GUI\setDefaultOrderDirection(), ilTable2GUI\setDefaultOrderField(), ilTable2GUI\setFormAction(), ilTable2GUI\setId(), ilTableGUI\setLimit(), ilTable2GUI\setRowTemplate(), and ilTable2GUI\setSelectAllCheckbox().

{
global $ilCtrl, $lng;
$this->object = $a_survey_obj;
$this->read_only = (bool)$a_read_only;
parent::__construct($a_parent_obj, $a_parent_cmd);
$this->setId("il_svy_qst");
$this->setLimit(9999);
// $this->setTitle($lng->txt("survey_questions"));
if(!$this->read_only)
{
// command dropdown
if(!array_key_exists("move_questions", $_SESSION))
{
$this->addMultiCommand("defineQuestionblock", $lng->txt("define_questionblock"));
$this->addMultiCommand("unfoldQuestionblock", $lng->txt("unfold"));
$this->addMultiCommand("removeQuestions", $lng->txt("remove_question"));
$this->addMultiCommand("moveQuestions", $lng->txt("move"));
$this->addMultiCommand("copyQuestionsToPool", $lng->txt("survey_copy_questions_to_pool"));
}
else
{
$this->addMultiCommand("insertQuestionsBefore", $lng->txt("insert_before"));
$this->addMultiCommand("insertQuestionsAfter", $lng->txt("insert_after"));
}
// right side
$this->addCommandButton("saveObligatory", $lng->txt("save_obligatory_state"));
$this->setSelectAllCheckbox("id[]");
$this->addColumn("", "");
$this->addColumn($lng->txt("survey_order"), "");
}
$this->addColumn($lng->txt("title"), "");
$this->addColumn($lng->txt("obligatory"), "");
$this->addColumn($lng->txt("description"), "");
$this->addColumn($lng->txt("type"), "");
$this->addColumn($lng->txt("author"), "");
$this->addColumn($lng->txt("survey_question_pool"), "");
if(!$this->read_only)
{
$this->addColumn("", "");
}
$this->setDefaultOrderField("order");
$this->setDefaultOrderDirection("asc");
$this->setFormAction($ilCtrl->getFormAction($a_parent_obj));
$this->setRowTemplate("tpl.il_svy_svy_question_table.html", "Modules/Survey");
$this->importData();
}

+ Here is the call graph for this function:

Member Function Documentation

ilSurveyQuestionTableGUI::fillRow (   $a_set)
protected

Fill table row.

Parameters
array$a_setdata array

Reimplemented from ilTable2GUI.

Definition at line 196 of file class.ilSurveyQuestionTableGUI.php.

References $ilCtrl, and $lng.

{
global $lng, $ilCtrl;
switch($a_set["type"])
{
case "block":
if(!$this->read_only)
{
// checkbox
$this->tpl->setCurrentBlock("checkable");
$this->tpl->setVariable("QUESTION_ID", $a_set["id"]);
$this->tpl->parseCurrentBlock();
// order
if($a_set["position"])
{
$this->tpl->setCurrentBlock("order");
$this->tpl->setVariable("ORDER_NAME", "order[".$a_set["id"]."]");
$this->tpl->setVariable("ORDER_VALUE", $a_set["position"]);
$this->tpl->parseCurrentBlock();
}
}
$this->tpl->setVariable("TYPE", $lng->txt("questionblock"));
break;
case "question":
$this->tpl->setVariable("DESCRIPTION", $a_set["description"]);
$this->tpl->setVariable("TYPE", $a_set["question_type"]);
$this->tpl->setVariable("AUTHOR", $a_set["author"]);
$this->tpl->setVariable("POOL", $a_set["pool"]);
if($a_set["heading"])
{
$this->tpl->setCurrentBlock("heading");
$this->tpl->setVariable("TXT_HEADING", $a_set["heading"]);
$this->tpl->parseCurrentBlock();
}
if($a_set["block_id"])
{
$this->tpl->setVariable("TITLE_INDENT", " style=\"padding-left:30px\"");
}
if(!$this->read_only)
{
// checkbox
$this->tpl->setCurrentBlock("checkable");
$this->tpl->setVariable("QUESTION_ID", $a_set["id"]);
$this->tpl->parseCurrentBlock();
if($a_set["block_id"])
{
$this->tpl->setVariable("CHECKABLE_INDENT", " style=\"padding-left:30px\"");
}
// order
if($a_set["position"])
{
$this->tpl->setCurrentBlock("order");
if(!$a_set["block_id"])
{
$this->tpl->setVariable("ORDER_NAME", "order[q_".$a_set["id"]."]");
}
else
{
$this->tpl->setVariable("ORDER_NAME", "block_order[".$a_set["block_id"]."][".$a_set["id"]."]");
}
$this->tpl->setVariable("ORDER_VALUE", $a_set["position"]);
$this->tpl->parseCurrentBlock();
if($a_set["block_id"])
{
$this->tpl->setVariable("ORDER_INDENT", " style=\"padding-left:30px\"");
}
}
// obligatory
$checked = $a_set["obligatory"] ? " checked=\"checked\"" : "";
$obligatory = "<input type=\"checkbox\" name=\"obligatory_".
$a_set["id"] . "\" value=\"1\"".$checked." />";
}
else if($a_set["obligatory"])
{
$obligatory = "<img src=\"".ilUtil::getImagePath("obligatory.gif", "Modules/Survey").
"\" alt=\"".$lng->txt("question_obligatory").
"\" title=\"".$lng->txt("question_obligatory")."\" />";
}
$this->tpl->setVariable("OBLIGATORY", $obligatory);
break;
case "heading":
if(!$this->read_only)
{
// checkbox
$this->tpl->setCurrentBlock("checkable");
$this->tpl->setVariable("QUESTION_ID", $a_set["id"]);
$this->tpl->parseCurrentBlock();
if($a_set["in_block"])
{
$this->tpl->setVariable("CHECKABLE_INDENT", " style=\"padding-left:30px\"");
$this->tpl->setVariable("TITLE_INDENT", " style=\"padding-left:30px\"");
}
}
$this->tpl->setVariable("TYPE", $lng->txt("heading"));
break;
}
if(!$this->read_only)
{
$this->tpl->setCurrentBlock("actions");
include_once "Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php";
$list->setId($a_set["id"]);
$list->setListTitle($lng->txt("actions"));
if($a_set["url"])
{
$list->addItem($lng->txt("edit"), "", $a_set["url"]);
}
if($a_set["heading"])
{
$edit = $ilCtrl->getLinkTarget($this->parent_obj, $this->parent_cmd) .
"&editheading=" . $a_set["id"];
$list->addItem($lng->txt("survey_edit_heading"), "", $edit);
$rmv = $ilCtrl->getLinkTarget($this->parent_obj, $this->parent_cmd) .
"&removeheading=" . $a_set["id"];
$list->addItem($lng->txt("survey_delete_heading"), "", $rmv);
}
else if($a_set["type"] == "question")
{
$add = $ilCtrl->getLinkTarget($this->parent_obj, "addHeading") .
"&insertbefore=" . $a_set["id"];
$list->addItem($lng->txt("add_heading"), "", $add);
}
$this->tpl->setVariable("ACTION", $list->getHTML());
$this->tpl->parseCurrentBlock();
$this->tpl->setCurrentBlock("title_edit");
$this->tpl->setVariable("TITLE", $a_set["title"]);
$this->tpl->setVariable("URL_TITLE", $a_set["url"]);
$this->tpl->parseCurrentBlock();
}
else
{
$this->tpl->setCurrentBlock("title_static");
$this->tpl->setVariable("TITLE", $a_set["title"]);
$this->tpl->parseCurrentBlock();
}
}
ilSurveyQuestionTableGUI::importData ( )
protected

Import data from DB.

Definition at line 88 of file class.ilSurveyQuestionTableGUI.php.

References ilTableGUI\$data, $ilCtrl, $lng, ilObject\_getAllReferences(), ilObjSurveyQuestionPool\_getQuestiontypes(), and ilTable2GUI\setData().

Referenced by __construct().

{
global $ilCtrl, $lng;
$survey_questions = $this->object->getSurveyQuestions();
if (count($survey_questions) > 0)
{
include_once "./Modules/SurveyQuestionPool/classes/class.ilObjSurveyQuestionPool.php";
$questionpools = $this->object->getQuestionpoolTitles(true);
$table_data = array();
$last_questionblock_id = $position = $block_position = 0;
foreach ($survey_questions as $question_id => $data)
{
// question block
if ($data["questionblock_id"] > 0 &&
$data["questionblock_id"] != $last_questionblock_id)
{
$id = "qb_" . $data["questionblock_id"];
$table_data[$id] = array("id" => $id,
"type" => "block",
"title" => $data["questionblock_title"]);
if (!$this->read_only)
{
// order
if(sizeof($survey_questions) > 1)
{
$position += 10;
$table_data[$id]["position"] = $position;
}
$table_data[$id]["url"] = $ilCtrl->getLinkTarget($this->parent_obj, $this->parent_cmd).
"&editblock=".$data["questionblock_id"];
}
$block_position = 0;
}
// question
$id = $data["question_id"];
$table_data[$id] = array("id" => $id,
"type" => "question",
"heading" => $data["heading"],
"title" => $data["title"],
"description" => $data["description"],
"author" => $data["author"],
"block_id" => $data["questionblock_id"],
"obligatory" => (bool)$data["obligatory"]);
// question type
foreach ($questiontypes as $trans => $typedata)
{
if (strcmp($typedata["type_tag"], $data["type_tag"]) == 0)
{
$table_data[$id]["question_type"] = $trans;
}
}
// pool title
if($data["original_id"])
{
$table_data[$id]["pool"] = $questionpools[$data["obj_fi"]];
}
if (!$this->read_only)
{
if ($data["obj_fi"] > 0)
{
// edit url
$qpl_ref_id = current(ilObject::_getAllReferences($data["obj_fi"]));
$table_data[$id]["url"] = $ilCtrl->getLinkTarget($this->parent_obj, $this->parent_cmd) .
"&eqid=".$id."&eqpl=".$qpl_ref_id;
}
// order
if(sizeof($survey_questions) > 1)
{
if (!$data["questionblock_id"])
{
$position += 10;
$table_data[$id]["position"] = $position;
}
else
{
$block_position += 10;
$table_data[$id]["position"] = $block_position;
}
}
}
$last_questionblock_id = $data["questionblock_id"];
}
}
$this->setData($table_data);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Field Documentation

ilSurveyQuestionTableGUI::$object
protected

Definition at line 16 of file class.ilSurveyQuestionTableGUI.php.

ilSurveyQuestionTableGUI::$read_only
protected

Definition at line 17 of file class.ilSurveyQuestionTableGUI.php.


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