4include_once(
"./Services/Table/classes/class.ilTable2GUI.php");
 
   29        $this->ctrl = 
$DIC->ctrl();
 
   30        $this->lng = 
$DIC->language();
 
   34        $this->
object = $a_survey_obj;
 
   35        $this->read_only = (bool) $a_read_only;
 
   37        parent::__construct($a_parent_obj, $a_parent_cmd);
 
   39        $this->
setId(
"il_svy_qst");
 
   44        if (!$this->read_only) {
 
   46            if (!array_key_exists(
"move_questions", 
$_SESSION) ||
 
   47                $_SESSION[
"move_questions_survey_id"] != $this->object->getId()) {
 
   73        if (!$this->read_only) {
 
   81        $this->
setRowTemplate(
"tpl.il_svy_svy_question_table.html", 
"Modules/Survey");
 
   96        $survey_questions = $this->
object->getSurveyQuestions();
 
   97        if (count($survey_questions) > 0) {
 
   98            include_once 
"./Modules/SurveyQuestionPool/classes/class.ilObjSurveyQuestionPool.php";
 
  101            $questionpools = $this->
object->getQuestionpoolTitles(
true);
 
  103            $table_data = array();
 
  104            $last_questionblock_id = $position = $block_position = 0;
 
  105            foreach ($survey_questions as $question_id => 
$data) {
 
  107                if (
$data[
"questionblock_id"] > 0 &&
 
  108                    $data[
"questionblock_id"] != $last_questionblock_id) {
 
  109                    $id = 
"qb_" . 
$data[
"questionblock_id"];
 
  111                    $table_data[
$id] = array(
"id" => 
$id,
 
  113                        "title" => 
$data[
"questionblock_title"]);
 
  115                    if (!$this->read_only) {
 
  117                        if (
sizeof($survey_questions) > 1) {
 
  119                            $table_data[
$id][
"position"] = $position;
 
  122                        $ilCtrl->setParameter($this->parent_obj, 
"bl_id", 
$data[
"questionblock_id"]);
 
  123                        $table_data[
$id][
"url"] = 
$ilCtrl->getLinkTarget($this->parent_obj, 
"editQuestionblock");
 
  124                        $ilCtrl->setParameter($this->parent_obj, 
"bl_id", 
"");
 
  134                $table_data[
$id] = array(
"id" => 
$id,
 
  135                    "type" => 
"question",
 
  136                    "heading" => 
$data[
"heading"],
 
  137                    "title" => 
$data[
"title"],
 
  138                    "description" => 
$data[
"description"],
 
  139                    "author" => 
$data[
"author"],
 
  140                    "block_id" => 
$data[
"questionblock_id"],
 
  141                    "obligatory" => (
bool) 
$data[
"obligatory"]);
 
  144                foreach ($questiontypes as $trans => $typedata) {
 
  145                    if (strcmp($typedata[
"type_tag"], 
$data[
"type_tag"]) == 0) {
 
  146                        $table_data[
$id][
"question_type"] = $trans;
 
  151                if (
$data[
"original_id"]) {
 
  153                    if (isset($questionpools[$original_fi])) {
 
  154                        $table_data[
$id][
"pool"] = $questionpools[$original_fi];
 
  157                        $table_data[
$id][
"pool"] = $this->lng->txt(
"status_no_permission");
 
  161                if (!$this->read_only) {
 
  162                    if (
$data[
"obj_fi"] > 0) {
 
  164                        $q_gui = 
$data[
"type_tag"] . 
"GUI";
 
  165                        $ilCtrl->setParameterByClass($q_gui, 
"q_id", 
$id);
 
  166                        $table_data[
$id][
"url"] = 
$ilCtrl->getLinkTargetByClass($q_gui, 
"editQuestion") .
 
  167                        $ilCtrl->setParameterByClass($q_gui, 
"q_id", 
"");
 
  171                    if (
sizeof($survey_questions) > 1) {
 
  172                        if (!
$data[
"questionblock_id"]) {
 
  174                            $table_data[
$id][
"position"] = $position;
 
  176                            $block_position += 10;
 
  177                            $table_data[
$id][
"position"] = $block_position;
 
  182                $last_questionblock_id = 
$data[
"questionblock_id"];
 
  199        switch ($a_set[
"type"]) {
 
  201                if (!$this->read_only) {
 
  203                    $this->tpl->setCurrentBlock(
"checkable");
 
  204                    $this->tpl->setVariable(
"QUESTION_ID", $a_set[
"id"]);
 
  205                    $this->tpl->parseCurrentBlock();
 
  208                    if ($a_set[
"position"]) {
 
  209                        $this->tpl->setCurrentBlock(
"order");
 
  210                        $this->tpl->setVariable(
"ORDER_NAME", 
"order[" . $a_set[
"id"] . 
"]");
 
  211                        $this->tpl->setVariable(
"ORDER_VALUE", $a_set[
"position"]);
 
  212                        $this->tpl->parseCurrentBlock();
 
  216                $this->tpl->setVariable(
"TYPE", 
$lng->txt(
"questionblock"));
 
  220                $this->tpl->setVariable(
"DESCRIPTION", $a_set[
"description"]);
 
  221                $this->tpl->setVariable(
"TYPE", $a_set[
"question_type"]);
 
  222                $this->tpl->setVariable(
"AUTHOR", $a_set[
"author"]);
 
  223                $this->tpl->setVariable(
"POOL", $a_set[
"pool"]);
 
  225                if ($a_set[
"heading"]) {
 
  226                    $this->tpl->setCurrentBlock(
"heading");
 
  227                    $this->tpl->setVariable(
"TXT_HEADING", $a_set[
"heading"]);
 
  228                    $this->tpl->parseCurrentBlock();
 
  231                if ($a_set[
"block_id"]) {
 
  232                    $this->tpl->setVariable(
"TITLE_INDENT", 
" style=\"padding-left:30px\"");
 
  235                if (!$this->read_only) {
 
  237                    $this->tpl->setCurrentBlock(
"checkable");
 
  238                    $this->tpl->setVariable(
"QUESTION_ID", $a_set[
"id"]);
 
  239                    $this->tpl->parseCurrentBlock();
 
  241                    if ($a_set[
"block_id"]) {
 
  242                        $this->tpl->setVariable(
"CHECKABLE_INDENT", 
" style=\"padding-left:30px\"");
 
  246                    if ($a_set[
"position"]) {
 
  247                        $this->tpl->setCurrentBlock(
"order");
 
  248                        if (!$a_set[
"block_id"]) {
 
  249                            $this->tpl->setVariable(
"ORDER_NAME", 
"order[q_" . $a_set[
"id"] . 
"]");
 
  251                            $this->tpl->setVariable(
"ORDER_NAME", 
"block_order[" . $a_set[
"block_id"] . 
"][" . $a_set[
"id"] . 
"]");
 
  253                        $this->tpl->setVariable(
"ORDER_VALUE", $a_set[
"position"]);
 
  254                        $this->tpl->parseCurrentBlock();
 
  255                        if ($a_set[
"block_id"]) {
 
  256                            $this->tpl->setVariable(
"ORDER_INDENT", 
" style=\"padding-left:30px\"");
 
  261                    $checked = $a_set[
"obligatory"] ? 
" checked=\"checked\"" : 
"";
 
  262                    $obligatory = 
"<input type=\"checkbox\" name=\"obligatory_" .
 
  263                        $a_set[
"id"] . 
"\" value=\"1\"" . $checked . 
" />";
 
  264                } elseif ($a_set[
"obligatory"]) {
 
  266                        "\" alt=\"" . 
$lng->txt(
"question_obligatory") .
 
  267                        "\" title=\"" . 
$lng->txt(
"question_obligatory") . 
"\" />";
 
  269                $this->tpl->setVariable(
"OBLIGATORY", $obligatory);
 
  273                if (!$this->read_only) {
 
  275                    $this->tpl->setCurrentBlock(
"checkable");
 
  276                    $this->tpl->setVariable(
"QUESTION_ID", $a_set[
"id"]);
 
  277                    $this->tpl->parseCurrentBlock();
 
  278                    if ($a_set[
"in_block"]) {
 
  279                        $this->tpl->setVariable(
"CHECKABLE_INDENT", 
" style=\"padding-left:30px\"");
 
  280                        $this->tpl->setVariable(
"TITLE_INDENT", 
" style=\"padding-left:30px\"");
 
  284                $this->tpl->setVariable(
"TYPE", 
$lng->txt(
"heading"));
 
  288        if (!$this->read_only) {
 
  289            $this->tpl->setCurrentBlock(
"actions");
 
  291            $ilCtrl->setParameter($this->parent_obj, 
"q_id", $a_set[
"id"]);
 
  293            include_once 
"Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php";
 
  295            $list->setId($a_set[
"id"]);
 
  296            $list->setListTitle(
$lng->txt(
"actions"));
 
  298                $list->addItem(
$lng->txt(
"edit"), 
"", $a_set[
"url"]);
 
  301            if ($a_set[
"heading"]) {
 
  303                    $lng->txt(
"survey_edit_heading"),
 
  305                    $ilCtrl->getLinkTarget($this->parent_obj, 
"editheading")
 
  309                    $lng->txt(
"survey_delete_heading"),
 
  311                    $ilCtrl->getLinkTarget($this->parent_obj, 
"removeheading")
 
  313            } elseif ($a_set[
"type"] == 
"question") {
 
  315                    $lng->txt(
"add_heading"),
 
  317                    $ilCtrl->getLinkTarget($this->parent_obj, 
"addHeading")
 
  321            $this->tpl->setVariable(
"ACTION", 
$list->getHTML());
 
  323            $ilCtrl->setParameter($this->parent_obj, 
"q_id", 
"");
 
  325            $this->tpl->parseCurrentBlock();
 
  329                $this->tpl->setCurrentBlock(
"title_edit");
 
  330                $this->tpl->setVariable(
"TITLE", $a_set[
"title"]);
 
  331                $this->tpl->setVariable(
"URL_TITLE", $a_set[
"url"]);
 
  332                $this->tpl->parseCurrentBlock();
 
  334                $this->tpl->setCurrentBlock(
"title_static");
 
  335                $this->tpl->setVariable(
"TITLE", $a_set[
"title"]);
 
  336                $this->tpl->parseCurrentBlock();
 
  339            $this->tpl->setCurrentBlock(
"title_static");
 
  340            $this->tpl->setVariable(
"TITLE", $a_set[
"title"]);
 
  341            $this->tpl->parseCurrentBlock();
 
An exception for terminatinating execution or to throw for unit testing.
static lookupObjFi($a_qid)
Lookip obj fi.
User interface class for advanced drop-down selection lists.
static _getQuestiontypes()
Creates a list of all available question types.
Survey question table GUI class.
fillRow($a_set)
Fill table row.
importData()
Import data from DB.
__construct($a_parent_obj, $a_parent_cmd, ilObjSurvey $a_survey_obj, $a_read_only=false)
Constructor.
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.
setData($a_data)
set table data @access public
setRowTemplate($a_template, $a_template_dir="")
Set row template.
setLimit($a_limit=0, $a_default_limit=0)
set max.
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.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
if(!array_key_exists('StateId', $_REQUEST)) $id
if(isset($_REQUEST['delete'])) $list