protected function initItems(ilObjSurvey $a_survey) { global $lng; $this->structure = array(); $tbl_data = array(); $survey_questions = $a_survey->getSurveyQuestions(); $last_questionblock_id = 0; $counter = 1; foreach ($survey_questions as $data) { $title = $data["title"]; $show = true; if ($data["questionblock_id"] > 0) { $title = $data["questionblock_title"]; $type = $lng->txt("questionblock"); if ($data["questionblock_id"] != $last_questionblock_id) { $last_questionblock_id = $data["questionblock_id"]; $this->structure[$counter] = array(); array_push($this->structure[$counter], $data["question_id"]); } else { array_push($this->structure[$counter - 1], $data["question_id"]); $show = false; } } else { $this->structure[$counter] = array($data["question_id"]); $type = $lng->txt("question"); } if ($show) { $id = $content = $parsed = $conjunction = null; if ($counter == 1) { $content = $lng->txt("constraints_first_question_description"); } else { $constraints = $a_survey->getConstraints($data["question_id"]); if (count($constraints)) { $parsed = array(); foreach ($constraints as $constraint) { $parsed[] = array("id" => $constraint["id"], "title" => $survey_questions[$constraint["question"]]["title"] . " " . $constraint["short"] . " " . $constraint["valueoutput"]); } if (count($constraints) > 1) { $conjunction = $constraints[0]['conjunction'] ? $lng->txt('conjunction_or_title') : $lng->txt('conjunction_and_title'); } } } if ($counter != 1) { $id = $counter; } $icontype = "question.png"; if ($data["questionblock_id"] > 0) { $icontype = "questionblock.png"; } $tbl_data[] = array("counter" => $counter, "id" => $id, "title" => $title, "type" => $type, "icon" => ilUtil::getImagePath($icontype, "Modules/Survey"), "content" => $content, "constraints" => $parsed, "conjunction" => $conjunction); $counter++; } } $this->setData($tbl_data); }