4 include_once(
"./Services/Table/classes/class.ilTable2GUI.php");
29 $this->
object = $a_survey_obj;
30 $this->read_only = (bool)$a_read_only;
32 parent::__construct($a_parent_obj, $a_parent_cmd);
34 $this->
setId(
"il_svy_qst");
42 if(!array_key_exists(
"move_questions",
$_SESSION))
44 $this->
addMultiCommand(
"createQuestionblock", $lng->txt(
"define_questionblock"));
46 $this->
addMultiCommand(
"removeQuestions", $lng->txt(
"remove_question"));
48 $this->
addMultiCommand(
"copyQuestionsToPool", $lng->txt(
"survey_copy_questions_to_pool"));
52 $this->
addMultiCommand(
"insertQuestionsBefore", $lng->txt(
"insert_before"));
53 $this->
addMultiCommand(
"insertQuestionsAfter", $lng->txt(
"insert_after"));
57 $this->
addCommandButton(
"saveObligatory", $lng->txt(
"save_obligatory_state"));
61 $this->
addColumn($lng->txt(
"survey_order"),
"");
65 $this->
addColumn($lng->txt(
"obligatory"),
"");
66 $this->
addColumn($lng->txt(
"description"),
"");
68 $this->
addColumn($lng->txt(
"author"),
"");
69 $this->
addColumn($lng->txt(
"survey_question_pool"),
"");
80 $this->
setRowTemplate(
"tpl.il_svy_svy_question_table.html",
"Modules/Survey");
94 $survey_questions = $this->
object->getSurveyQuestions();
95 if (count($survey_questions) > 0)
97 include_once
"./Modules/SurveyQuestionPool/classes/class.ilObjSurveyQuestionPool.php";
100 $questionpools = $this->
object->getQuestionpoolTitles(
true);
102 $table_data =
array();
103 $last_questionblock_id = $position = $block_position = 0;
104 foreach ($survey_questions as $question_id =>
$data)
107 if (
$data[
"questionblock_id"] > 0 &&
108 $data[
"questionblock_id"] != $last_questionblock_id)
110 $id =
"qb_" .
$data[
"questionblock_id"];
112 $table_data[$id] =
array(
"id" => $id,
114 "title" =>
$data[
"questionblock_title"]);
116 if (!$this->read_only)
119 if(
sizeof($survey_questions) > 1)
122 $table_data[$id][
"position"] = $position;
125 $ilCtrl->setParameter($this->parent_obj,
"bl_id",
$data[
"questionblock_id"]);
126 $table_data[$id][
"url"] = $ilCtrl->getLinkTarget($this->parent_obj,
"editQuestionblock");
127 $ilCtrl->setParameter($this->parent_obj,
"bl_id",
"");
135 $id =
$data[
"question_id"];
137 $table_data[$id] =
array(
"id" => $id,
138 "type" =>
"question",
139 "heading" =>
$data[
"heading"],
140 "title" =>
$data[
"title"],
141 "description" =>
$data[
"description"],
142 "author" =>
$data[
"author"],
143 "block_id" =>
$data[
"questionblock_id"],
144 "obligatory" => (
bool)
$data[
"obligatory"]);
147 foreach ($questiontypes as $trans => $typedata)
149 if (strcmp($typedata[
"type_tag"], $data[
"type_tag"]) == 0)
151 $table_data[$id][
"question_type"] = $trans;
156 if($data[
"original_id"])
159 if(isset($questionpools[$original_fi]))
161 $table_data[$id][
"pool"] = $questionpools[$original_fi];
166 $table_data[$id][
"pool"] = $this->lng->txt(
"status_no_permission");
170 if (!$this->read_only)
172 if ($data[
"obj_fi"] > 0)
175 $q_gui = $data[
"type_tag"].
"GUI";
176 $ilCtrl->setParameterByClass($q_gui,
"q_id", $id);
177 $table_data[$id][
"url"] = $ilCtrl->getLinkTargetByClass($q_gui,
"editQuestion") .
178 $ilCtrl->setParameterByClass($q_gui,
"q_id",
"");
182 if(
sizeof($survey_questions) > 1)
184 if (!$data[
"questionblock_id"])
187 $table_data[$id][
"position"] = $position;
191 $block_position += 10;
192 $table_data[$id][
"position"] = $block_position;
197 $last_questionblock_id = $data[
"questionblock_id"];
213 switch($a_set[
"type"])
216 if(!$this->read_only)
219 $this->tpl->setCurrentBlock(
"checkable");
220 $this->tpl->setVariable(
"QUESTION_ID", $a_set[
"id"]);
221 $this->tpl->parseCurrentBlock();
224 if($a_set[
"position"])
226 $this->tpl->setCurrentBlock(
"order");
227 $this->tpl->setVariable(
"ORDER_NAME",
"order[".$a_set[
"id"].
"]");
228 $this->tpl->setVariable(
"ORDER_VALUE", $a_set[
"position"]);
229 $this->tpl->parseCurrentBlock();
233 $this->tpl->setVariable(
"TYPE", $lng->txt(
"questionblock"));
237 $this->tpl->setVariable(
"DESCRIPTION", $a_set[
"description"]);
238 $this->tpl->setVariable(
"TYPE", $a_set[
"question_type"]);
239 $this->tpl->setVariable(
"AUTHOR", $a_set[
"author"]);
240 $this->tpl->setVariable(
"POOL", $a_set[
"pool"]);
242 if($a_set[
"heading"])
244 $this->tpl->setCurrentBlock(
"heading");
245 $this->tpl->setVariable(
"TXT_HEADING", $a_set[
"heading"]);
246 $this->tpl->parseCurrentBlock();
249 if($a_set[
"block_id"])
251 $this->tpl->setVariable(
"TITLE_INDENT",
" style=\"padding-left:30px\"");
254 if(!$this->read_only)
257 $this->tpl->setCurrentBlock(
"checkable");
258 $this->tpl->setVariable(
"QUESTION_ID", $a_set[
"id"]);
259 $this->tpl->parseCurrentBlock();
261 if($a_set[
"block_id"])
263 $this->tpl->setVariable(
"CHECKABLE_INDENT",
" style=\"padding-left:30px\"");
267 if($a_set[
"position"])
269 $this->tpl->setCurrentBlock(
"order");
270 if(!$a_set[
"block_id"])
272 $this->tpl->setVariable(
"ORDER_NAME",
"order[q_".$a_set[
"id"].
"]");
276 $this->tpl->setVariable(
"ORDER_NAME",
"block_order[".$a_set[
"block_id"].
"][".$a_set[
"id"].
"]");
278 $this->tpl->setVariable(
"ORDER_VALUE", $a_set[
"position"]);
279 $this->tpl->parseCurrentBlock();
280 if($a_set[
"block_id"])
282 $this->tpl->setVariable(
"ORDER_INDENT",
" style=\"padding-left:30px\"");
287 $checked = $a_set[
"obligatory"] ?
" checked=\"checked\"" :
"";
288 $obligatory =
"<input type=\"checkbox\" name=\"obligatory_".
289 $a_set[
"id"] .
"\" value=\"1\"".$checked.
" />";
291 else if($a_set[
"obligatory"])
293 $obligatory =
"<img src=\"".ilUtil::getImagePath(
"obligatory.png",
"Modules/Survey").
294 "\" alt=\"".$lng->txt(
"question_obligatory").
295 "\" title=\"".$lng->txt(
"question_obligatory").
"\" />";
297 $this->tpl->setVariable(
"OBLIGATORY", $obligatory);
301 if(!$this->read_only)
304 $this->tpl->setCurrentBlock(
"checkable");
305 $this->tpl->setVariable(
"QUESTION_ID", $a_set[
"id"]);
306 $this->tpl->parseCurrentBlock();
307 if($a_set[
"in_block"])
309 $this->tpl->setVariable(
"CHECKABLE_INDENT",
" style=\"padding-left:30px\"");
310 $this->tpl->setVariable(
"TITLE_INDENT",
" style=\"padding-left:30px\"");
314 $this->tpl->setVariable(
"TYPE", $lng->txt(
"heading"));
318 if(!$this->read_only)
320 $this->tpl->setCurrentBlock(
"actions");
322 $ilCtrl->setParameter($this->parent_obj,
"q_id", $a_set[
"id"]);
324 include_once
"Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php";
326 $list->setId($a_set[
"id"]);
327 $list->setListTitle($lng->txt(
"actions"));
330 $list->addItem($lng->txt(
"edit"),
"", $a_set[
"url"]);
333 if($a_set[
"heading"])
335 $list->addItem($lng->txt(
"survey_edit_heading"),
"",
336 $ilCtrl->getLinkTarget($this->parent_obj,
"editheading"));
338 $list->addItem($lng->txt(
"survey_delete_heading"),
"",
339 $ilCtrl->getLinkTarget($this->parent_obj,
"removeheading"));
341 else if($a_set[
"type"] ==
"question")
343 $list->addItem($lng->txt(
"add_heading"),
"",
344 $ilCtrl->getLinkTarget($this->parent_obj,
"addHeading"));
347 $this->tpl->setVariable(
"ACTION", $list->getHTML());
349 $ilCtrl->setParameter($this->parent_obj,
"q_id",
"");
351 $this->tpl->parseCurrentBlock();
356 $this->tpl->setCurrentBlock(
"title_edit");
357 $this->tpl->setVariable(
"TITLE", $a_set[
"title"]);
358 $this->tpl->setVariable(
"URL_TITLE", $a_set[
"url"]);
359 $this->tpl->parseCurrentBlock();
363 $this->tpl->setCurrentBlock(
"title_static");
364 $this->tpl->setVariable(
"TITLE", $a_set[
"title"]);
365 $this->tpl->parseCurrentBlock();
370 $this->tpl->setCurrentBlock(
"title_static");
371 $this->tpl->setVariable(
"TITLE", $a_set[
"title"]);
372 $this->tpl->parseCurrentBlock();
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
static lookupObjFi($a_qid)
Lookip obj fi.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
addMultiCommand($a_cmd, $a_text)
Add Command button.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
Survey question table GUI class.
importData()
Import data from DB.
__construct($a_parent_obj, $a_parent_cmd, ilObjSurvey $a_survey_obj, $a_read_only=false)
Constructor.
User interface class for advanced drop-down selection lists.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
static _getQuestiontypes()
Creates a list of all available question types.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
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.
fillRow($a_set)
Fill table row.
setLimit($a_limit=0, $a_default_limit=0)