Basic GUI class for assessment questions. More...
Inheritance diagram for assQuestionGUI:Public Member Functions | |
| assQuestionGUI () | |
| assQuestionGUI constructor | |
| & | executeCommand () |
| execute command | |
| getCommand ($cmd) | |
| getQuestionType () | |
| Returns the question type string. | |
| getType () | |
| needed for page editor compliance | |
| outOtherQuestionData () | |
| Sets the extra fields i.e. | |
| writePostData () | |
| Evaluates a posted edit form and writes the form data in the question object. | |
| assessment () | |
| output assessment | |
| writeOtherPostData ($result=0) | |
| Sets the other data i.e. | |
| & | _getQuestionGUI ($question_type, $question_id=-1) |
| Creates a question gui representation. | |
| _getGUIClassNameForId ($a_q_id) | |
| _getClassNameForQType ($q_type) | |
| & | createQuestionGUI ($question_type, $question_id=-1) |
| Creates a question gui representation. | |
| getQuestionTemplate () | |
| get question template | |
| getILIASPage () | |
| Returns the ILIAS Page around a question. | |
| outQuestionPage ($a_temp_var, $a_postponed=false, $active_id="") | |
| output question page | |
| cancel () | |
| cancel action | |
| originalSyncForm () | |
| sync () | |
| cancelSync () | |
| saveEdit () | |
| save question | |
| save () | |
| save question | |
| apply () | |
| apply changes | |
| cancelExplorer () | |
| addSuggestedSolution () | |
| Handler for cmd[addSuggestedSolution] to add a suggested solution for the question. | |
| removeSuggestedSolution () | |
| addPG () | |
| addST () | |
| addGIT () | |
| linkChilds () | |
| setSequenceNumber ($nr) | |
| getSequenceNumber () | |
| setQuestionCount ($a_question_count) | |
| getQuestionCount () | |
| getErrorMessage () | |
| setErrorMessage ($errormessage) | |
| outAdditionalOutput () | |
Data Fields | |
| $object | |
| $tpl | |
| $lng | |
| $error | |
| $errormessage | |
| $sequence_no | |
| sequence number in test | |
| $question_count | |
| question count in test | |
Basic GUI class for assessment questions.
The assQuestionGUI class encapsulates basic GUI functions for assessment questions.
class.assQuestionGUI.php Assessment
Definition at line 37 of file class.assQuestionGUI.php.
| assQuestionGUI::_getClassNameForQType | ( | $ | q_type | ) |
Definition at line 290 of file class.assQuestionGUI.php.
Referenced by _getGUIClassNameForId().
{
return $q_type . "GUI";
}
Here is the caller graph for this function:| assQuestionGUI::_getGUIClassNameForId | ( | $ | a_q_id | ) |
Definition at line 281 of file class.assQuestionGUI.php.
References _getClassNameForQType(), and assQuestion::getQuestionTypeFromDb().
Referenced by ilObjQuestionPoolGUI::questionsObject().
{
include_once "./assessment/classes/class.assQuestion.php";
include_once "./assessment/classes/class.assQuestionGUI.php";
$q_type = assQuestion::getQuestionTypeFromDb($a_q_id);
$class_name = assQuestionGUI::_getClassNameForQType($q_type);
return $class_name;
}
Here is the call graph for this function:
Here is the caller graph for this function:| & assQuestionGUI::_getQuestionGUI | ( | $ | question_type, | |
| $ | question_id = -1 | |||
| ) |
Creates a question gui representation.
Creates a question gui representation and returns the alias to the question gui note: please do not use $this inside this method to allow static calls
| string | $question_type The question type as it is used in the language database | |
| integer | $question_id The database ID of an existing question to load it into assQuestionGUI |
Definition at line 262 of file class.assQuestionGUI.php.
References assQuestion::getQuestionTypeFromDb().
Referenced by ilObjQuestionPoolGUI::addLocatorItems(), ilObjQuestionPoolGUI::createQuestionForTestObject(), createQuestionGUI(), ilObjQuestionPoolGUI::createQuestionObject(), ilPCQuestionGUI::edit(), ilObjQuestionPoolGUI::editQuestionForTestObject(), ilObjQuestionPoolGUI::executeCommand(), and ilObjQuestionPoolGUI::setTitleAndDescription().
{
include_once "./assessment/classes/class.assQuestion.php";
if ((!$question_type) and ($question_id > 0))
{
$question_type = assQuestion::getQuestionTypeFromDb($question_id);
// echo ":".$question_type;
}
if (strlen($question_type) == 0) return NULL;
include_once "./assessment/classes/class.".$question_type."GUI.php";
$question_type_gui = $question_type . "GUI";
$question =& new $question_type_gui();
if ($question_id > 0)
{
$question->object->loadFromDb($question_id);
}
return $question;
}
Here is the call graph for this function:
Here is the caller graph for this function:| assQuestionGUI::addGIT | ( | ) |
Definition at line 682 of file class.assQuestionGUI.php.
References $_GET, $_SESSION, and sendInfo().
{
$subquestion_index = 0;
if ($_SESSION["subquestion_index"] >= 0)
{
$subquestion_index = $_SESSION["subquestion_index"];
}
$this->object->setSuggestedSolution("il__git_" . $_GET["git"], $subquestion_index);
unset($_SESSION["subquestion_index"]);
unset($_SESSION["link_new_type"]);
unset($_SESSION["search_link_type"]);
sendInfo($this->lng->txt("suggested_solution_added_successfully"));
$this->editQuestion();
}
Here is the call graph for this function:| assQuestionGUI::addPG | ( | ) |
Definition at line 652 of file class.assQuestionGUI.php.
References $_GET, $_SESSION, and sendInfo().
{
$subquestion_index = 0;
if ($_SESSION["subquestion_index"] >= 0)
{
$subquestion_index = $_SESSION["subquestion_index"];
}
$this->object->setSuggestedSolution("il__pg_" . $_GET["pg"], $subquestion_index);
unset($_SESSION["subquestion_index"]);
unset($_SESSION["link_new_type"]);
unset($_SESSION["search_link_type"]);
sendInfo($this->lng->txt("suggested_solution_added_successfully"));
$this->editQuestion();
}
Here is the call graph for this function:| assQuestionGUI::addST | ( | ) |
Definition at line 667 of file class.assQuestionGUI.php.
References $_GET, $_SESSION, and sendInfo().
{
$subquestion_index = 0;
if ($_SESSION["subquestion_index"] >= 0)
{
$subquestion_index = $_SESSION["subquestion_index"];
}
$this->object->setSuggestedSolution("il__st_" . $_GET["st"], $subquestion_index);
unset($_SESSION["subquestion_index"]);
unset($_SESSION["link_new_type"]);
unset($_SESSION["search_link_type"]);
sendInfo($this->lng->txt("suggested_solution_added_successfully"));
$this->editQuestion();
}
Here is the call graph for this function:| assQuestionGUI::addSuggestedSolution | ( | ) |
Handler for cmd[addSuggestedSolution] to add a suggested solution for the question.
Handler for cmd[addSuggestedSolution] to add a suggested solution for the question
public
Reimplemented in assClozeTestGUI, assImagemapQuestionGUI, assJavaAppletGUI, assMatchingQuestionGUI, assMultipleChoiceGUI, assNumericGUI, assOrderingQuestionGUI, assQuestionTypeTemplateGUI, assSingleChoiceGUI, assTextQuestionGUI, and assTextSubsetGUI.
Definition at line 593 of file class.assQuestionGUI.php.
References $_GET, $_POST, $_SESSION, $exp, $tree, and sendInfo().
{
global $tree;
include_once("./assessment/classes/class.ilSolutionExplorer.php");
switch ($_POST["internalLinkType"])
{
case "lm":
$_SESSION["link_new_type"] = "lm";
$_SESSION["search_link_type"] = "lm";
break;
case "glo":
$_SESSION["link_new_type"] = "glo";
$_SESSION["search_link_type"] = "glo";
break;
case "st":
$_SESSION["link_new_type"] = "lm";
$_SESSION["search_link_type"] = "st";
break;
case "pg":
$_SESSION["link_new_type"] = "lm";
$_SESSION["search_link_type"] = "pg";
break;
default:
if (!$_SESSION["link_new_type"])
{
$_SESSION["link_new_type"] = "lm";
}
break;
}
sendInfo($this->lng->txt("select_object_to_link"));
$exp = new ilSolutionExplorer($this->ctrl->getLinkTarget($this,'addSuggestedSolution'), get_class($this));
$exp->setExpand($_GET["expand"] ? $_GET["expand"] : $tree->readRootId());
$exp->setExpandTarget($this->ctrl->getLinkTarget($this,'addSuggestedSolution'));
$exp->setTargetGet("ref_id");
$exp->setRefId($this->cur_ref_id);
$exp->addFilter($_SESSION["link_new_type"]);
$exp->setSelectableType($_SESSION["link_new_type"]);
// build html-output
$exp->setOutput(0);
$this->tpl->addBlockFile("EXPLORER", "explorer", "tpl.il_as_qpl_explorer.html", true);
$this->tpl->setVariable("EXPLORER_TREE",$exp->getOutput());
$this->tpl->setVariable("BUTTON_CANCEL",$this->lng->txt("cancel"));
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->parseCurrentBlock();
}
Here is the call graph for this function:| assQuestionGUI::apply | ( | ) |
apply changes
Definition at line 571 of file class.assQuestionGUI.php.
References $_GET, and writePostData().
{
$this->writePostData();
$this->object->saveToDb();
$_GET["q_id"] = $this->object->getId();
$this->editQuestion();
}
Here is the call graph for this function:| assQuestionGUI::assessment | ( | ) |
output assessment
Definition at line 160 of file class.assQuestionGUI.php.
References $_GET, $counter, $ref_id, and sendInfo().
{
$this->tpl->addBlockFile("CONTENT", "content", "tpl.il_as_qpl_content.html", true);
$this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
// catch feedback message
sendInfo();
$total_of_answers = $this->object->getTotalAnswers();
$counter = 0;
$color_class = array("tblrow1", "tblrow2");
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_as_qpl_assessment_of_questions.html", true);
if (!$total_of_answers)
{
$this->tpl->setCurrentBlock("emptyrow");
$this->tpl->setVariable("TXT_NO_ASSESSMENT", $this->lng->txt("qpl_assessment_no_assessment_of_questions"));
$this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
$this->tpl->parseCurrentBlock();
}
else
{
$this->tpl->setCurrentBlock("row");
$this->tpl->setVariable("TXT_RESULT", $this->lng->txt("qpl_assessment_total_of_answers"));
$this->tpl->setVariable("TXT_VALUE", $total_of_answers);
$this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
$counter++;
$this->tpl->parseCurrentBlock();
$this->tpl->setCurrentBlock("row");
$this->tpl->setVariable("TXT_RESULT", $this->lng->txt("qpl_assessment_total_of_right_answers"));
$this->tpl->setVariable("TXT_VALUE", sprintf("%2.2f", $this->object->_getTotalRightAnswers($_GET["q_id"]) * 100.0) . " %");
$this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
$this->tpl->parseCurrentBlock();
}
$instances =& $this->object->getInstances();
$counter = 0;
foreach ($instances as $instance)
{
if (is_array($instance["refs"]))
{
foreach ($instance["refs"] as $ref_id)
{
$this->tpl->setCurrentBlock("references");
$this->tpl->setVariable("GOTO", "./goto.php?target=tst_" . $ref_id);
$this->tpl->setVariable("TEXT_GOTO", $this->lng->txt("perma_link"));
$this->tpl->parseCurrentBlock();
}
}
$this->tpl->setCurrentBlock("instance_row");
$this->tpl->setVariable("TEST_TITLE", $instance["title"]);
$this->tpl->setVariable("TEST_AUTHOR", $instance["author"]);
$this->tpl->setVariable("QUESTION_ID", $instance["question_id"]);
$this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
$counter++;
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("instances");
$this->tpl->setVariable("TEXT_TEST_TITLE", $this->lng->txt("title"));
$this->tpl->setVariable("TEXT_TEST_AUTHOR", $this->lng->txt("author"));
$this->tpl->setVariable("TEXT_TEST_LOCATION", $this->lng->txt("location"));
$this->tpl->setVariable("INSTANCES_TITLE", $this->lng->txt("question_instances_title"));
$this->tpl->parseCurrentBlock();
$this->tpl->setCurrentBlock("adm_content");
$this->tpl->setVariable("TXT_QUESTION_TITLE", $this->lng->txt("question_cumulated_statistics"));
$this->tpl->setVariable("TXT_RESULT", $this->lng->txt("result"));
$this->tpl->setVariable("TXT_VALUE", $this->lng->txt("value"));
$this->tpl->parseCurrentBlock();
}
Here is the call graph for this function:| assQuestionGUI::assQuestionGUI | ( | ) |
assQuestionGUI constructor
assQuestionGUI constructor
public
Definition at line 69 of file class.assQuestionGUI.php.
References $ilCtrl, $lng, and $tpl.
Referenced by assClozeTestGUI::assClozeTestGUI(), assImagemapQuestionGUI::assImagemapQuestionGUI(), assJavaAppletGUI::assJavaAppletGUI(), assMatchingQuestionGUI::assMatchingQuestionGUI(), assMultipleChoiceGUI::assMultipleChoiceGUI(), assNumericGUI::assNumericGUI(), assOrderingQuestionGUI::assOrderingQuestionGUI(), assQuestionTypeTemplateGUI::assQuestionTypeTemplateGUI(), assSingleChoiceGUI::assSingleChoiceGUI(), assTextQuestionGUI::assTextQuestionGUI(), assTextSubsetGUI::assTextSubsetGUI(), and ilExerciseGUI::previewQuestion().
{
global $lng, $tpl, $ilCtrl;
$this->lng =& $lng;
$this->tpl =& $tpl;
$this->ctrl =& $ilCtrl;
$this->ctrl->saveParameter($this, "q_id");
include_once "./assessment/classes/class.assQuestion.php";
$this->errormessage = $this->lng->txt("fill_out_all_required_fields");
$this->object = new assQuestion();
}
Here is the caller graph for this function:| assQuestionGUI::cancel | ( | ) |
cancel action
Definition at line 393 of file class.assQuestionGUI.php.
References $_GET, and ilUtil::redirect().
{
if ($_GET["calling_test"])
{
$_GET["ref_id"] = $_GET["calling_test"];
ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=".$_GET["calling_test"]);
}
elseif ($_GET["test_ref_id"])
{
$_GET["ref_id"] = $_GET["test_ref_id"];
ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=".$_GET["test_ref_id"]);
}
else
{
if ($_GET["q_id"] > 0)
{
$this->ctrl->setParameterByClass("ilpageobjectgui", "q_id", $_GET["q_id"]);
$this->ctrl->redirectByClass("ilpageobjectgui", "view");
}
else
{
$this->ctrl->redirectByClass("ilobjquestionpoolgui", "questions");
}
}
}
Here is the call graph for this function:| assQuestionGUI::cancelExplorer | ( | ) |
Definition at line 579 of file class.assQuestionGUI.php.
References $_SESSION.
| assQuestionGUI::cancelSync | ( | ) |
Definition at line 441 of file class.assQuestionGUI.php.
References $_GET, and ilUtil::redirect().
{
$_GET["ref_id"] = $_GET["calling_test"];
ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=".$_GET["calling_test"]);
}
Here is the call graph for this function:| & assQuestionGUI::createQuestionGUI | ( | $ | question_type, | |
| $ | question_id = -1 | |||
| ) |
Creates a question gui representation.
Creates a question gui representation and returns the alias to the question gui
| string | $question_type The question type as it is used in the language database | |
| integer | $question_id The database ID of an existing question to load it into assQuestionGUI |
Definition at line 305 of file class.assQuestionGUI.php.
References _getQuestionGUI().
{
include_once "./assessment/classes/class.assQuestionGUI.php";
$this->question =& assQuestionGUI::_getQuestionGUI($question_type, $question_id);
}
Here is the call graph for this function:| & assQuestionGUI::executeCommand | ( | ) |
execute command
Definition at line 87 of file class.assQuestionGUI.php.
References $cmd, and getCommand().
{
$cmd = $this->ctrl->getCmd("editQuestion");
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->getCommand($cmd);
switch($next_class)
{
default:
$ret =& $this->$cmd();
break;
}
return $ret;
}
Here is the call graph for this function:| assQuestionGUI::getCommand | ( | $ | cmd | ) |
Reimplemented in assClozeTestGUI, assImagemapQuestionGUI, assJavaAppletGUI, assMatchingQuestionGUI, assMultipleChoiceGUI, assNumericGUI, assOrderingQuestionGUI, assQuestionTypeTemplateGUI, assSingleChoiceGUI, and assTextSubsetGUI.
Definition at line 103 of file class.assQuestionGUI.php.
References $cmd.
Referenced by executeCommand().
{
return $cmd;
}
Here is the caller graph for this function:| assQuestionGUI::getErrorMessage | ( | ) |
Definition at line 825 of file class.assQuestionGUI.php.
Referenced by assImagemapQuestionGUI::addArea(), assTextSubsetGUI::addSuggestedSolution(), assTextQuestionGUI::addSuggestedSolution(), assSingleChoiceGUI::addSuggestedSolution(), assQuestionTypeTemplateGUI::addSuggestedSolution(), assOrderingQuestionGUI::addSuggestedSolution(), assNumericGUI::addSuggestedSolution(), assMultipleChoiceGUI::addSuggestedSolution(), assMatchingQuestionGUI::addSuggestedSolution(), assJavaAppletGUI::addSuggestedSolution(), assImagemapQuestionGUI::addSuggestedSolution(), assClozeTestGUI::addSuggestedSolution(), assSingleChoiceGUI::deleteImage(), assMultipleChoiceGUI::deleteImage(), and save().
{
return $this->errormessage;
}
Here is the caller graph for this function:| assQuestionGUI::getILIASPage | ( | ) |
Returns the ILIAS Page around a question.
Returns the ILIAS Page around a question
Definition at line 329 of file class.assQuestionGUI.php.
References $_GET.
Referenced by assTextSubsetGUI::getSolutionOutput(), assTextQuestionGUI::getSolutionOutput(), assSingleChoiceGUI::getSolutionOutput(), assOrderingQuestionGUI::getSolutionOutput(), assNumericGUI::getSolutionOutput(), assMultipleChoiceGUI::getSolutionOutput(), assMatchingQuestionGUI::getSolutionOutput(), assJavaAppletGUI::getSolutionOutput(), assImagemapQuestionGUI::getSolutionOutput(), and assClozeTestGUI::getSolutionOutput().
{
include_once("content/classes/Pages/class.ilPageObject.php");
include_once("content/classes/Pages/class.ilPageObjectGUI.php");
$page =& new ilPageObject("qpl", $this->object->getId());
$page_gui =& new ilPageObjectGUI($page);
$page_gui->setTemplateTargetVar($a_temp_var);
$page_gui->setFileDownloadLink("ilias.php?baseClass=ilObjTestGUI&cmd=downloadFile".
"&ref_id=".$_GET["ref_id"]);
$page_gui->setFullscreenLink("ilias.php?baseClass=ilObjTestGUI&cmd=fullscreen".
"&ref_id=".$_GET["ref_id"]);
$page_gui->setSourcecodeDownloadScript("ilias.php?baseClass=ilObjTestGUI&ref_id=".$_GET["ref_id"]);
$page_gui->setOutputMode("presentation");
$page_gui->setPresentationTitle("");
return $page_gui->presentation();
}
Here is the caller graph for this function:| assQuestionGUI::getQuestionCount | ( | ) |
Definition at line 820 of file class.assQuestionGUI.php.
Referenced by outQuestionPage().
{
return $this->question_count;
}
Here is the caller graph for this function:| assQuestionGUI::getQuestionTemplate | ( | ) |
get question template
Definition at line 314 of file class.assQuestionGUI.php.
Referenced by assTextSubsetGUI::addSuggestedSolution(), assTextQuestionGUI::addSuggestedSolution(), assSingleChoiceGUI::addSuggestedSolution(), assQuestionTypeTemplateGUI::addSuggestedSolution(), assOrderingQuestionGUI::addSuggestedSolution(), assNumericGUI::addSuggestedSolution(), assMultipleChoiceGUI::addSuggestedSolution(), assMatchingQuestionGUI::addSuggestedSolution(), assJavaAppletGUI::addSuggestedSolution(), assImagemapQuestionGUI::addSuggestedSolution(), assClozeTestGUI::addSuggestedSolution(), assTextSubsetGUI::editQuestion(), assTextQuestionGUI::editQuestion(), assSingleChoiceGUI::editQuestion(), assOrderingQuestionGUI::editQuestion(), assNumericGUI::editQuestion(), assMultipleChoiceGUI::editQuestion(), assMatchingQuestionGUI::editQuestion(), assJavaAppletGUI::editQuestion(), assImagemapQuestionGUI::editQuestion(), assClozeTestGUI::editQuestion(), and linkChilds().
{
$this->tpl->addBlockFile("CONTENT", "content", "tpl.il_as_qpl_content.html", true);
$this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html");
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_as_question.html", true);
}
Here is the caller graph for this function:| assQuestionGUI::getQuestionType | ( | ) |
Returns the question type string.
Returns the question type string
Reimplemented in assClozeTestGUI, assImagemapQuestionGUI, assJavaAppletGUI, assMatchingQuestionGUI, assMultipleChoiceGUI, assNumericGUI, assOrderingQuestionGUI, assQuestionTypeTemplateGUI, assSingleChoiceGUI, assTextQuestionGUI, and assTextSubsetGUI.
Definition at line 117 of file class.assQuestionGUI.php.
Referenced by getType().
{
return "";
}
Here is the caller graph for this function:| assQuestionGUI::getSequenceNumber | ( | ) |
Definition at line 810 of file class.assQuestionGUI.php.
Referenced by outQuestionPage().
{
return $this->sequence_no;
}
Here is the caller graph for this function:| assQuestionGUI::getType | ( | ) |
needed for page editor compliance
Definition at line 125 of file class.assQuestionGUI.php.
References getQuestionType().
{
return $this->getQuestionType();
}
Here is the call graph for this function:| assQuestionGUI::linkChilds | ( | ) |
Definition at line 697 of file class.assQuestionGUI.php.
References $_GET, $_SESSION, $counter, ilLMPageObject::getPageList(), getQuestionTemplate(), and sendInfo().
{
switch ($_SESSION["search_link_type"])
{
case "pg":
include_once "./content/classes/class.ilLMPageObject.php";
include_once("./content/classes/class.ilObjContentObject.php");
$cont_obj =& new ilObjContentObject($_GET["source_id"], true);
$pages = ilLMPageObject::getPageList($cont_obj->getId());
$_GET["q_id"] = $this->object->getId();
$this->tpl->setVariable("HEADER", $this->object->getTitle());
$this->getQuestionTemplate();
$color_class = array("tblrow1", "tblrow2");
$counter = 0;
$this->tpl->addBlockFile("LINK_SELECTION", "link_selection", "tpl.il_as_qpl_internallink_selection.html", true);
foreach($pages as $page)
{
if($page["type"] == $_SESSION["search_link_type"])
{
$this->tpl->setCurrentBlock("linktable_row");
$this->tpl->setVariable("TEXT_LINK", $page["title"]);
$this->tpl->setVariable("TEXT_ADD", $this->lng->txt("add"));
$this->tpl->setVariable("LINK_HREF", $this->ctrl->getLinkTargetByClass(get_class($this), "add" . strtoupper($page["type"])) . "&" . $page["type"] . "=" . $page["obj_id"]);
$this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
$this->tpl->parseCurrentBlock();
$counter++;
}
}
$this->tpl->setCurrentBlock("link_selection");
$this->tpl->setVariable("BUTTON_CANCEL",$this->lng->txt("cancel"));
$this->tpl->setVariable("TEXT_LINK_TYPE", $this->lng->txt("obj_" . $_SESSION["search_link_type"]));
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->parseCurrentBlock();
break;
case "st":
$_GET["q_id"] = $this->object->getId();
$this->tpl->setVariable("HEADER", $this->object->getTitle());
$this->getQuestionTemplate();
$color_class = array("tblrow1", "tblrow2");
$counter = 0;
include_once("./content/classes/class.ilObjContentObject.php");
$cont_obj =& new ilObjContentObject($_GET["source_id"], true);
// get all chapters
$ctree =& $cont_obj->getLMTree();
$nodes = $ctree->getSubtree($ctree->getNodeData($ctree->getRootId()));
$this->tpl->addBlockFile("LINK_SELECTION", "link_selection", "tpl.il_as_qpl_internallink_selection.html", true);
foreach($nodes as $node)
{
if($node["type"] == $_SESSION["search_link_type"])
{
$this->tpl->setCurrentBlock("linktable_row");
$this->tpl->setVariable("TEXT_LINK", $node["title"]);
$this->tpl->setVariable("TEXT_ADD", $this->lng->txt("add"));
$this->tpl->setVariable("LINK_HREF", $this->ctrl->getLinkTargetByClass(get_class($this), "add" . strtoupper($node["type"])) . "&" . $node["type"] . "=" . $node["obj_id"]);
$this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
$this->tpl->parseCurrentBlock();
$counter++;
}
}
$this->tpl->setCurrentBlock("link_selection");
$this->tpl->setVariable("BUTTON_CANCEL",$this->lng->txt("cancel"));
$this->tpl->setVariable("TEXT_LINK_TYPE", $this->lng->txt("obj_" . $_SESSION["search_link_type"]));
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->parseCurrentBlock();
break;
case "glo":
$_GET["q_id"] = $this->object->getId();
$this->tpl->setVariable("HEADER", $this->object->getTitle());
$this->getQuestionTemplate();
$color_class = array("tblrow1", "tblrow2");
$counter = 0;
$this->tpl->addBlockFile("LINK_SELECTION", "link_selection", "tpl.il_as_qpl_internallink_selection.html", true);
include_once "./content/classes/class.ilObjGlossary.php";
$glossary =& new ilObjGlossary($_GET["source_id"], true);
// get all glossary items
$terms = $glossary->getTermList();
foreach($terms as $term)
{
$this->tpl->setCurrentBlock("linktable_row");
$this->tpl->setVariable("TEXT_LINK", $term["term"]);
$this->tpl->setVariable("TEXT_ADD", $this->lng->txt("add"));
$this->tpl->setVariable("LINK_HREF", $this->ctrl->getLinkTargetByClass(get_class($this), "addGIT") . "&git=" . $term["id"]);
$this->tpl->setVariable("COLOR_CLASS", $color_class[$counter % 2]);
$this->tpl->parseCurrentBlock();
$counter++;
}
$this->tpl->setCurrentBlock("link_selection");
$this->tpl->setVariable("BUTTON_CANCEL",$this->lng->txt("cancel"));
$this->tpl->setVariable("TEXT_LINK_TYPE", $this->lng->txt("glossary_term"));
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->parseCurrentBlock();
break;
case "lm":
$subquestion_index = 0;
if ($_SESSION["subquestion_index"] >= 0)
{
$subquestion_index = $_SESSION["subquestion_index"];
}
$this->object->setSuggestedSolution("il__lm_" . $_GET["source_id"], $subquestion_index);
unset($_SESSION["subquestion_index"]);
unset($_SESSION["link_new_type"]);
unset($_SESSION["search_link_type"]);
sendInfo($this->lng->txt("suggested_solution_added_successfully"));
$this->editQuestion();
break;
}
}
Here is the call graph for this function:| assQuestionGUI::originalSyncForm | ( | ) |
Definition at line 419 of file class.assQuestionGUI.php.
Referenced by save(), and saveEdit().
{
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_tst_sync_original.html", true);
$this->tpl->setCurrentBlock("adm_content");
$this->tpl->setVariable("BUTTON_YES", $this->lng->txt("yes"));
$this->tpl->setVariable("BUTTON_NO", $this->lng->txt("no"));
$this->tpl->setVariable("FORM_ACTION", $this->ctrl->getFormAction($this));
$this->tpl->setVariable("TEXT_SYNC", $this->lng->txt("confirm_sync_questions"));
$this->tpl->parseCurrentBlock();
}
Here is the caller graph for this function:| assQuestionGUI::outAdditionalOutput | ( | ) |
| assQuestionGUI::outOtherQuestionData | ( | ) |
Sets the extra fields i.e.
estimated working time of a question from a posted create/edit form
Sets the extra fields i.e. estimated working time of a question from a posted create/edit form
private
Definition at line 137 of file class.assQuestionGUI.php.
References ilUtil::makeTimeSelect().
Referenced by assTextSubsetGUI::editQuestion(), assTextQuestionGUI::editQuestion(), assSingleChoiceGUI::editQuestion(), assOrderingQuestionGUI::editQuestion(), assNumericGUI::editQuestion(), assMultipleChoiceGUI::editQuestion(), assMatchingQuestionGUI::editQuestion(), assJavaAppletGUI::editQuestion(), assImagemapQuestionGUI::editQuestion(), and assClozeTestGUI::editQuestion().
{
$est_working_time = $this->object->getEstimatedWorkingTime();
$this->tpl->setVariable("TEXT_WORKING_TIME", $this->lng->txt("working_time"));
$this->tpl->setVariable("TIME_FORMAT", $this->lng->txt("time_format"));
$this->tpl->setVariable("VALUE_WORKING_TIME", ilUtil::makeTimeSelect("Estimated", false, $est_working_time[h], $est_working_time[m], $est_working_time[s]));
}
Here is the call graph for this function:
Here is the caller graph for this function:| assQuestionGUI::outQuestionPage | ( | $ | a_temp_var, | |
| $ | a_postponed = false, |
|||
| $ | active_id = "" | |||
| ) |
output question page
Definition at line 349 of file class.assQuestionGUI.php.
References $_GET, ilObjTest::_getHideTitlePoints(), getQuestionCount(), and getSequenceNumber().
Referenced by assTextSubsetGUI::getTestOutput(), assTextQuestionGUI::getTestOutput(), assSingleChoiceGUI::getTestOutput(), assOrderingQuestionGUI::getTestOutput(), assNumericGUI::getTestOutput(), assMultipleChoiceGUI::getTestOutput(), assMatchingQuestionGUI::getTestOutput(), assJavaAppletGUI::getTestOutput(), assImagemapQuestionGUI::getTestOutput(), and assClozeTestGUI::getTestOutput().
{
$postponed = "";
if ($a_postponed)
{
$postponed = " (" . $this->lng->txt("postponed") . ")";
}
include_once("content/classes/Pages/class.ilPageObject.php");
include_once("content/classes/Pages/class.ilPageObjectGUI.php");
$this->lng->loadLanguageModule("content");
$page =& new ilPageObject("qpl", $this->object->getId());
$page_gui =& new ilPageObjectGUI($page);
$page_gui->setTemplateTargetVar($a_temp_var);
$page_gui->setFileDownloadLink("ilias.php?baseClass=ilObjTestGUI&cmd=downloadFile".
"&ref_id=".$_GET["ref_id"]);
$page_gui->setFullscreenLink("ilias.php?baseClass=ilObjTestGUI&cmd=fullscreen".
"&ref_id=".$_GET["ref_id"]);
$page_gui->setSourcecodeDownloadScript("ilias.php?baseClass=ilObjTestGUI&ref_id=".$_GET["ref_id"]);
$page_gui->setOutputMode("presentation");
include_once "./assessment/classes/class.ilObjTest.php";
$maxpoints = "";
if (!ilObjTest::_getHideTitlePoints($active_id))
{
$maxpoints = $this->object->getMaximumPoints();
if ($maxpoints == 1)
{
$maxpoints = " (".$maxpoints." ".$this->lng->txt("point").")";
}
else
{
$maxpoints = " (".$maxpoints." ".$this->lng->txt("points").")";
}
}
$page_gui->setPresentationTitle(sprintf($this->lng->txt("tst_position"), $this->getSequenceNumber(), $this->getQuestionCount())." - ".$this->object->getTitle().$postponed.$maxpoints);
$presentation = $page_gui->presentation();
if (strlen($maxpoints)) $presentation = str_replace($maxpoints, "<em>$maxpoints</em>", $presentation);
return $presentation;
}
Here is the call graph for this function:
Here is the caller graph for this function:| assQuestionGUI::removeSuggestedSolution | ( | ) |
Reimplemented in assClozeTestGUI.
Definition at line 645 of file class.assQuestionGUI.php.
{
$this->object->suggested_solutions = array();
$this->object->saveToDb();
$this->editQuestion();
}
| assQuestionGUI::save | ( | ) |
save question
Reimplemented in assTextSubsetGUI.
Definition at line 506 of file class.assQuestionGUI.php.
References $_GET, $_SESSION, $result, assQuestion::_isWriteable(), getErrorMessage(), originalSyncForm(), ilUtil::redirect(), sendInfo(), and writePostData().
Referenced by assImagemapQuestionGUI::saveShape().
{
global $ilUser;
$old_id = $_GET["q_id"];
$result = $this->writePostData();
if ($result == 0)
{
$ilUser->setPref("tst_lastquestiontype", $this->object->getQuestionType());
$ilUser->writePref("tst_lastquestiontype", $this->object->getQuestionType());
$this->object->saveToDb();
$originalexists = $this->object->_questionExists($this->object->original_id);
include_once "./assessment/classes/class.assQuestion.php";
if ($_GET["calling_test"] && $originalexists && assQuestion::_isWriteable($this->object->original_id, $ilUser->getId()))
{
$this->originalSyncForm();
}
elseif ($_GET["calling_test"])
{
$_GET["ref_id"] = $_GET["calling_test"];
ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=".$_GET["calling_test"]);
return;
}
elseif ($_GET["test_ref_id"])
{
include_once ("./assessment/classes/class.ilObjTest.php");
$_GET["ref_id"] = $_GET["test_ref_id"];
$test =& new ilObjTest($_GET["test_ref_id"], true);
$test->insertQuestion($this->object->getId());
ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=".$_GET["test_ref_id"]);
}
else
{
$_GET["q_id"] = $this->object->getId();
if ($_GET["q_id"] != $old_id)
{
// first save
$this->ctrl->setParameterByClass($_GET["cmdClass"], "q_id", $this->object->getId());
$this->ctrl->setParameterByClass($_GET["cmdClass"], "sel_question_types", $_GET["sel_question_types"]);
sendInfo($this->lng->txt("msg_obj_modified"), true);
$this->ctrl->redirectByClass($_GET["cmdClass"], "editQuestion");
}
if (strcmp($_SESSION["info"], "") != 0)
{
sendInfo($_SESSION["info"] . "<br />" . $this->lng->txt("msg_obj_modified"), false);
}
else
{
sendInfo($this->lng->txt("msg_obj_modified"), false);
}
$this->editQuestion();
// $this->ctrl->setParameterByClass("ilpageobjectgui", "q_id", $this->object->getId());
// $this->ctrl->redirectByClass("ilpageobjectgui", "view");
}
}
else
{
sendInfo($this->getErrorMessage());
$this->editQuestion();
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| assQuestionGUI::saveEdit | ( | ) |
save question
Reimplemented in assTextSubsetGUI.
Definition at line 450 of file class.assQuestionGUI.php.
References $_GET, $_SESSION, $result, assQuestion::_isWriteable(), originalSyncForm(), ilUtil::redirect(), sendInfo(), and writePostData().
{
global $ilUser;
$result = $this->writePostData();
if ($result == 0)
{
$ilUser->setPref("tst_lastquestiontype", $this->object->getQuestionType());
$ilUser->writePref("tst_lastquestiontype", $this->object->getQuestionType());
$this->object->saveToDb();
$originalexists = $this->object->_questionExists($this->object->original_id);
include_once "./assessment/classes/class.assQuestion.php";
if ($_GET["calling_test"] && $originalexists && assQuestion::_isWriteable($this->object->original_id, $ilUser->getId()))
{
$this->originalSyncForm();
}
elseif ($_GET["calling_test"])
{
$_GET["ref_id"] = $_GET["calling_test"];
ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=".$_GET["calling_test"]);
return;
}
elseif ($_GET["test_ref_id"])
{
include_once ("./assessment/classes/class.ilObjTest.php");
$_GET["ref_id"] = $_GET["test_ref_id"];
$test =& new ilObjTest($_GET["test_ref_id"], true);
$test->insertQuestion($this->object->getId());
ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=".$_GET["test_ref_id"]);
}
else
{
$_GET["q_id"] = $this->object->getId();
$this->editQuestion();
if (strcmp($_SESSION["info"], "") != 0)
{
sendInfo($_SESSION["info"] . "<br />" . $this->lng->txt("msg_obj_modified"), false);
}
else
{
sendInfo($this->lng->txt("msg_obj_modified"), false);
}
$this->ctrl->setParameterByClass("ilpageobjectgui", "q_id", $this->object->getId());
$this->ctrl->redirectByClass("ilpageobjectgui", "view");
}
}
else
{
sendInfo($this->lng->txt("fill_out_all_required_fields"));
$this->editQuestion();
}
}
Here is the call graph for this function:| assQuestionGUI::setErrorMessage | ( | $ | errormessage | ) |
Definition at line 830 of file class.assQuestionGUI.php.
References $errormessage.
Referenced by assTextSubsetGUI::writePostData(), assTextQuestionGUI::writePostData(), assSingleChoiceGUI::writePostData(), assOrderingQuestionGUI::writePostData(), assNumericGUI::writePostData(), assMultipleChoiceGUI::writePostData(), assMatchingQuestionGUI::writePostData(), and assJavaAppletGUI::writePostData().
{
$this->errormessage = $errormessage;
}
Here is the caller graph for this function:| assQuestionGUI::setQuestionCount | ( | $ | a_question_count | ) |
Definition at line 815 of file class.assQuestionGUI.php.
{
$this->question_count = $a_question_count;
}
| assQuestionGUI::setSequenceNumber | ( | $ | nr | ) |
Definition at line 805 of file class.assQuestionGUI.php.
{
$this->sequence_no = $nr;
}
| assQuestionGUI::sync | ( | ) |
Definition at line 430 of file class.assQuestionGUI.php.
References $_GET, and ilUtil::redirect().
{
$original_id = $this->object->original_id;
if ($original_id)
{
$this->object->syncWithOriginal();
}
$_GET["ref_id"] = $_GET["calling_test"];
ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id=".$_GET["calling_test"]);
}
Here is the call graph for this function:| assQuestionGUI::writeOtherPostData | ( | $ | result = 0 |
) |
Sets the other data i.e.
estimated working time of a question from a posted create/edit form
Sets the other data i.e. estimated working time of a question from a posted create/edit form
Definition at line 239 of file class.assQuestionGUI.php.
References $_POST, and ilUtil::stripSlashes().
Referenced by assTextSubsetGUI::writePostData(), assTextQuestionGUI::writePostData(), assSingleChoiceGUI::writePostData(), assOrderingQuestionGUI::writePostData(), assNumericGUI::writePostData(), assMultipleChoiceGUI::writePostData(), assMatchingQuestionGUI::writePostData(), assJavaAppletGUI::writePostData(), assImagemapQuestionGUI::writePostData(), and assClozeTestGUI::writePostData().
{
$this->object->setEstimatedWorkingTime(
ilUtil::stripSlashes($_POST["Estimated"][h]),
ilUtil::stripSlashes($_POST["Estimated"][m]),
ilUtil::stripSlashes($_POST["Estimated"][s])
);
$saved = false;
return $saved;
}
Here is the call graph for this function:
Here is the caller graph for this function:| assQuestionGUI::writePostData | ( | ) |
Evaluates a posted edit form and writes the form data in the question object.
Evaluates a posted edit form and writes the form data in the question object
Reimplemented in assClozeTestGUI, assImagemapQuestionGUI, assJavaAppletGUI, assMatchingQuestionGUI, assMultipleChoiceGUI, assNumericGUI, assOrderingQuestionGUI, assSingleChoiceGUI, assTextQuestionGUI, and assTextSubsetGUI.
Definition at line 153 of file class.assQuestionGUI.php.
Referenced by assQuestionTypeTemplateGUI::addSuggestedSolution(), apply(), save(), and saveEdit().
{
}
Here is the caller graph for this function:| assQuestionGUI::$error |
Definition at line 50 of file class.assQuestionGUI.php.
| assQuestionGUI::$errormessage |
Definition at line 51 of file class.assQuestionGUI.php.
Referenced by setErrorMessage().
| assQuestionGUI::$lng |
Definition at line 49 of file class.assQuestionGUI.php.
Referenced by assQuestionGUI().
| assQuestionGUI::$object |
Definition at line 46 of file class.assQuestionGUI.php.
| assQuestionGUI::$question_count |
question count in test
Definition at line 60 of file class.assQuestionGUI.php.
| assQuestionGUI::$sequence_no |
sequence number in test
Definition at line 56 of file class.assQuestionGUI.php.
| assQuestionGUI::$tpl |
Definition at line 48 of file class.assQuestionGUI.php.
Referenced by assQuestionGUI().
1.7.1