aboutsummaryrefslogtreecommitdiff
path: root/lib/evaluation/evaluation_admin_template.lib.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/evaluation/evaluation_admin_template.lib.php')
-rw-r--r--lib/evaluation/evaluation_admin_template.lib.php1102
1 files changed, 0 insertions, 1102 deletions
diff --git a/lib/evaluation/evaluation_admin_template.lib.php b/lib/evaluation/evaluation_admin_template.lib.php
deleted file mode 100644
index 4cbf727..0000000
--- a/lib/evaluation/evaluation_admin_template.lib.php
+++ /dev/null
@@ -1,1102 +0,0 @@
-<?php
-# Lifter002: TODO
-# Lifter007: TODO
-# Lifter003: TODO
-# Lifter010: TODO
-/**
- * Library for template gui
- *
- * @author JPWowra
- *
- * @copyright 2004 Stud.IP-Project
- * @access public
- * @package evaluation
- * @modulegroup evaluation_modules
- *
- */
-
-// +--------------------------------------------------------------------------+
-// This file is part of Stud.IP
-// Copyright (C) 2001-2004 Stud.IP
-// +--------------------------------------------------------------------------+
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or any later version.
-// +--------------------------------------------------------------------------+
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-// +--------------------------------------------------------------------------+
-
-use Studip\Button;
-
-class EvalTemplateGUI
-{
- public $BR;
- public $command;
-
- public function __construct()
- {
- $this->BR = new HTMpty("br");
- $this->command = $this->getPageCommand();
- }
-
- /**
- * Creates the two (?) template selection lists
- * @param
- */
- public function createSelections(
- $polTemplates,
- $skalaTemplates,
- $normalTemplates,
- $freeTemplates,
- $myuserid
- )
- {
-
- global $evalID;
-
- $form = new HTM("form");
-
- $form->attr("action", URLHelper::getLink("?page=edit&evalID=" . $evalID));
- $form->attr("method", "post");
- $form->html(CSRFProtection::tokenTag());
-
- $table = new HTML("table");
- $table->addAttr("border", "0");
- $table->addAttr("cellpadding", "2");
- $table->addAttr("cellspacing", "0");
-
- $table->addAttr("width", "100%");
- $tr = new HTML ("tr");
- $td = new HTML ("td");
- $td->addAttr("align", "right");
-
- /* Polskalen ------------------------------------------------ */
- $b = new HTM("b");
- $b->cont(_("Polskala"));
- $td->addContent($b);
- $tr->addContent($td);
-
- $td = new HTML ("td");
-
- /* create button ------------------------------------ */
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_createpol_scale_button");
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $input->stri(tooltip(_("Neue Vorlage erstellen."), TRUE));
- $input->attr("src", EVAL_PIC_ADD_TEMPLATE);
-
- $td->addContent($input);
- $tr->addContent($td);
- $table->addContent($tr);
-
- if (!empty($polTemplates)) {
- $tr = new HTML ("tr");
- $td = new HTML ("td");
- $td->addAttr("align", "right");
-
- $select = new HTM("select");
- $select->attr("name", "template");
- $select->attr("size", "1");
- foreach ($polTemplates as $templatearray) {
- $option = new HTM("option");
- $select->attr("name", "template_editpol_scale");
- $option->attr("value", $templatearray[0]);
- $option->cont("$templatearray[1]");
- $select->cont($option);
- }
- $td->addContent($select);
- $tr->addContent($td);
- $td = new HTML ("td");
-
- /* edit button ----------------------------------- */
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_editpol_scale_button");
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $input->stri(tooltip(_("Ausgewählte Vorlage bearbeiten."), TRUE));
- $input->attr("src", EVAL_PIC_EDIT);
-
- $td->addContent($input);
- $tr->addContent($td);
- $table->addContent($tr);
- }
- /* end: Polskalen ----------------------------------------------- */
-
-
- /* Likertskalen ------------------------------------------------- */
- $td = new HTML ("td");
- $td->addAttr("align", "right");
- $td->addAttr("class", "content_body");
- $tr = new HTML ("tr");
-
- $b = new HTM("b");
- $b->cont(_("Likertskala"));
- $td->addContent($b);
- $tr->addContent($td);
-
- $td = new HTML ("td");
- $td->addAttr("class", "content_body");
-
- /* create button ------------------------------------ */
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_createlikert_scale_button");
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $input->stri(tooltip(_("Neue Vorlage erstellen."), TRUE));
- $input->attr("src", EVAL_PIC_ADD_TEMPLATE);
-
- $td->addContent($input);
- $tr->addContent($td);
- $table->addContent($tr);
-
- if (!empty($skalaTemplates)) {
- $td = new HTML ("td");
- $tr = new HTML ("tr");
- $td->addAttr("align", "right");
- $select = new HTM("select");
- $select->attr("name", "template");
- $select->attr("size", "1");
-
- foreach ($skalaTemplates as $templatearray) {
- $option = new HTM("option");
- $select->attr("name", "template_editlikert_scale");
- $option->attr("value", $templatearray[0]);
- $option->cont("$templatearray[1]");
- $select->cont($option);
- }
- $td->addContent($select);
- $tr->addContent($td);
-
- $td = new HTML ("td");
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_editlikert_scale_button");
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $input->stri(tooltip(_("Ausgewählte Vorlage bearbeiten."), TRUE));
- $input->attr("src", EVAL_PIC_EDIT);
-
- $td->addContent($input);
- $tr->addContent($td);
- $table->addContent($tr);
- }
- /* end: Likertskalen ----------------------------------------------- */
-
-
- /* Normale / Multiplechoice ---------------------------------------- */
- $td = new HTML ("td");
- $td->addAttr("class", "content_body");
- $tr = new HTML ("tr");
- $td->addAttr("align", "right");
-
- $b = new HTM("b");
- $b->cont(_("Multiple Choice"));
- $td->addContent($b);
- $tr->addContent($td);
-
- $td = new HTML ("td");
- $td->addAttr("class", "content_body");
-
- /* create button ------------------------------------ */
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_createnormal_scale_button");
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $input->stri(tooltip(_("Neue Vorlage erstellen."), TRUE));
- $input->attr("src", EVAL_PIC_ADD_TEMPLATE);
-
- $td->addContent($input);
- $tr->addContent($td);
- $table->addContent($tr);
-
- if (!empty($normalTemplates)) {
- $td = new HTML ("td");
- $tr = new HTML ("tr");
- $td->addAttr("align", "right");
- $select = new HTM("select");
- $select->attr("name", "template");
- $select->attr("size", "1");
-
- foreach ($normalTemplates as $templatearray) {
- $option = new HTM("option");
- $select->attr("name", "template_editnormal_scale");
- $option->attr("value", $templatearray[0]);
- $option->cont("$templatearray[1]");
- $select->cont($option);
- }
- $td->addContent($select);
- $tr->addContent($td);
- $td = new HTML ("td");
-
- /* edit button */
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_editnormal_scale_button");
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $input->stri(tooltip(_("Ausgewählte Vorlage bearbeiten."), TRUE));
- $input->attr("src", EVAL_PIC_EDIT);
-
- $td->addContent($input);
- $tr->addContent($td);
- $table->addContent($tr);
- }
- /* end: Normale / Multiplechoice-------------------------------------- */
-
-
- /* Freitext ----------------------------------------------------- */
-
- $td = new HTML ("td");
- $td->addAttr("class", "content_body");
- $tr = new HTML ("tr");
- $td->addAttr("align", "right");
-
- $b = new HTM("b");
- $b->cont(_("Freitext-Antwort"));
- $td->addContent($b);
- $tr->addContent($td);
-
- $td = new HTML ("td");
- $td->addAttr("class", "content_body");
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_createfree_scale_button");
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $input->stri(tooltip(_("Neue Vorlage erstellen."), TRUE));
- $input->attr("src", EVAL_PIC_ADD_TEMPLATE);
- $td->addContent($input);
- $tr->addContent($td);
- $table->addContent($tr);
-
- if (!empty($freeTemplates)) {
- $td = new HTML ("td");
- $tr = new HTML ("tr");
- $td->addAttr("align", "right");
-
- $select = new HTM("select");
- $select->attr("name", "template");
- $select->attr("size", "1");
-
- foreach ($freeTemplates as $templatearray) {
- $option = new HTM("option");
- $select->attr("name", "template_editfree_scale");
- $option->attr("value", $templatearray[0]);
- $option->cont("$templatearray[1]");
- $select->cont($option);
- }
- $td->addContent($select);
- $tr->addContent($td);
- $td = new HTML ("td");
-
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_editfree_scale_button");
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $input->stri(tooltip(_("Ausgewählte Vorlage bearbeiten."), TRUE));
- $input->attr("src", EVAL_PIC_EDIT);
- $td->addContent($input);
- $tr->addContent($td);
- $table->addContent($tr);
- }
- /* end: Freitext -------------------------------------- */
-
- $form->cont($table);
-
- return $form;
- }
-
- /**
- * Creates the form for the template
- * @param
- */
- public function createTemplateForm(&$question, $onthefly = "")
- {
- global $evalID, $itemID;
-
- $type = $question->getType();
- $tableA = new HTM("table");
- $tableA->attr("border", "0");
- $tableA->attr("cellpadding", "2");
- $tableA->attr("cellspacing", "0");
- $tableA->attr("width", "100%");
-
- $trA = new HTM("tr");
- $tdA = new HTM("td");
- $tdA->attr("class", "table_header_bold");
- $tdA->attr("align", "left");
- if ($onthefly) {
- $tdA->html(_("<b>Freie Antworten definieren</b>"));
- } else {
- $isCreate = mb_strstr($this->getPageCommand(), "create");
- $tdA->html("<b>");
- switch ($type) {
- case EVALQUESTION_TYPE_MC:
- //$answer = $question->getChild();
- //if ($answer->isFreetext ()) {}
- //else
- $tdA->html($isCreate
- ? _("Multiple Choice erstellen")
- : _("Multiple Choice bearbeiten"));
- break;
- case EVALQUESTION_TYPE_LIKERT:
- $tdA->html($isCreate
- ? _("Likertskala erstellen")
- : _("Likertskala bearbeiten"));
- break;
- case EVALQUESTION_TYPE_POL:
- $tdA->html($isCreate
- ? _("Polskala erstellen")
- : _("Polskala bearbeiten"));
- break;
- }
- $tdA->html("</b>");
- }
- $trA->cont($tdA);
- $tableA->cont($trA);
-
- $trA = new HTM("tr");
- $tdA = new HTM("td");
-
- $form = new HTM("form");
- $form->attr("action", URLHelper::getLink('', ['page' => 'edit', 'evalID' => $evalID, 'itemID' => $itemID]));
-
- $form->attr("method", "post");
- $form->html(CSRFProtection::tokenTag());
- /* template name --------------------------------- */
- if ($onthefly != 1) {
- $b = new HTM("b");
- $b->cont(_("Name") . ": ");
- $form->cont($b);
- $input = new HTMpty("input");
- $input->attr("type", "text");
- $input->attr("name", "template_name");
- $input->attr("value", $question->getText());
- $input->attr("style", "vertical-align:middle;");
- $input->attr("size", 22);
- $input->attr("maxlength", 22);
- $input->attr("tabindex", 1);
- $form->cont($input);
- } else {
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_name");
- $input->attr("value", $question->getText());
- $form->cont($input);
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "onthefly");
- $input->attr("value", $onthefly);
- $form->cont($input);
- }
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_id");
- $input->attr("value", $question->getObjectID());
- $form->cont($input);
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_type");
- $input->attr("value", $question->getType());
- $form->cont($input);
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_residual");
- $input->attr("value", NO);
- $form->cont($input);
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_position");
- $input->attr("value", $question->getPosition());
- $form->cont($input);
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "parentID");
- $input->attr("value", $question->getParentID());
- $form->cont($input);
-
- if ($onthefly != 1) {
- $img = new HTMpty("img");
- $img->attr("src", Icon::create('info-circle', 'inactive')->asImagePath(16));
- $img->attr("class", "middle");
- $img->stri(tooltip(_("Geben Sie hier einen Namen für Ihre Vorlage ein. Wenn Sie eine systemweite Vorlage bearbeiten, und speichern, wird eine neue Vorlage für Sie persönlich angelegt."),
- FALSE, TRUE));
- $form->cont($img);
- $form->cont($this->BR);
- }
- if ($type == EVALQUESTION_TYPE_MC) {
- /* multiple - radiobuttons ----------------------- */
- $form->cont($this->createSubHeadline
- (_("Mehrfachantwort erlaubt") . ": "));
- $radio = new HTMpty("input");
- $radio->attr("type", "radio");
- $radio->attr("name", "template_multiple");
- $radio->attr("value", YES);
- $question->isMultiplechoice()
- ? $radio->attr("checked") : 0;
- $form->cont($radio);
- $form->cont(_("ja"));
-
- $radio = new HTMpty("input");
- $radio->attr("type", "radio");
- $radio->attr("name", "template_multiple");
- $radio->attr("value", NO);
- $question->isMultiplechoice()
- ? 0 : $radio->attr("checked");
- $form->cont($radio);
- $form->cont(_("nein"));
- $form->cont($this->BR);
- /*end: multiple - radiobuttons -------------------- */
-
- /* show multiple choice checkboxes & answers------------------------- */
- $form->cont($this->createSubHeadline(_("Antworten") . ": "));
- for ($i = 0; $answer = $question->getNextChild(); $i++) {
- $form->cont(($i < 9 ? "0" : "") . ($i + 1) . ". ");
- $input = new HTMpty("input");
- $input->attr("type", "text");
- $input->attr("name", "template_answers[" . $i . "][text]");
- $input->attr("value", $answer->getText());
- $input->attr("size", 23);
- $input->attr("tabindex", $i + 2);
- $form->cont($input);
- $input = new HTMpty("input");
- $input->attr("type", "checkbox");
- $input->attr("name", "template_delete_answers[" . $i . "]");
- $input->attr("value", $answer->getObjectID());
- $form->cont($input);
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_answers[" . $i . "][answer_id]");
- $input->attr("value", $answer->getObjectID());
- $form->cont($input);
- $form->cont($this->BR);
- }
- /* ------------------------- end: multiple choice checkboxes &answers */
-
- /* add button ------------------------------------ */
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_add_answers_button");
- $input->addAttr("src", EVAL_PIC_ADD);
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $form->html("&nbsp;");
- $form->cont($input);
-
- /* add number of answers - list ------------------ */
- $select = new HTM("select");
- $select->attr("name", "template_add_num_answers");
- $select->attr("size", "1");
- $select->attr("style", "vertical-align:middle;");
- for ($i = 1; $i <= 10; $i++) {
- $option = new HTM("option");
- $option->attr("value", $i);
- $option->cont($i);
- $select->cont($option);
- }
- $form->cont($select);
-
- /* delete button --------------------------------- */
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_delete_answers_button");
- $input->addAttr("src", EVAL_PIC_REMOVE);
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $form->html("&nbsp;");
- $form->cont($input);
- $form->cont($this->BR);
- } else {
- if ($type == EVALQUESTION_TYPE_POL) {
- $form->cont($this->createSubHeadline(_("Antworten") . ": "));
- /* answers --------------------------------------- */
- $isResidual = NO;
- for ($i = 0; $answer = $question->getNextChild(); $i++) {
- /*Einbau der Residualkategorie hier komplizierter*/
- $residualAnswer = $answer;
- if (!$answer->isResidual()) {
- if ($i == 0 || $i >= ($question->getNumberChildren() - 2)) {
- if ($i == 0) {
- $form->cont(_("Beschriftung erste Antwort"));
- $input = new HTMpty("input");
- $input->attr("type", "text");
- $input->attr("name", "template_answers[0][text]");
- $input->attr("value", $answer->getText());
- $input->attr("size", 29);
- $form->cont($input);
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_answers[0][answer_id]");
- $input->attr("value", $answer->getObjectID());
- $form->cont($input);
- $form->cont($this->BR);
- } else {
-
- if ($answer->getText() == "") {
- $oldid = $answer->getObjectID();
- //continue;
- } else {
- $form->cont(_("Beschriftung letzte Antwort"));
- $lastone = -1;
- $input = new HTMpty("input");
- $input->attr("type", "text");
- $input->attr("name", "template_answers[1][text]");
- $input->attr("value", $answer->getText());
- $input->attr("size", 29);
- $form->cont($input);
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_answers[1][answer_id]");
- $input->attr("value", $answer->getObjectID());
- $form->cont($input);
- }
-
- }
-
- }
-
- } else {
- $isResidual = YES;
-
- }
- if (isset($lastone) && $lastone != -1 && $i == ($question->getNumberChildren() - 1)) {
- $form->cont(_("Beschriftung letzte Antwort"));
- $lastone = YES;
- $input = new HTMpty("input");
- $input->attr("type", "text");
- $input->attr("name", "template_answers[1][text]");
- $input->attr("value", "");
- $input->attr("size", 29);
- $form->cont($input);
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_answers[1][answer_id]");
- $input->attr("value", $oldid ?? '');
- $form->cont($input);
- }
- }
- $form->cont($this->BR);
- $form->cont($this->
- createSubHeadline(_("Anzahl Abstufungen") . ": "));
- /* NUMBER OF ANSWERS------------------------------------------ */
- $select = new HTM("select");
- $select->attr("name", "template_add_num_answers");
- $select->attr("size", "1");
- $select->attr("style", "vertical-align:middle;");
- $res = 0;
- if ($isResidual == YES) {
- $res = 1;
- }
- for ($i = 4; $i <= 20; $i++) {
- $option = new HTM("option");
- $option->attr("value", $i);
- $option->cont($i);
- if ($i == $question->getNumberChildren() - $res)
- $option->addAttr("selected", "selected");
- $select->cont($option);
- }
- $form->cont($select);
- $form->cont($this->BR);
-
-
- }
- if ($type == EVALQUESTION_TYPE_LIKERT) {
- $form->cont($this->createSubHeadline(_("Antworten") . ": "));
- $residualAnswer = NULL;
- $isResidual = NO;
- for ($i = 0; $answer = $question->getNextChild(); $i++) {
- if (!$answer->isResidual()) {
- $form->cont(($i < 9 ? "0" : "") . ($i + 1) . ". ");
- $input = new HTMpty("input");
- $input->attr("type", "text");
- $input->attr("name", "template_answers[" . $i . "][text]");
- $input->attr("value", $answer->getText());
- $input->attr("size", 23);
- $input->attr("tabindex", $i + 2);
- $form->cont($input);
- $input = new HTMpty("input");
- $input->attr("type", "checkbox");
- $input->attr("name", "template_delete_answers[" . $i . "]");
- $input->attr("value", $answer->getObjectID());
- $form->cont($input);
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_answers[" . $i . "][answer_id]");
- $input->attr("value", $answer->getObjectID());
- $form->cont($input);
- $form->cont($this->BR);
- if (!$residualAnswer)
- $residualAnswer = $answer;
- } else {
- $i--;
- $isResidual = YES;
- $residualAnswer = $answer;
- }
- }
-
- /* add button ------------------------------------ */
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_add_answers_button");
- $input->addAttr("src", EVAL_PIC_ADD);
-
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $form->html("&nbsp;");
- $form->cont($input);
-
- /* add number of answers - list ------------------ */
- $select = new HTM("select");
- $select->attr("name", "template_add_num_answers");
- $select->attr("size", "1");
- $select->attr("style", "vertical-align:middle;");
- for ($i = 1; $i <= 10; $i++) {
- $option = new HTM("option");
- $option->attr("value", $i);
- $option->cont($i);
- $select->cont($option);
- }
- $form->cont($select);
-
- /* delete answers button --------------------------------- */
- $input = new HTMpty("input");
- $input->attr("type", "image");
- $input->attr("name", "template_delete_answers_button");
- $input->addAttr("src", EVAL_PIC_REMOVE);
- $input->attr("border", "0");
- $input->attr("style", "vertical-align:middle;");
- $form->html("&nbsp;");
- $form->cont($input);
- $form->cont($this->BR);
-
-
- }
-
- }
- if ($type == EVALQUESTION_TYPE_LIKERT || $type == EVALQUESTION_TYPE_POL) {
- /* residual category ------------------------------------ */
- $form->cont($this->createSubHeadline(_("Ausweichantwort") . ": "));
-
- /* residual - radiobuttons ------------------------------ */
- $radio = new HTMpty("input");
- $radio->attr("type", "radio");
- $radio->attr("name", "template_residual");
- $radio->attr("value", YES);
-
- $value = !empty($isResidual) ? "checked" : "unchecked";
- $radio->attr($value);
-
- $form->cont($radio);
- $form->cont(_("ja") . ":");
-
- /* residual text field -------------> */
- $input = new HTMpty("input");
- $input->attr("type", "text");
- $input->attr("name", "template_residual_text");
- if (!empty($isResidual))
- $input->attr("value", !empty($residualAnswer) ? $residualAnswer->getText() : '');
- else
- $input->attr("value", "");
- $input->attr("size", 22);
- $form->cont($input);
- /* <------------- residual text field */
- $form->cont($this->BR);
- $radio = new HTMpty("input");
- $radio->attr("type", "radio");
- $radio->attr("name", "template_residual");
- $radio->attr("value", NO);
-
- $value = $value == "unchecked" ? "checked" : "unchecked";
- $radio->attr($value);
-
- $form->cont($radio);
- $form->cont(_("nein"));
- /*end: residual - radiobuttons -------------------- */
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_residual_id");
- $input->attr("value", !empty($residualAnswer) ? $residualAnswer->getObjectID() : '');
- $form->cont($input);
- /*end: residual - kategorie -------------------- */
- }
- /* uebernehmen button ---------------------------- */
- if ($onthefly == 1) {
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "cmd");
- $input->attr("value", "QuestionAnswersCreated");
- $form->cont($input);
-
- $input = Button::create(_('Übernehmen'),
- 'template_save2_button');
- } else {
- $input = Button::create(_('Übernehmen'),
- 'template_save_button');
- }
-
- if (!mb_strstr($this->command, "create")) {
- $showDelete = YES;
- $input2 = Button::createAccept(_('Löschen'),
- 'template_delete_button');
- }
-
- $table = new HTM("table");
- $table->attr("border", "0");
- $table->attr("align", "center");
- $table->attr("cellspacing", "0");
- $table->attr("cellpadding", "3");
- $table->attr("width", "100%");
- $tr = new HTM("tr");
- $td = new HTM("td");
- $td->attr("class", "content_body");
- $td->attr("align", "center");
- $td->cont($input);
- $tr->cont($td);
-
- if (!empty($showDelete)) {
- $td = new HTM("td");
- $td->attr("class", "content_body");
- $td->attr("align", "center");
- $td->cont($input2 ?? '');
- $tr->cont($td);
- }
-
- $table->cont($tr);
- $form->cont($table);
-
- /* ----------------------------------------------- */
- $tdA->cont($form);
- $trA->cont($tdA);
- $tableA->cont($trA);
- return $tableA;
-
- }
-
-
- /**
- * Creates the form for the Polskala templates
- * @param
- */
- public function createTemplateFormFree(&$question)
- {
- global $evalID;
- $answer = $question->getNextChild();
-
- $tableA = new HTM("table");
- $tableA->attr("border", "0");
- $tableA->attr("cellpadding", "2");
- $tableA->attr("cellspacing", "0");
- $tableA->attr("width", "100%");
-
- $trA = new HTM("tr");
- $tdA = new HTM("td");
- $tdA->attr("class", "table_header_bold");
- $tdA->attr("align", "left");
- $tdA->html("<b>" . (mb_strstr($this->getPageCommand(), "create")
- ? _("Freitextvorlage erstellen")
- : _("Freitextvorlage bearbeiten")) . "</b>");
- $trA->cont($tdA);
- $tableA->cont($trA);
-
- $trA = new HTM("tr");
- $tdA = new HTM("td");
- $form = new HTM("form");
- $form->attr("action", URLHelper::getLink("?page=edit&evalID=" . $evalID));
- $form->attr("method", "post");
- $form->html(CSRFProtection::tokenTag());
-
- $b = new HTM("b");
- $b->cont(_("Name") . ": ");
- $form->cont($b);
-
- $input = new HTMpty("input");
- $input->attr("type", "text");
- $input->attr("name", "template_name");
- $name = $question->getText();
- $input->attr("value", $question->getText());
- // $input->attr( "value", $name );
- $input->attr("style", "vertical-align:middle;");
- $input->attr("size", 22);
- $input->attr("maxlength", 22);
- $form->cont($input);
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_id");
- $input->attr("value", $question->getObjectID());
- $form->cont($input);
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_type");
- $input->attr("value", $question->getType());
- $form->cont($input);
-
- $input = new HTMpty("input");
- $input->attr("type", "hidden");
- $input->attr("name", "template_multiple");
- $input->attr("value", NO);
- $form->cont($input);
-
- $img = new HTMpty("img");
- $img->attr("src", Icon::create('info-circle', 'inactive')->asImagePath(16));
- $img->attr("class", "middle");
- $img->stri(tooltip(_("Geben Sie hier einen Namen für Ihre Vorlage ein. Ändern Sie den Namen, um eine neue Vorlage anzulegen."),
- FALSE, TRUE));
- $form->cont($img);
- $form->cont($this->BR);
-
- //$answer = $question->getNextChild();
- //$answer->toString();
- /* Anzahl Zeilen------------------------------------------------------ */
- $form->cont($this->createSubHeadline(_("Anzahl Zeilen") . ": "));
-
- $select = new HTM("select");
- $select->attr("name", "template_add_num_answers");
- $select->attr("size", "1");
- $select->attr("style", "vertical-align:middle;");
- for ($i = 1; $i <= 25; $i++) {
- $option = new HTM("option");
- $option->attr("value", $i);
- $option->cont($i);
- if ($i == $answer->getRows())
- $option->addAttr("selected", "selected");
- $select->cont($option);
- }
- $form->cont($select);
- $form->cont($this->BR);
-
- /* uebernehmen / loeschen Button ---------------------------- */
- $input = Button::create(_('Übernehmen'),
- 'template_savefree_button');
- if (!mb_strstr($this->command, "create")) {
- $showDelete = YES;
- $input2 = Button::createAccept(_('Löschen'),
- 'template_delete_button');
- }
-
- $table = new HTM("table");
- $table->attr("border", "0");
- $table->attr("align", "center");
- $table->attr("cellspacing", "0");
- $table->attr("cellpadding", "3");
- $table->attr("width", "100%");
- $tr = new HTM("tr");
- $td = new HTM("td");
- $td->attr("class", "content_body");
- $td->attr("align", "center");
- $td->cont($input);
- $tr->cont($td);
-
- if (!empty($showDelete)) {
- $td = new HTM("td");
- $td->attr("class", "content_body");
- $td->attr("align", "center");
- $td->cont($input2 ?? '');
- $tr->cont($td);
- }
- $table->cont($tr);
- $form->cont($table);
-
- $tdA->cont($form);
- $trA->cont($tdA);
- $tableA->cont($trA);
- return $tableA;
- }
-
-
- /**
- * create a blue headline
- */
- public function createHeadline($text)
- {
- $div = new HTM("div");
- $div->attr("class", "eval_title");
- $div->attr("style", "margin-bottom:4px; margin-top:4px;");
- $div->cont($text);
- return $div;
- }
-
- /**
- * create a fat-printed sub headline with some space
- */
- public function createSubHeadline($text)
- {
- $div = new HTM("div");
- $div->attr("style", "margin-bottom:4px; margin-top:4px;");
- $b = new HTM("b");
- $b->cont($text);
- $div->cont($b);
- return $div;
- }
-
-
- /**
- * creates the infobox
- *
- */
- public function createInfoBox()
- {
- global $evalID, $rangeID;
-
- if (get_Username($rangeID)) {
- $rangeID = get_Username($rangeID);
- }
-
- if (empty($rangeID)) {
- $rangeID = get_Username($GLOBALS['user']->id);
- }
-
- $actions = new ActionsWidget();
- $actions->addLink(_('Vorschau der Evaluation'),
- URLHelper::getURL('show_evaluation.php',
- ['evalID' => $evalID,
- 'isPreview' => YES]), Icon::create('question-circle', 'clickable'),
- ['target' => $evalID,
- 'onClick' => "openEval('" . $evalID . "'); return false;"]);
- $actions->addLink(_('Zurück zur Evaluations-Verwaltung'), URLHelper::getURL('admin_evaluation.php',
- ['page' => 'overview',
- 'check_abort_creation_button' => '1',
- 'evalID' => $evalID,
- 'rangeID' => $rangeID]),
- Icon::create('link-intern', 'clickable'));
- Sidebar::Get()->addWidget($actions);
- }
-
-
-# Define private functions ================================================== #
-
- /**
- * creates a new answer
- *
- * @access private
- * @return array the created answer as an array with keys 'answer_id' => new md5 id,
- * 'text' => "",
- * 'counter' => 0,
- * 'correct' => NO
- */
- public function makeNewAnswer()
- {
- return ['answer_id' => md5(uniqid(rand())),
- 'text' => rand()
- ];
- }
-
-
- /**
- * deletes the answer at position 'pos' from the array 'answers'
- * and modifies the array 'deleteAnswers' respectively
- *
- * @access public
- * @param array &$answers the answerarray
- * @param array &$deleteAnswers the array containing the deleteCheckbox-bool-value for each answer
- * @param int $pos the position of the answer to be deleted
- *
- */
- public function deleteAnswer($pos, &$answers, &$deleteAnswers)
- {
-
- unset($answers[$pos]);
- if (is_array($deleteAnswers))
- unset($deleteAnswers[$pos]);
-
- for ($i = $pos; $i < count($answers); $i++) {
-
- if (!isset($answers[$i])) {
- $answers[$i] = $answers[$i + 1];
- unset($answers[$i + 1]);
- if (is_array($deleteAnswers)) {
- $deleteAnswers[$i] = $deleteAnswers[$i + 1];
- unset($deleteAnswers[$i + 1]);
- }
- }
- }
- return;
- }
-
- /**
- * checks which button was pressed
- *
- * @access public
- * @returns string the command "add_answers", "delete_answers", etc.
- *
- */
- public function getPageCommand()
- {
- foreach ($_REQUEST as $key => $value) {
- if (preg_match("/template_(.*)_button?/", $key, $command))
- break;
- }
-
- $return_command = $command[1] ?? '';
-
- // extract the command if theres a questionID in the commandname
- if (preg_match("/(.*)_#(.*)/", $return_command, $new_command))
- $return_command = $new_command[1];
-
-
- return $return_command;
- }
-
-
- /**
- * Checks if a template with the same name already exists and modifies the
- * text of the template if necessary.
- * @param object $template The template
- * @param object $db The EvaluationQuestionDB
- * @param string $myuserid My userid
- * @param boolean $rootTag If yes, add the root tag if necessary
- * @access private
- */
- public function setUniqueName(&$question, $db, $myuserid, $rootTag = NO)
- {
- $text = $question->getText();
-
- /* Add root tag if necessary ----------------------------------------- */
- //if ($rootTag && $myuserid == "0" && !mb_strstr ($text, EVAL_ROOT_TAG))
- // $question->setText ($text." ".EVAL_ROOT_TAG);
- /* ------------------------------------------------- end: add root tag */
-
- /* Remove root tag if necessary -------------------------------------- */
- if ($myuserid != "0" && mb_strstr($text, EVAL_ROOT_TAG)) {
- $question->setText(trim(implode("", explode(EVAL_ROOT_TAG, $text))));
- }
- /* ---------------------------------------------- end: remove root tag */
-
- /* Change text if necessary with increasing number ------------------- */
- $originalName = $question->getText();
- for ($i = 1; $db->titleExists($question->getText(), $myuserid); $i++) {
- $question->setText($originalName . " (" . $i . ")");
- }
- /* -------------------------------------------------- end: change text */
- }
-
-# ==================================================== end: private functions #
-
-}
-
-# Include all required files ================================================ #
-require_once 'lib/evaluation/evaluation.config.php';
-require_once HTML;
-# ====================================================== end: including files #