ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilTestScoringGUI Class Reference

Scoring class for tests. More...

+ Inheritance diagram for ilTestScoringGUI:
+ Collaboration diagram for ilTestScoringGUI:

Public Member Functions

 ilTestScoringGUI ($a_object)
 ilTestScoringGUI constructor
executeCommand ()
 execute command
 selectParticipant ()
 Selects a participant for manual scoring.
 manscoring ($active_id=0)
 Shows the test scoring GUI.
 setPointsManual ()
 Sets the points of a question manually.
 setFeedbackManual ()
- Public Member Functions inherited from ilTestServiceGUI
 ilTestServiceGUI ($a_object)
 ilTestScoringGUI constructor
 getCommand ($cmd)
 Retrieves the ilCtrl command.
 getPassOverview ($active_id, $targetclass="", $targetcommand="", $short=FALSE, $hide_details=FALSE)
 Returns the pass overview for a given active ID.
 getFinalStatement (&$test_data_array)
 Returns the final statement for a user.
 getPassListOfAnswers (&$result_array, $active_id, $pass, $show_solutions=FALSE, $only_answered_questions=FALSE, $show_question_only=FALSE, $show_reached_points=FALSE)
 Returns the list of answers of a users test pass.
 getPassListOfAnswersWithScoring (&$result_array, $active_id, $pass, $show_solutions=FALSE)
 Returns the list of answers of a users test pass and offers a scoring option.
 getPassDetailsOverview ($result_array, $active_id, $pass, $targetclass="", $targetcommandsort="", $targetcommanddetails="", $standard_header=TRUE)
 Returns the pass details overview for a given active ID and pass.
 getResultsSignature ()
 Returns HTML code for a signature field.
 getResultsUserdata ($active_id, $overwrite_anonymity=FALSE)
 Returns the user data for a test results output.
 getCorrectSolutionOutput ($question_id, $active_id, $pass)
 Returns an output of the solution to an answer compared to the correct solution.
 getResultsOfUserOutput ($active_id, $pass, $show_pass_details=TRUE, $show_answers=TRUE, $show_question_only=FALSE, $show_reached_points=FALSE)
 Output of the pass overview for a test called by a test participant.
 getResultsHeadUserAndPass ($active_id, $pass)
 Returns the user and pass data for a test results output.
 getQuestionResultForTestUsers ($question_id, $test_id)
 Creates a HTML representation for the results of a given question in a test.

Additional Inherited Members

- Data Fields inherited from ilTestServiceGUI
 $object
 $lng
 $tpl
 $ctrl
 $ilias
 $tree
 $ref_id

Detailed Description

Scoring class for tests.

Author
Helmut Schottmüller helmu.nosp@m.t.sc.nosp@m.hottm.nosp@m.uell.nosp@m.er@ma.nosp@m.c.co.nosp@m.m
Version
$Id$

Definition at line 36 of file class.ilTestScoringGUI.php.

Member Function Documentation

& ilTestScoringGUI::executeCommand ( )

execute command

Reimplemented from ilTestServiceGUI.

Definition at line 57 of file class.ilTestScoringGUI.php.

References $cmd, $ret, and ilTestServiceGUI\getCommand().

{
$cmd = $this->ctrl->getCmd();
$next_class = $this->ctrl->getNextClass($this);
if (strlen($cmd) == 0)
{
$this->ctrl->redirect($this, "manscoring");
}
$cmd = $this->getCommand($cmd);
switch($next_class)
{
default:
$ret =& $this->$cmd();
break;
}
return $ret;
}

+ Here is the call graph for this function:

ilTestScoringGUI::ilTestScoringGUI (   $a_object)

ilTestScoringGUI constructor

The constructor takes the test object reference as parameter

Parameters
object$a_objectAssociated ilObjTest class public

Definition at line 47 of file class.ilTestScoringGUI.php.

References ilTestServiceGUI\ilTestServiceGUI().

{
$this->ctrl->saveParameter($this, "active_id");
$this->ctrl->saveParameter($this, "pass");
}

+ Here is the call graph for this function:

ilTestScoringGUI::manscoring (   $active_id = 0)

Shows the test scoring GUI.

Parameters
integer$active_idThe acitve ID of the participant to score

Definition at line 89 of file class.ilTestScoringGUI.php.

References $_GET, $data, $pass, ilObjAssessmentFolder\_getManualScoring(), ilRTE\_getRTEClassname(), ilObject\_lookupObjectId(), ilObject\_lookupType(), ilTestServiceGUI\getPassListOfAnswersWithScoring(), ilTestServiceGUI\getPassOverview(), and ilUtil\sendInfo().

Referenced by selectParticipant(), and setPointsManual().

{
global $ilAccess;
if (!$ilAccess->checkAccess("write", "", $this->ref_id))
{
// allow only write access
ilUtil::sendInfo($this->lng->txt("cannot_edit_test"), true);
$this->ctrl->redirectByClass("ilobjtestgui", "infoScreen");
}
include_once "./Modules/Test/classes/class.ilObjAssessmentFolder.php";
if (count($scoring) == 0)
{
// allow only if question types are marked for manual scoring
ilUtil::sendInfo($this->lng->txt("manscoring_not_allowed"));
return;
}
if ((!($active_id > 0)) && (array_key_exists("active_id", $_GET)))
{
if (strlen($_GET["active_id"])) $active_id = $_GET["active_id"];
}
$pass = $this->object->_getResultPass($active_id);
if (array_key_exists("pass", $_GET))
{
if (strlen($_GET["pass"]))
{
$maxpass = $this->object->_getMaxPass($active_id);
if ($_GET["pass"] <= $maxpass) $pass = $_GET["pass"];
}
}
$participants =& $this->object->getTestParticipants();
if (count($participants) == 0)
{
ilUtil::sendInfo($this->lng->txt("tst_participants_no"));
return;
}
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_as_tst_manual_scoring.html", "Modules/Test");
if (array_key_exists("question", $_POST))
{
$keys = array_keys($_POST["question"]);
$question_id = $keys[0];
$this->tpl->setCurrentBlock("lastchanged");
$this->tpl->setVariable("LAST_CHANGED", $question_id);
$this->tpl->parseCurrentBlock();
}
$counter = 1;
foreach ($participants as $participant_active_id => $data)
{
$this->tpl->setCurrentBlock("participants");
$this->tpl->setVariable("ID_PARTICIPANT", $data->active_id);
$suffix = "";
if ($this->object->getAnonymity())
{
$suffix = " " . $counter++;
}
if ($active_id > 0)
{
if ($active_id == $data->active_id)
{
$this->tpl->setVariable("SELECTED_PARTICIPANT", " selected=\"selected\"");
}
}
$this->tpl->setVariable("TEXT_PARTICIPANT", $this->object->userLookupFullName($data->usr_id, FALSE, TRUE, $suffix));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setVariable("PLEASE_SELECT", $this->lng->txt("please_select"));
$this->tpl->setVariable("BUTTON_SELECT", $this->lng->txt("select"));
$this->tpl->setVariable("TEXT_SELECT_USER", $this->lng->txt("manscoring_select_user"));
if ($active_id > 0)
{
// print pass overview
if ($this->object->getNrOfTries() != 1)
{
$overview = $this->getPassOverview($active_id, "iltestscoringgui", "manscoring");
$this->tpl->setVariable("PASS_OVERVIEW", $overview);
}
// print pass details with scoring
if (strlen($pass))
{
$result_array =& $this->object->getTestResult($active_id, $pass);
$scoring = $this->getPassListOfAnswersWithScoring($result_array, $active_id, $pass, TRUE);
$this->tpl->setVariable("SCORING_DATA", $scoring);
}
}
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this, "selectParticipant"));
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"); $rte->addButton("pastelatex");
include_once "./classes/class.ilObject.php";
$obj_id = ilObject::_lookupObjectId($_GET["ref_id"]);
$obj_type = ilObject::_lookupType($_GET["ref_id"], TRUE);
$rte->addRTESupport($obj_id, "fdb", "assessment");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilTestScoringGUI::selectParticipant ( )

Selects a participant for manual scoring.

Definition at line 79 of file class.ilTestScoringGUI.php.

References manscoring().

{
$this->manscoring($_POST["participants"]);
}

+ Here is the call graph for this function:

ilTestScoringGUI::setFeedbackManual ( )

Definition at line 218 of file class.ilTestScoringGUI.php.

References $_GET, $result, ilObjAdvancedEditing\_getUsedHTMLTagsAsString(), ilUtil\sendInfo(), setPointsManual(), and ilUtil\stripSlashes().

{
if (array_key_exists("feedback", $_POST))
{
$feedbacks = array_keys($_POST["feedback"]);
$question_id = $feedbacks[0];
include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
$feedback = ilUtil::stripSlashes($_POST["feedback"][$question_id], FALSE, ilObjAdvancedEditing::_getUsedHTMLTagsAsString("assessment"));
$result = $this->object->saveManualFeedback($_GET["active_id"], $question_id, $_GET["pass"], $feedback);
if ($result)
{
ilUtil::sendInfo($this->lng->txt("tst_set_feedback_done"));
}
else
{
ilUtil::sendInfo($this->lng->txt("tst_set_feedback_not_done"));
}
}
$this->setPointsManual();
}

+ Here is the call graph for this function:

ilTestScoringGUI::setPointsManual ( )

Sets the points of a question manually.

Definition at line 196 of file class.ilTestScoringGUI.php.

References $_GET, $result, assQuestion\_getMaximumPoints(), assQuestion\_setReachedPoints(), manscoring(), and ilUtil\sendInfo().

Referenced by setFeedbackManual().

{
if (array_key_exists("question", $_POST))
{
$keys = array_keys($_POST["question"]);
$question_id = $keys[0];
$points = $_POST["question"][$question_id];
include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
$maxpoints = assQuestion::_getMaximumPoints($question_id);
$result = assQuestion::_setReachedPoints($_GET["active_id"], $question_id, $points, $maxpoints, $_GET["pass"]);
if ($result)
{
ilUtil::sendInfo($this->lng->txt("tst_change_points_done"));
}
else
{
ilUtil::sendInfo($this->lng->txt("tst_change_points_not_done"));
}
}
$this->manscoring();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


The documentation for this class was generated from the following file: