Java applet question GUI representation. More...
Public Member Functions | |
assJavaAppletGUI ($id=-1) | |
assJavaAppletGUI constructor | |
getQuestionType () | |
Returns the question type string. | |
getCommand ($cmd) | |
editQuestion () | |
Creates an output of the edit form for the question. | |
uploadingJavaApplet () | |
save question to db and return to question pool | |
removeJavaapplet () | |
save question to db and return to question pool | |
addParameter () | |
save question to db and return to question pool | |
delete () | |
delete a parameter | |
writePostData () | |
Evaluates a posted edit form and writes the form data in the question object. | |
outQuestionForTest ($formaction, $active_id, $pass=NULL, $is_postponed=FALSE, $use_post_solutions=FALSE) | |
getSolutionOutput ($active_id, $pass=NULL, $graphicalOutput=FALSE, $result_output=FALSE, $show_question_only=TRUE) | |
getPreview () | |
getTestOutput ($active_id, $pass=NULL, $is_postponed=FALSE, $use_post_solutions=FALSE) | |
checkInput () | |
check input fields | |
addSuggestedSolution () | |
Handler for cmd[addSuggestedSolution] to add a suggested solution for the question. |
Java applet question GUI representation.
The assJavaAppletGUI class encapsulates the GUI representation for java applet questions.
class.assJavaAppletGUI.php Assessment
Definition at line 38 of file class.assJavaAppletGUI.php.
assJavaAppletGUI::addParameter | ( | ) |
save question to db and return to question pool
Definition at line 295 of file class.assJavaAppletGUI.php.
References editQuestion(), and writePostData().
{ $this->writePostData(); $this->editQuestion(); }
assJavaAppletGUI::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 from assQuestionGUI.
Definition at line 734 of file class.assJavaAppletGUI.php.
References $_GET, $_POST, $_SESSION, $result, editQuestion(), assQuestionGUI::getErrorMessage(), assQuestionGUI::getQuestionTemplate(), sendInfo(), and writePostData().
{ $_SESSION["subquestion_index"] = 0; if ($_POST["cmd"]["addSuggestedSolution"]) { if ($this->writePostData()) { sendInfo($this->getErrorMessage()); $this->editQuestion(); return; } if ($result != 0) { $this->editQuestion(); return; } } $this->object->saveToDb(); $_GET["q_id"] = $this->object->getId(); $this->tpl->setVariable("HEADER", $this->object->getTitle()); $this->getQuestionTemplate(); parent::addSuggestedSolution(); }
assJavaAppletGUI::assJavaAppletGUI | ( | $ | id = -1 |
) |
assJavaAppletGUI constructor
The constructor takes possible arguments an creates an instance of the assJavaAppletGUI object.
integer | $id The database id of a image map question object public |
Definition at line 48 of file class.assJavaAppletGUI.php.
References $id, and assQuestionGUI::assQuestionGUI().
{ $this->assQuestionGUI(); include_once "./assessment/classes/class.assJavaApplet.php"; $this->object = new assJavaApplet(); if ($id >= 0) { $this->object->loadFromDb($id); } }
assJavaAppletGUI::checkInput | ( | ) |
check input fields
Definition at line 723 of file class.assJavaAppletGUI.php.
References $_POST.
Referenced by writePostData().
{ if ((strlen($_POST["title"]) == 0) or (strlen($_POST["author"]) == 0) or (strlen($_POST["question"]) == 0) or (strlen($_POST["applet_points"]) == 0)) { $this->error .= $this->lng->txt("fill_out_all_required_fields"); return false; } return true; }
assJavaAppletGUI::delete | ( | ) |
delete a parameter
Definition at line 304 of file class.assJavaAppletGUI.php.
References editQuestion(), and writePostData().
{ $this->writePostData(); $this->editQuestion(); }
assJavaAppletGUI::editQuestion | ( | ) |
Creates an output of the edit form for the question.
Creates an output of the edit form for the question
public
Definition at line 90 of file class.assJavaAppletGUI.php.
References $_GET, $key, $obj_id, assQuestion::_getInternalLinkHref(), ilRTE::_getRTEClassname(), ilObject::_lookupType(), assQuestionGUI::getQuestionTemplate(), assQuestionGUI::outOtherQuestionData(), ilUtil::prepareFormOutput(), and sendInfo().
Referenced by addParameter(), addSuggestedSolution(), delete(), removeJavaapplet(), and uploadingJavaApplet().
{ $this->getQuestionTemplate(); $this->tpl->addBlockFile("QUESTION_DATA", "question_data", "tpl.il_as_qpl_javaapplet_question.html", true); if ($this->error) { sendInfo($this->error); } // call to other question data i.e. estimated working time block $this->outOtherQuestionData(); // image block $this->tpl->setCurrentBlock("post_save"); $internallinks = array( "lm" => $this->lng->txt("obj_lm"), "st" => $this->lng->txt("obj_st"), "pg" => $this->lng->txt("obj_pg"), "glo" => $this->lng->txt("glossary_term") ); foreach ($internallinks as $key => $value) { $this->tpl->setCurrentBlock("internallink"); $this->tpl->setVariable("TYPE_INTERNAL_LINK", $key); $this->tpl->setVariable("TEXT_INTERNAL_LINK", $value); $this->tpl->parseCurrentBlock(); } $this->tpl->setVariable("TEXT_SOLUTION_HINT", $this->lng->txt("solution_hint")); if (count($this->object->suggested_solutions)) { $solution_array = $this->object->getSuggestedSolution(0); include_once "./assessment/classes/class.assQuestion.php"; $href = assQuestion::_getInternalLinkHref($solution_array["internal_link"]); $this->tpl->setVariable("TEXT_VALUE_SOLUTION_HINT", " <a href=\"$href\" target=\"content\">" . $this->lng->txt("solution_hint"). "</a> "); $this->tpl->setVariable("BUTTON_REMOVE_SOLUTION", $this->lng->txt("remove")); $this->tpl->setVariable("BUTTON_ADD_SOLUTION", $this->lng->txt("change")); $this->tpl->setVariable("VALUE_SOLUTION_HINT", $solution_array["internal_link"]); } else { $this->tpl->setVariable("BUTTON_ADD_SOLUTION", $this->lng->txt("add")); } // java applet block $javaapplet = $this->object->getJavaAppletFilename(); $this->tpl->setVariable("TEXT_JAVAAPPLET", $this->lng->txt("javaapplet")); if (!empty($javaapplet)) { $this->tpl->setVariable("JAVAAPPLET_FILENAME", $javaapplet); $this->tpl->setVariable("VALUE_JAVAAPPLET_UPLOAD", $this->lng->txt("change")); $this->tpl->setCurrentBlock("javaappletupload"); $this->tpl->setVariable("UPLOADED_JAVAAPPLET", $javaapplet); $this->tpl->parse("javaappletupload"); $this->tpl->setCurrentBlock("delete_applet"); $this->tpl->setVariable("VALUE_JAVAAPPLET_DELETE", $this->lng->txt("delete")); $this->tpl->parseCurrentBlock(); } else { $this->tpl->setVariable("VALUE_JAVAAPPLET_UPLOAD", $this->lng->txt("upload")); } $this->tpl->setVariable("TEXT_POINTS", $this->lng->txt("available_points")); $this->tpl->setVariable("VALUE_APPLET_POINTS", $this->object->getPoints()); $this->tpl->parseCurrentBlock(); if ((strlen($this->object->getTitle()) > 0) && (strlen($this->object->getAuthor()) > 0) && (strlen($this->object->getQuestion()) > 0) && ($this->object->getPoints() > 0)) { $emptyname = 0; for ($i = 0; $i < $this->object->getParameterCount(); $i++) { // create template for existing applet parameters $this->tpl->setCurrentBlock("delete_parameter"); $this->tpl->setVariable("VALUE_DELETE_PARAMETER", $this->lng->txt("delete")); $this->tpl->setVariable("DELETE_PARAMETER_COUNT", $i); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("applet_parameter"); $this->tpl->setVariable("PARAM_PARAM", $this->lng->txt("applet_parameter") . " " . ($i+1)); $this->tpl->setVariable("PARAM_NAME", $this->lng->txt("name")); $this->tpl->setVariable("PARAM_VALUE", $this->lng->txt("value")); $param = $this->object->getParameter($i); $this->tpl->setVariable("PARAM_NAME_VALUE", $param["name"]); $this->tpl->setVariable("PARAM_VALUE_VALUE", $param["value"]); $this->tpl->setVariable("PARAM_COUNTER", $i); $this->tpl->parseCurrentBlock(); if (!$param["name"]) { $emptyname = 1; } } if ($this->ctrl->getCmd() == "addParameter") { if ($emptyname == 0) { // create template for new applet parameter $this->tpl->setCurrentBlock("applet_parameter"); $this->tpl->setVariable("PARAM_PARAM", $this->lng->txt("applet_new_parameter")); $this->tpl->setVariable("PARAM_NAME", $this->lng->txt("name")); $this->tpl->setVariable("PARAM_VALUE", $this->lng->txt("value")); $this->tpl->setVariable("PARAM_COUNTER", $this->object->getParameterCount()); $this->tpl->parseCurrentBlock(); } else { sendInfo($this->lng->txt("too_many_empty_parameters")); } } if (!strlen($javaapplet)) { $this->tpl->setVariable("TEXT_ARCHIVE", $this->lng->txt("archive")); $this->tpl->setVariable("VALUE_ARCHIVE", $this->object->getJavaArchive()); $this->tpl->setVariable("TEXT_CODEBASE", $this->lng->txt("codebase")); $this->tpl->setVariable("VALUE_CODEBASE", $this->object->getJavaCodebase()); } $this->tpl->setCurrentBlock("appletcode"); $this->tpl->setVariable("APPLET_ATTRIBUTES", $this->lng->txt("applet_attributes")); $this->tpl->setVariable("TEXT_CODE", $this->lng->txt("code")); $this->tpl->setVariable("TEXT_WIDTH", $this->lng->txt("width")); $this->tpl->setVariable("TEXT_HEIGHT", $this->lng->txt("height")); $this->tpl->setVariable("VALUE_CODE", $this->object->getJavaCode()); $this->tpl->setVariable("VALUE_WIDTH", $this->object->getJavaWidth()); $this->tpl->setVariable("VALUE_HEIGHT", $this->object->getJavaHeight()); $this->tpl->setVariable("APPLET_PARAMETERS", $this->lng->txt("applet_parameters")); $this->tpl->setVariable("VALUE_ADD_PARAMETER", $this->lng->txt("add_applet_parameter")); $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock("HeadContent"); $javascript = "<script type=\"text/javascript\">function initialSelect() {\n%s\n}</script>"; $this->tpl->setVariable("CONTENT_BLOCK", sprintf($javascript, "document.frm_javaapplet.title.focus();")); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("question_data"); $this->tpl->setVariable("JAVAAPPLET_ID", $this->object->getId()); $this->tpl->setVariable("VALUE_JAVAAPPLET_TITLE", ilUtil::prepareFormOutput($this->object->getTitle())); $this->tpl->setVariable("VALUE_JAVAAPPLET_COMMENT", ilUtil::prepareFormOutput($this->object->getComment())); $this->tpl->setVariable("VALUE_JAVAAPPLET_AUTHOR", ilUtil::prepareFormOutput($this->object->getAuthor())); $questiontext = $this->object->getQuestion(); $this->tpl->setVariable("VALUE_QUESTION", ilUtil::prepareFormOutput($this->object->prepareTextareaOutput($questiontext))); $this->tpl->setVariable("TEXT_TITLE", $this->lng->txt("title")); $this->tpl->setVariable("TEXT_AUTHOR", $this->lng->txt("author")); $this->tpl->setVariable("TEXT_COMMENT", $this->lng->txt("description")); $this->tpl->setVariable("TEXT_QUESTION", $this->lng->txt("question")); $this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field")); $this->tpl->setVariable("SAVE",$this->lng->txt("save")); $this->tpl->setVariable("SAVE_EDIT", $this->lng->txt("save_edit")); $this->tpl->setVariable("CANCEL",$this->lng->txt("cancel")); $this->ctrl->setParameter($this, "sel_question_types", "assJavaApplet"); $this->tpl->setVariable("TEXT_QUESTION_TYPE", $this->lng->txt("assJavaApplet")); $formaction = $this->ctrl->getFormaction($this); if ($this->object->getId() > 0) { if (!preg_match("/q_id\=\d+/", $formaction)) { $formaction = str_replace("q_id=", "q_id=" . $this->object->getId(), $formaction); } } $this->tpl->setVariable("ACTION_JAVAAPPLET_QUESTION", $formaction); $this->tpl->parseCurrentBlock(); include_once "./Services/RTE/classes/class.ilRTE.php"; $rtestring = ilRTE::_getRTEClassname(); include_once "./Services/RTE/classes/class.$rtestring.php"; $rte = new $rtestring(); $rte->addPlugin("latex"); $rte->addButton("latex"); include_once "./classes/class.ilObject.php"; $obj_id = $_GET["q_id"]; $obj_type = ilObject::_lookupType($_GET["ref_id"], TRUE); $rte->addRTESupport($obj_id, $obj_type, "assessment"); $this->tpl->setCurrentBlock("adm_content"); $this->tpl->setVariable("BODY_ATTRIBUTES", " onload=\"initialSelect();\""); $this->tpl->parseCurrentBlock(); }
assJavaAppletGUI::getCommand | ( | $ | cmd | ) |
Reimplemented from assQuestionGUI.
Definition at line 74 of file class.assJavaAppletGUI.php.
References $cmd.
assJavaAppletGUI::getPreview | ( | ) |
Definition at line 546 of file class.assJavaAppletGUI.php.
{ // generate the question output include_once "./classes/class.ilTemplate.php"; $template = new ilTemplate("tpl.il_as_qpl_javaapplet_question_output.html", TRUE, TRUE, TRUE); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "question_id"); $template->setVariable("PARAM_VALUE", $this->object->getId()); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "points_max"); $template->setVariable("PARAM_VALUE", $this->object->getPoints()); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "session_id"); $template->setVariable("PARAM_VALUE", $_COOKIE["PHPSESSID"]); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "client"); $template->setVariable("PARAM_VALUE", CLIENT_ID); $template->parseCurrentBlock(); // additional parameters for ($i = 0; $i < $this->object->getParameterCount(); $i++) { $parameter = $this->object->getParameter($i); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", $parameter["name"]); $template->setVariable("PARAM_VALUE", $parameter["value"]); $template->parseCurrentBlock(); } $questiontext = $this->object->getQuestion(); $template->setVariable("QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE)); $template->setVariable("APPLET_WIDTH", $this->object->getJavaWidth()); $template->setVariable("APPLET_HEIGHT", $this->object->getJavaHeight()); $template->setVariable("APPLET_CODE", $this->object->getJavaCode()); if (strlen($this->object->getJavaArchive()) > 0) { $template->setVariable("APPLET_ARCHIVE", " archive=\"".$this->object->getJavaArchive()."\""); } else { if (strpos($this->object->getJavaAppletFilename(), ".jar") !== FALSE) { $template->setVariable("APPLET_ARCHIVE", " archive=\"".$this->object->getJavaPathWeb().$this->object->getJavaAppletFilename()."\""); } } if (strlen($this->object->getJavaCodebase()) > 0) { $template->setVariable("APPLET_CODEBASE", " codebase=\"".$this->object->getJavaCodebase()."\""); } else { if (strpos($this->object->getJavaAppletFilename(), ".class") !== FALSE) { $template->setVariable("APPLET_CODEBASE", " codebase=\"".$this->object->getJavaPathWeb()."\""); } } $questionoutput = $template->get(); $questionoutput = preg_replace("/<div[^>]*?>(.*)<\/div>/is", "\\1", $questionoutput); return $questionoutput; }
assJavaAppletGUI::getQuestionType | ( | ) |
Returns the question type string.
Returns the question type string
Reimplemented from assQuestionGUI.
Definition at line 69 of file class.assJavaAppletGUI.php.
{ return "assJavaApplet"; }
assJavaAppletGUI::getSolutionOutput | ( | $ | active_id, | |
$ | pass = NULL , |
|||
$ | graphicalOutput = FALSE , |
|||
$ | result_output = FALSE , |
|||
$ | show_question_only = TRUE | |||
) |
Definition at line 397 of file class.assJavaAppletGUI.php.
References ilObjTest::_getPass(), ilObjTest::_getTestType(), assQuestionGUI::getILIASPage(), and ilUtil::getImagePath().
{ $userdata = $this->object->getActiveUserData($active_id); // generate the question output include_once "./assessment/classes/class.ilObjTest.php"; include_once "./classes/class.ilTemplate.php"; $template = new ilTemplate("tpl.il_as_qpl_javaapplet_question_output_solution.html", TRUE, TRUE, TRUE); $solutiontemplate = new ilTemplate("tpl.il_as_tst_solution_output.html", TRUE, TRUE, TRUE); if ($active_id > 0) { $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "test_type"); $template->setVariable("PARAM_VALUE", ilObjTest::_getTestType($active_id)); $template->parseCurrentBlock(); } if (strlen($userdata["test_id"])) { $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "test_id"); $template->setVariable("PARAM_VALUE", $userdata["test_id"]); $template->parseCurrentBlock(); } $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "question_id"); $template->setVariable("PARAM_VALUE", $this->object->getId()); $template->parseCurrentBlock(); if (strlen($userdata["user_id"])) { $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "user_id"); $template->setVariable("PARAM_VALUE", $userdata["user_id"]); $template->parseCurrentBlock(); } $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "points_max"); $template->setVariable("PARAM_VALUE", $this->object->getPoints()); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "session_id"); $template->setVariable("PARAM_VALUE", $_COOKIE["PHPSESSID"]); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "client"); $template->setVariable("PARAM_VALUE", CLIENT_ID); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "pass"); $actualpass = ilObjTest::_getPass($active_id); $template->setVariable("PARAM_VALUE", $actualpass); $template->parseCurrentBlock(); // additional parameters for ($i = 0; $i < $this->object->getParameterCount(); $i++) { $parameter = $this->object->getParameter($i); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", $parameter["name"]); $template->setVariable("PARAM_VALUE", $parameter["value"]); $template->parseCurrentBlock(); } if ($active_id) { $solutions = NULL; include_once "./assessment/classes/class.ilObjTest.php"; $info = $this->object->getReachedInformation($active_id, $pass); foreach ($info as $kk => $infodata) { $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "value_" . $infodata["order"] . "_1"); $template->setVariable("PARAM_VALUE", $infodata["value1"]); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "value_" . $infodata["order"] . "_2"); $template->setVariable("PARAM_VALUE", $infodata["value2"]); $template->parseCurrentBlock(); } } $questiontext = $this->object->getQuestion(); $template->setVariable("QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE)); $template->setVariable("APPLET_WIDTH", $this->object->getJavaWidth()); $template->setVariable("APPLET_HEIGHT", $this->object->getJavaHeight()); $template->setVariable("APPLET_CODE", $this->object->getJavaCode()); if (strlen($this->object->getJavaArchive()) > 0) { $template->setVariable("APPLET_ARCHIVE", " archive=\"".$this->object->getJavaArchive()."\""); } else { if (strpos($this->object->getJavaAppletFilename(), ".jar") !== FALSE) { $template->setVariable("APPLET_ARCHIVE", " archive=\"".$this->object->getJavaPathWeb().$this->object->getJavaAppletFilename()."\""); } } if (strlen($this->object->getJavaCodebase()) > 0) { $template->setVariable("APPLET_CODEBASE", " codebase=\"".$this->object->getJavaCodebase()."\""); } else { if (strpos($this->object->getJavaAppletFilename(), ".class") !== FALSE) { $template->setVariable("APPLET_CODEBASE", " codebase=\"".$this->object->getJavaPathWeb()."\""); } } if ($active_id) { if ($graphicalOutput) { // output of ok/not ok icons for user entered solutions $reached_points = $this->object->getReachedPoints($active_id); if ($reached_points == $this->object->getMaximumPoints()) { $template->setCurrentBlock("icon_ok"); $template->setVariable("ICON_OK", ilUtil::getImagePath("icon_ok.gif")); $template->setVariable("TEXT_OK", $this->lng->txt("answer_is_right")); $template->parseCurrentBlock(); } else { $template->setCurrentBlock("icon_ok"); if ($reached_points > 0) { $template->setVariable("ICON_NOT_OK", ilUtil::getImagePath("icon_mostly_ok.gif")); $template->setVariable("TEXT_NOT_OK", $this->lng->txt("answer_is_not_correct_but_positive")); } else { $template->setVariable("ICON_NOT_OK", ilUtil::getImagePath("icon_not_ok.gif")); $template->setVariable("TEXT_NOT_OK", $this->lng->txt("answer_is_wrong")); } $template->parseCurrentBlock(); } } } $questionoutput = $template->get(); $solutiontemplate->setVariable("SOLUTION_OUTPUT", $questionoutput); $solutionoutput = $solutiontemplate->get(); if (!$show_question_only) { // get page object output $pageoutput = $this->getILIASPage(); $solutionoutput = preg_replace("/(<div( xmlns:xhtml\=\"http:\/\/www.w3.org\/1999\/xhtml\"){0,1} class\=\"ilc_Question\"><\/div>)/ims", $solutionoutput, $pageoutput); } return $solutionoutput; }
assJavaAppletGUI::getTestOutput | ( | $ | active_id, | |
$ | pass = NULL , |
|||
$ | is_postponed = FALSE , |
|||
$ | use_post_solutions = FALSE | |||
) |
Definition at line 609 of file class.assJavaAppletGUI.php.
References ilObjTest::_getHidePreviousResults(), ilObjTest::_getPass(), ilObjTest::_getTestType(), assQuestionGUI::outQuestionPage(), and ilUtil::removeTrailingPathSeparators().
Referenced by outQuestionForTest().
{ // get page object output $pageoutput = $this->outQuestionPage("", $is_postponed, $active_id); $userdata = $this->object->getActiveUserData($active_id); // generate the question output include_once "./classes/class.ilTemplate.php"; include_once "./assessment/classes/class.ilObjTest.php"; $template = new ilTemplate("tpl.il_as_qpl_javaapplet_question_output.html", TRUE, TRUE, TRUE); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "test_type"); $template->setVariable("PARAM_VALUE", ilObjTest::_getTestType($active_id)); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "test_id"); $template->setVariable("PARAM_VALUE", $userdata["test_id"]); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "question_id"); $template->setVariable("PARAM_VALUE", $this->object->getId()); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "user_id"); $template->setVariable("PARAM_VALUE", $userdata["user_id"]); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "points_max"); $template->setVariable("PARAM_VALUE", $this->object->getPoints()); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "session_id"); $template->setVariable("PARAM_VALUE", $_COOKIE["PHPSESSID"]); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "client"); $template->setVariable("PARAM_VALUE", CLIENT_ID); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "pass"); $actualpass = ilObjTest::_getPass($active_id); $template->setVariable("PARAM_VALUE", $actualpass); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "post_url"); $template->setVariable("PARAM_VALUE", ilUtil::removeTrailingPathSeparators(ILIAS_HTTP_PATH) . "/assessment/save_question_post_data.php"); $template->parseCurrentBlock(); // additional parameters for ($i = 0; $i < $this->object->getParameterCount(); $i++) { $parameter = $this->object->getParameter($i); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", $parameter["name"]); $template->setVariable("PARAM_VALUE", $parameter["value"]); $template->parseCurrentBlock(); } if ($active_id) { $solutions = NULL; include_once "./assessment/classes/class.ilObjTest.php"; if (ilObjTest::_getHidePreviousResults($active_id, true)) { if (is_null($pass)) $pass = ilObjTest::_getPass($active_id); } $info = $this->object->getReachedInformation($active_id, $pass); foreach ($info as $kk => $infodata) { $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "value_" . $infodata["order"] . "_1"); $template->setVariable("PARAM_VALUE", $infodata["value1"]); $template->parseCurrentBlock(); $template->setCurrentBlock("appletparam"); $template->setVariable("PARAM_NAME", "value_" . $infodata["order"] . "_2"); $template->setVariable("PARAM_VALUE", $infodata["value2"]); $template->parseCurrentBlock(); } } $questiontext = $this->object->getQuestion(); $template->setVariable("QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE)); $template->setVariable("APPLET_WIDTH", $this->object->getJavaWidth()); $template->setVariable("APPLET_HEIGHT", $this->object->getJavaHeight()); $template->setVariable("APPLET_CODE", $this->object->getJavaCode()); if (strlen($this->object->getJavaArchive()) > 0) { $template->setVariable("APPLET_ARCHIVE", " archive=\"".$this->object->getJavaArchive()."\""); } else { if (strpos($this->object->getJavaAppletFilename(), ".jar") !== FALSE) { $template->setVariable("APPLET_ARCHIVE", " archive=\"".$this->object->getJavaPathWeb().$this->object->getJavaAppletFilename()."\""); } } if (strlen($this->object->getJavaCodebase()) > 0) { $template->setVariable("APPLET_CODEBASE", " codebase=\"".$this->object->getJavaCodebase()."\""); } else { if (strpos($this->object->getJavaAppletFilename(), ".class") !== FALSE) { $template->setVariable("APPLET_CODEBASE", " codebase=\"".$this->object->getJavaPathWeb()."\""); } } $questionoutput = $template->get(); $questionoutput = preg_replace("/(<div( xmlns:xhtml\=\"http:\/\/www.w3.org\/1999\/xhtml\"){0,1} class\=\"ilc_Question\"><\/div>)/ims", $questionoutput, $pageoutput); return $questionoutput; }
assJavaAppletGUI::outQuestionForTest | ( | $ | formaction, | |
$ | active_id, | |||
$ | pass = NULL , |
|||
$ | is_postponed = FALSE , |
|||
$ | use_post_solutions = FALSE | |||
) |
Definition at line 390 of file class.assJavaAppletGUI.php.
References getTestOutput().
{ $test_output = $this->getTestOutput($active_id, $pass, $is_postponed, $use_post_solutions); $this->tpl->setVariable("QUESTION_OUTPUT", $test_output); $this->tpl->setVariable("FORMACTION", $formaction); }
assJavaAppletGUI::removeJavaapplet | ( | ) |
save question to db and return to question pool
Definition at line 285 of file class.assJavaAppletGUI.php.
References editQuestion().
{ $this->object->deleteJavaAppletFilename(); $this->object->saveToDb(); $this->editQuestion(); }
assJavaAppletGUI::uploadingJavaApplet | ( | ) |
save question to db and return to question pool
Definition at line 271 of file class.assJavaAppletGUI.php.
References $result, editQuestion(), and writePostData().
{ $result = $this->writePostData(); if ($result == 0) { $this->object->saveToDb(); } $this->editQuestion(); }
assJavaAppletGUI::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 from assQuestionGUI.
Definition at line 318 of file class.assJavaAppletGUI.php.
References $_POST, $key, $result, ilObjAdvancedEditing::_getUsedHTMLTagsAsString(), checkInput(), assQuestionGUI::setErrorMessage(), ilUtil::stripSlashes(), and assQuestionGUI::writeOtherPostData().
Referenced by addParameter(), addSuggestedSolution(), delete(), and uploadingJavaApplet().
{ $result = 0; $saved = false; if (!$this->checkInput()) { $result = 1; } $this->object->setTitle(ilUtil::stripSlashes($_POST["title"])); $this->object->setAuthor(ilUtil::stripSlashes($_POST["author"])); $this->object->setComment(ilUtil::stripSlashes($_POST["comment"])); include_once "./classes/class.ilObjAdvancedEditing.php"; $questiontext = ilUtil::stripSlashes($_POST["question"], false, ilObjAdvancedEditing::_getUsedHTMLTagsAsString("assessment")); $this->object->setQuestion($questiontext); $this->object->setSuggestedSolution($_POST["solution_hint"], 0); $this->object->setShuffle($_POST["shuffle"]); $this->object->setPoints($_POST["applet_points"]); if ($_POST["applet_points"] < 0) { $result = 1; $this->setErrorMessage($this->lng->txt("negative_points_not_allowed")); } // adding estimated working time $saved = $saved | $this->writeOtherPostData($result); if ($result == 0) { //setting java applet if (empty($_FILES['javaappletName']['tmp_name'])) { $this->object->setJavaAppletFilename(ilUtil::stripSlashes($_POST['uploaded_javaapplet'])); } else { if ($this->object->getId() < 1) { $saved = 1; $this->object->saveToDb(); } $this->object->setJavaAppletFilename($_FILES['javaappletName']['name'], $_FILES['javaappletName']['tmp_name']); } if ((strlen($this->object->getTitle()) > 0) && (strlen($this->object->getAuthor()) > 0) && (strlen($this->object->getQuestion()) > 0) && ($this->object->getPoints() > 0) && array_key_exists("java_height", $_POST)) { $this->object->setJavaCode($_POST["java_code"]); $this->object->setJavaCodebase($_POST["java_codebase"]); $this->object->setJavaArchive($_POST["java_archive"]); $this->object->setJavaWidth($_POST["java_width"]); $this->object->setJavaHeight($_POST["java_height"]); if ((!$_POST["java_width"]) or (!$_POST["java_height"])) $result = 1; $this->object->flushParams(); foreach ($_POST as $key => $value) { if (preg_match("/param_name_(\d+)/", $key, $matches)) { $this->object->addParameterAtIndex($matches[1], $value, $_POST["param_value_$matches[1]"]); } } if (preg_match("/delete_(\d+)/", $this->ctrl->getCmd(), $matches)) { $this->object->removeParameter($_POST["param_name_$matches[1]"]); } } } if ($saved) { $this->object->saveToDb(); $this->error .= $this->lng->txt("question_saved_for_upload"); } return $result; }