ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilTestScoringGUI Class Reference

Scoring class for tests. More...

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

Public Member Functions

 __construct (ilObjTest $a_object)
 ilTestScoringGUI constructor More...
 
 executeCommand ()
 execute command More...
 
- Public Member Functions inherited from ilTestServiceGUI
 isContextResultPresentation ()
 
 setContextResultPresentation ($contextResultPresentation)
 
 __construct (ilObjTest $a_object)
 The constructor takes the test object reference as parameter. More...
 
 setParticipantData ($participantData)
 
 getParticipantData ()
 
 getPassOverviewTableData (ilTestSession $testSession, $passes, $withResults)
 
 setObjectiveOrientedContainer (ilTestObjectiveOrientedContainer $objectiveOrientedContainer)
 
 getObjectiveOrientedContainer ()
 
 executeCommand ()
 execute command More...
 
 getCommand ($cmd)
 Retrieves the ilCtrl command. More...
 
 buildPassOverviewTableGUI ($targetGUI, $targetCmd='')
 
 getPassListOfAnswers (&$result_array, $active_id, $pass, $show_solutions=FALSE, $only_answered_questions=FALSE, $show_question_only=FALSE, $show_reached_points=FALSE, $anchorNav=false, ilTestQuestionRelatedObjectivesList $objectivesList=null, ilTestResultHeaderLabelBuilder $testResultHeaderLabelBuilder=null)
 Returns the list of answers of a users test pass. More...
 
 getPassListOfAnswersWithScoring (&$result_array, $active_id, $pass, $show_solutions=FALSE)
 Returns the list of answers of a users test pass and offers a scoring option. More...
 
 getResultsSignature ()
 Returns HTML code for a signature field. More...
 
 getAdditionalUsrDataHtmlAndPopulateWindowTitle ($testSession, $active_id, $overwrite_anonymity=FALSE)
 Returns the user data for a test results output. More...
 
 getCorrectSolutionOutput ($question_id, $active_id, $pass, ilTestQuestionRelatedObjectivesList $objectivesList=null)
 Returns an output of the solution to an answer compared to the correct solution. More...
 
 getResultsOfUserOutput ($testSession, $active_id, $pass, $targetGUI, $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. More...
 
 getResultsHeadUserAndPass ($active_id, $pass)
 Returns the user and pass data for a test results output. More...
 
 getQuestionResultForTestUsers ($question_id, $test_id)
 Creates a HTML representation for the results of a given question in a test. More...
 
 populatePassFinishDate ($tpl, $passFinishDate)
 

Data Fields

const PART_FILTER_ACTIVE_ONLY = 1
 
const PART_FILTER_INACTIVE_ONLY = 2
 
const PART_FILTER_ALL_USERS = 3
 
const PART_FILTER_MANSCORING_DONE = 4
 
const PART_FILTER_MANSCORING_NONE = 5
 
- Data Fields inherited from ilTestServiceGUI
 $object = null
 
 $service = null
 
 $lng
 
 $tpl
 
 $ctrl
 
 $ilias
 
 $tree
 
 $ref_id
 

Private Member Functions

 fetchActiveIdParameter ()
 
 fetchPassParameter ($activeId)
 
 showManScoringParticipantsTable ()
 
 applyManScoringParticipantsFilter ()
 
 resetManScoringParticipantsFilter ()
 
 showManScoringParticipantScreen (ilPropertyFormGUI $form=null)
 
 saveManScoringParticipantScreen ($redirect=true)
 
 saveNextManScoringParticipantScreen ()
 
 saveReturnManScoringParticipantScreen ()
 
 buildManScoringParticipantForm ($questionGuiList, $activeId, $pass, $initValues=false)
 
 sendManScoringParticipantNotification ()
 
 buildManScoringParticipantsTable ($withData=false)
 

Additional Inherited Members

- Protected Member Functions inherited from ilTestServiceGUI
 handleTabs ($activeTabId)
 
 isPdfDeliveryRequest ()
 
 getPassDetailsOverviewTableGUI ($result_array, $active_id, $pass, $targetGUI, $targetCMD, $questionDetailsCMD, $questionAnchorNav, ilTestQuestionRelatedObjectivesList $objectivesList=null, $multipleObjectivesInvolved=true)
 
 buildPassDetailsOverviewTableGUI ($targetGUI, $targetCMD)
 
 isGradingMessageRequired ()
 
 getGradingMessageBuilder ($activeId)
 
 buildQuestionRelatedObjectivesList (ilLOTestQuestionAdapter $objectivesAdapter, ilTestQuestionSequence $testSequence)
 
 getFilteredTestResult ($active_id, $pass, $considerHiddenQuestions, $considerOptionalQuestions)
 
 populateContent ($content)
 
 buildUserTestResultsToolbarGUI ()
 
 outCorrectSolutionCmd ()
 
 outCorrectSolution ()
 Creates an output of the solution of an answer compared to the correct solution. More...
 
- Protected Attributes inherited from ilTestServiceGUI
 $db
 
 $tabs
 
 $objCache
 
 $testSessionFactory = null
 
 $testSequenceFactory = null
 
 $participantData
 

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
Björn Heyser bheys.nosp@m.er@d.nosp@m.ataba.nosp@m.y.de
Version
$Id$

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

Constructor & Destructor Documentation

◆ __construct()

ilTestScoringGUI::__construct ( ilObjTest  $a_object)

ilTestScoringGUI constructor

The constructor takes the test object reference as parameter

Parameters
object$a_objectAssociated ilObjTest class public

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

35  {
36  parent::__construct($a_object);
37  }

Member Function Documentation

◆ applyManScoringParticipantsFilter()

ilTestScoringGUI::applyManScoringParticipantsFilter ( )
private

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

References buildManScoringParticipantsTable(), and showManScoringParticipantsTable().

147  {
148  $table = $this->buildManScoringParticipantsTable(false);
149 
150  $table->resetOffset();
151  $table->writeFilterToSession();
152 
154  }
buildManScoringParticipantsTable($withData=false)
+ Here is the call graph for this function:

◆ buildManScoringParticipantForm()

ilTestScoringGUI::buildManScoringParticipantForm (   $questionGuiList,
  $activeId,
  $pass,
  $initValues = false 
)
private

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

References $ilCtrl, ilTestServiceGUI\$lng, $pass, $text, assQuestion\_getMaximumPoints(), assQuestion\_getReachedPoints(), ilTestService\isManScoringDone(), object, ilCheckboxInputGUI\setChecked(), ilCustomInputGUI\setHtml(), ilNonEditableValueGUI\setValue(), and ilTextAreaInputGUI\setValue().

Referenced by saveManScoringParticipantScreen(), and showManScoringParticipantScreen().

372  {
373  global $ilCtrl, $lng;
374 
375  require_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
376  require_once 'Services/Form/classes/class.ilFormSectionHeaderGUI.php';
377  require_once 'Services/Form/classes/class.ilCustomInputGUI.php';
378  require_once 'Services/Form/classes/class.ilCheckboxInputGUI.php';
379  require_once 'Services/Form/classes/class.ilTextInputGUI.php';
380  require_once 'Services/Form/classes/class.ilTextAreaInputGUI.php';
381 
382  $ilCtrl->setParameter($this, 'active_id', $activeId);
383  $ilCtrl->setParameter($this, 'pass', $pass);
384 
385  $form = new ilPropertyFormGUI();
386  $form->setFormAction($ilCtrl->getFormAction($this));
387 
388  $form->setTitle( sprintf($lng->txt('manscoring_results_pass'), $pass + 1) );
389  $form->setTableWidth('100%');
390 
391  foreach($questionGuiList as $questionId => $questionGUI)
392  {
393  $questionHeader = sprintf($lng->txt('tst_manscoring_question_section_header'), $questionGUI->object->getTitle());
394  $questionSolution = $questionGUI->getSolutionOutput($activeId, $pass, false, false, true, false, false, true);
395  $bestSolution = $questionGUI->object->getSuggestedSolutionOutput();
396 
397  $sect = new ilFormSectionHeaderGUI();
398  $sect->setTitle( $questionHeader . ' ['. $this->lng->txt('question_id_short') . ': ' . $questionGUI->object->getId() . ']');
399  $form->addItem($sect);
400 
401  $cust = new ilCustomInputGUI($lng->txt('tst_manscoring_input_question_and_user_solution'));
402  $cust->setHtml($questionSolution);
403  $form->addItem($cust);
404 
405  $text = new ilTextInputGUI($lng->txt('tst_change_points_for_question'), "question__{$questionId}__points");
406  if( $initValues ) $text->setValue( assQuestion::_getReachedPoints($activeId, $questionId, $pass) );
407  $form->addItem($text);
408 
409  $nonedit = new ilNonEditableValueGUI($lng->txt('tst_manscoring_input_max_points_for_question'), "question__{$questionId}__maxpoints");
410  if( $initValues ) $nonedit->setValue( assQuestion::_getMaximumPoints($questionId) );
411  $form->addItem($nonedit);
412 
413  $area = new ilTextAreaInputGUI($lng->txt('set_manual_feedback'), "question__{$questionId}__feedback");
414  $area->setUseRTE(true);
415  if( $initValues ) $area->setValue( $this->object->getManualFeedback($activeId, $questionId, $pass) );
416  $form->addItem($area);
417 
418  if(strlen(trim($bestSolution)))
419  {
420  $cust = new ilCustomInputGUI($lng->txt('tst_show_solution_suggested'));
421  $cust->setHtml($bestSolution);
422  $form->addItem($cust);
423  }
424  }
425 
426  $sect = new ilFormSectionHeaderGUI();
427  $sect->setTitle($lng->txt('tst_participant'));
428  $form->addItem($sect);
429 
430  $check = new ilCheckboxInputGUI($lng->txt('set_manscoring_done'), 'manscoring_done');
431  if( $initValues && ilTestService::isManScoringDone($activeId) ) $check->setChecked(true);
432  $form->addItem($check);
433 
434  $check = new ilCheckboxInputGUI($lng->txt('tst_manscoring_user_notification'), 'manscoring_notify');
435  $form->addItem($check);
436 
437  $form->addCommandButton('saveManScoringParticipantScreen', $lng->txt('save'));
438  $form->addCommandButton('saveReturnManScoringParticipantScreen', $lng->txt('save_return'));
439  $form->addCommandButton('saveNextManScoringParticipantScreen', $lng->txt('save_and_next'));
440 
441  return $form;
442  }
setHtml($a_html)
Set Html.
This class represents a property form user interface.
This class represents a section header in a property form.
setValue($a_value)
Set Value.
static isManScoringDone($activeId)
reads the flag wether manscoring is done for the given test active or not from the global settings (s...
This class represents a checkbox property in a property form.
static _getMaximumPoints($question_id)
Returns the maximum points, a learner can reach answering the question.
global $ilCtrl
Definition: ilias.php:18
setChecked($a_checked)
Set Checked.
static _getReachedPoints($active_id, $question_id, $pass=NULL)
Returns the points, a learner has reached answering the question.
This class represents a text property in a property form.
This class represents a custom property in a property form.
This class represents a non editable value in a property form.
Create new PHPExcel object
obj_idprivate
This class represents a text area property in a property form.
$text
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildManScoringParticipantsTable()

ilTestScoringGUI::buildManScoringParticipantsTable (   $withData = false)
private
Returns
ilTestManScoringParticipantsTableGUI

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

References object.

Referenced by applyManScoringParticipantsFilter(), resetManScoringParticipantsFilter(), saveNextManScoringParticipantScreen(), and showManScoringParticipantsTable().

452  {
453  require_once 'Modules/Test/classes/tables/class.ilTestManScoringParticipantsTableGUI.php';
454  $table = new ilTestManScoringParticipantsTableGUI($this);
455 
456  if($withData)
457  {
458  $participantStatusFilterValue = $table->getFilterItemByPostVar('participant_status')->getValue();
459  $table->setData($this->object->getTestParticipantsForManualScoring($participantStatusFilterValue));
460  }
461 
462  return $table;
463  }
Create new PHPExcel object
obj_idprivate
+ Here is the caller graph for this function:

◆ executeCommand()

ilTestScoringGUI::executeCommand ( )

execute command

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

References $cmd, $ret, ilObjAssessmentFolder\_mananuallyScoreableQuestionTypesExists(), ilTestServiceGUI\getCommand(), and ilUtil\sendFailure().

Referenced by ilTestScoringByQuestionsGUI\__construct().

99  {
100  global $ilAccess;
101 
102  if( !$ilAccess->checkAccess("write", "", $this->ref_id) )
103  {
104  // allow only write access
105  ilUtil::sendFailure($this->lng->txt("cannot_edit_test"), true);
106  $this->ctrl->redirectByClass("ilobjtestgui", "infoScreen");
107  }
108 
109  require_once 'Modules/Test/classes/class.ilObjAssessmentFolder.php';
111  {
112  // allow only if at least one question type is marked for manual scoring
113  ilUtil::sendFailure($this->lng->txt("manscoring_not_allowed"), true);
114  $this->ctrl->redirectByClass("ilobjtestgui", "infoScreen");
115  }
116 
117  $cmd = $this->ctrl->getCmd();
118  $next_class = $this->ctrl->getNextClass($this);
119 
120  if (strlen($cmd) == 0)
121  {
122  $this->ctrl->redirect($this, "manscoring");
123  }
124 
125  $cmd = $this->getCommand($cmd);
126  $this->buildSubTabs('man_scoring');
127  switch($next_class)
128  {
129  default:
130  $ret =& $this->$cmd();
131  break;
132  }
133 
134  return $ret;
135  }
$cmd
Definition: sahs_server.php:35
getCommand($cmd)
Retrieves the ilCtrl command.
static _mananuallyScoreableQuestionTypesExists()
Returns the fact wether manually scoreable question types exist or not.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$ret
Definition: parser.php:6
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchActiveIdParameter()

ilTestScoringGUI::fetchActiveIdParameter ( )
private

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

References $_GET, $ilCtrl, and ilUtil\sendFailure().

Referenced by saveManScoringParticipantScreen(), and showManScoringParticipantScreen().

55  {
56  global $ilCtrl;
57 
58  // fetch active_id
59 
60  if( !isset($_GET['active_id']) || !(int)$_GET['active_id'] )
61  {
62  // allow only write access
63  ilUtil::sendFailure('no active id given!', true);
64  $ilCtrl->redirectByClass("ilobjtestgui", "infoScreen");
65  }
66  else
67  {
68  $activeId = (int)$_GET['active_id'];
69  }
70 
71  return $activeId;
72  }
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchPassParameter()

ilTestScoringGUI::fetchPassParameter (   $activeId)
private

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

References $_GET, $pass, object, and SCORE_LAST_PASS.

Referenced by saveManScoringParticipantScreen(), and showManScoringParticipantScreen().

75  {
76  // fetch pass nr
77 
78  $maxPass = $this->object->_getMaxPass($activeId);
79  if( isset($_GET["pass"]) && 0 <= (int)$_GET["pass"] && $maxPass >= (int)$_GET["pass"] )
80  {
81  $pass = $_GET["pass"];
82  }
83  elseif( $this->object->getPassScoring() == SCORE_LAST_PASS )
84  {
85  $pass = $maxPass;
86  }
87  else
88  {
89  $pass = $this->object->_getResultPass($activeId);
90  }
91 
92  return $pass;
93  }
const SCORE_LAST_PASS
$_GET["client_id"]
Create new PHPExcel object
obj_idprivate
+ Here is the caller graph for this function:

◆ resetManScoringParticipantsFilter()

ilTestScoringGUI::resetManScoringParticipantsFilter ( )
private

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

References buildManScoringParticipantsTable(), and showManScoringParticipantsTable().

157  {
158  $table = $this->buildManScoringParticipantsTable(false);
159 
160  $table->resetOffset();
161  $table->resetFilter();
162 
164  }
buildManScoringParticipantsTable($withData=false)
+ Here is the call graph for this function:

◆ saveManScoringParticipantScreen()

ilTestScoringGUI::saveManScoringParticipantScreen (   $redirect = true)
private
Parameters
bool$redirect
Returns
bool Returns a boolean flag, whether or not everything worked fine

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

References $ilCtrl, ilTestServiceGUI\$lng, $pass, ilTestServiceGUI\$tpl, assQuestion\_getMaximumPoints(), ilObjTestAccess\_getParticipantId(), ilObjAdvancedEditing\_getUsedHTMLTagsAsString(), ilObjUser\_lookupName(), assQuestion\_setReachedPoints(), ilLPStatusWrapper\_updateStatus(), array, buildManScoringParticipantForm(), fetchActiveIdParameter(), fetchPassParameter(), object, ilUtil\sendFailure(), ilUtil\sendSuccess(), ilMailNotification\setAdditionalInformation(), ilTestService\setManScoringDone(), showManScoringParticipantScreen(), and ilUtil\stripSlashes().

Referenced by saveNextManScoringParticipantScreen(), and saveReturnManScoringParticipantScreen().

209  {
210  global $tpl, $ilCtrl, $lng;
211 
212  $activeId = $this->fetchActiveIdParameter();
213  $pass = $this->fetchPassParameter($activeId);
214 
215  $questionGuiList = $this->service->getManScoringQuestionGuiList($activeId, $pass);
216  $form = $this->buildManScoringParticipantForm($questionGuiList, $activeId, $pass, false);
217 
218  $form->setValuesByPost();
219 
220  if( !$form->checkInput() )
221  {
222  ilUtil::sendFailure(sprintf($lng->txt('tst_save_manscoring_failed'), $pass + 1));
223  $this->showManScoringParticipantScreen($form);
224  return false;
225  }
226 
227  include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
228 
229  $maxPointsByQuestionId = array();
230  $maxPointsExceeded = false;
231  foreach($questionGuiList as $questionId => $questionGui)
232  {
233  $reachedPoints = $form->getItemByPostVar("question__{$questionId}__points")->getValue();
234  $maxPoints = assQuestion::_getMaximumPoints($questionId);
235 
236  if( $reachedPoints > $maxPoints )
237  {
238  $maxPointsExceeded = true;
239 
240  $form->getItemByPostVar("question__{$questionId}__points")->setAlert( sprintf(
241  $lng->txt('tst_manscoring_maxpoints_exceeded_input_alert'), $maxPoints
242  ));
243  }
244 
245  $maxPointsByQuestionId[$questionId] = $maxPoints;
246  }
247 
248  if( $maxPointsExceeded )
249  {
250  ilUtil::sendFailure(sprintf($lng->txt('tst_save_manscoring_failed'), $pass + 1));
251  $this->showManScoringParticipantScreen($form);
252  return false;
253  }
254 
255  include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
256 
257  foreach($questionGuiList as $questionId => $questionGui)
258  {
259  $reachedPoints = $form->getItemByPostVar("question__{$questionId}__points")->getValue();
260 
262  $activeId, $questionId, $reachedPoints, $maxPointsByQuestionId[$questionId],
263  $pass, 1, $this->object->areObligationsEnabled()
264  );
265 
266  $feedback = ilUtil::stripSlashes(
267  $form->getItemByPostVar("question__{$questionId}__feedback")->getValue(),
269  );
270 
271  $this->object->saveManualFeedback($activeId, $questionId, $pass, $feedback);
272 
273  $notificationData[$questionId] = array(
274  'points' => $reachedPoints, 'feedback' => $feedback
275  );
276  }
277 
278  include_once "./Modules/Test/classes/class.ilObjTestAccess.php";
279  include_once("./Services/Tracking/classes/class.ilLPStatusWrapper.php");
281  $this->object->getId(), ilObjTestAccess::_getParticipantId($activeId)
282  );
283 
284  $manScoringDone = $form->getItemByPostVar("manscoring_done")->getChecked();
285  ilTestService::setManScoringDone($activeId, $manScoringDone);
286 
287  $manScoringNotify = $form->getItemByPostVar("manscoring_notify")->getChecked();
288  if($manScoringNotify)
289  {
290  require_once 'Modules/Test/classes/notifications/class.ilTestManScoringParticipantNotification.php';
291 
292  $notification = new ilTestManScoringParticipantNotification(
293  $this->object->_getUserIdFromActiveId($activeId), $this->object->getRefId()
294  );
295 
296  $notification->setAdditionalInformation(array(
297  'test_title' => $this->object->getTitle(),
298  'test_pass' => $pass + 1,
299  'questions_gui_list' => $questionGuiList,
300  'questions_scoring_data' => $notificationData
301  ));
302 
303  $notification->send();
304  }
305 
306  require_once './Modules/Test/classes/class.ilTestScoring.php';
307  $scorer = new ilTestScoring($this->object);
308  $scorer->setPreserveManualScores(true);
309  $scorer->recalculateSolutions();
310 
311  if($this->object->getAnonymity() == 0)
312  {
314  $name_real_or_anon = $user_name['firstname'].' '. $user_name['lastname'];
315  }
316  else
317  {
318  $name_real_or_anon = $lng->txt('anonymous');
319  }
320  ilUtil::sendSuccess(sprintf($lng->txt('tst_saved_manscoring_successfully'), $pass + 1, $name_real_or_anon ), true);
321  if($redirect == true)
322  {
323  $ilCtrl->redirect($this, 'showManScoringParticipantScreen');
324  }
325  else
326  {
327  return true;
328  }
329  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
showManScoringParticipantScreen(ilPropertyFormGUI $form=null)
static _lookupName($a_user_id)
lookup user name
static setManScoringDone($activeId, $manScoringDone)
stores the flag wether manscoring is done for the given test active or not within the global settings...
static _getParticipantId($active_id)
Get user id for active id.
static _getUsedHTMLTagsAsString($a_module="")
Returns a string of all allowed HTML tags for text editing.
static _updateStatus($a_obj_id, $a_usr_id, $a_obj=null, $a_percentage=false, $a_force_raise=false)
Update status.
static _getMaximumPoints($question_id)
Returns the maximum points, a learner can reach answering the question.
global $ilCtrl
Definition: ilias.php:18
buildManScoringParticipantForm($questionGuiList, $activeId, $pass, $initValues=false)
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
Class ilTestScoring.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Create new PHPExcel object
obj_idprivate
setAdditionalInformation(array $a_info)
Additional information for creating notification mails.
static _setReachedPoints($active_id, $question_id, $points, $maxpoints, $pass, $manualscoring, $obligationsEnabled)
Sets the points, a learner has reached answering the question Additionally objective results are upda...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveNextManScoringParticipantScreen()

ilTestScoringGUI::saveNextManScoringParticipantScreen ( )
private

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

References $_GET, $ilCtrl, ilTestServiceGUI\$participantData, buildManScoringParticipantsTable(), and saveManScoringParticipantScreen().

332  {
333  global $ilCtrl;
334 
335  $table = $this->buildManScoringParticipantsTable(true);
336 
337  if($this->saveManScoringParticipantScreen(false))
338  {
339  $participantData = $table->getInternalyOrderedDataValues();
340 
341  $nextIndex = null;
342  foreach($participantData as $index => $participant)
343  {
344  if($participant['active_id'] == $_GET['active_id'])
345  {
346  $nextIndex = $index + 1;
347  break;
348  }
349  }
350 
351  if($nextIndex && isset($participantData[$nextIndex]))
352  {
353  $ilCtrl->setParameter($this, 'active_id', $participantData[$nextIndex]['active_id']);
354  $ilCtrl->redirect($this, 'showManScoringParticipantScreen');
355  }
356 
357  $ilCtrl->redirectByClass("iltestscoringgui", "showManScoringParticipantsTable");
358  }
359  }
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
saveManScoringParticipantScreen($redirect=true)
buildManScoringParticipantsTable($withData=false)
+ Here is the call graph for this function:

◆ saveReturnManScoringParticipantScreen()

ilTestScoringGUI::saveReturnManScoringParticipantScreen ( )
private

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

References $ilCtrl, and saveManScoringParticipantScreen().

362  {
363  global $ilCtrl;
364 
365  if($this->saveManScoringParticipantScreen(false))
366  {
367  $ilCtrl->redirectByClass("iltestscoringgui", "showManScoringParticipantsTable");
368  }
369  }
global $ilCtrl
Definition: ilias.php:18
saveManScoringParticipantScreen($redirect=true)
+ Here is the call graph for this function:

◆ sendManScoringParticipantNotification()

ilTestScoringGUI::sendManScoringParticipantNotification ( )
private

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

445  {
446  }

◆ showManScoringParticipantScreen()

ilTestScoringGUI::showManScoringParticipantScreen ( ilPropertyFormGUI  $form = null)
private

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

References ilTestServiceGUI\$lng, $pass, ilTestServiceGUI\$tpl, buildManScoringParticipantForm(), fetchActiveIdParameter(), and fetchPassParameter().

Referenced by saveManScoringParticipantScreen().

167  {
168  global $tpl, $lng;
169 
170  $activeId = $this->fetchActiveIdParameter();
171  $pass = $this->fetchPassParameter($activeId);
172 
173  $contentHTML = '';
174 
175  // pass overview table
176  require_once 'Modules/Test/classes/tables/class.ilTestPassManualScoringOverviewTableGUI.php';
177  $table = new ilTestPassManualScoringOverviewTableGUI($this, 'showManScoringParticipantScreen');
178 
179  $userId = $this->object->_getUserIdFromActiveId($activeId);
180  $userFullname = $this->object->userLookupFullName($userId, false, true);
181  $tableTitle = sprintf($lng->txt('tst_pass_overview_for_participant'), $userFullname);
182  $table->setTitle($tableTitle);
183 
184  $passOverviewData = $this->service->getPassOverviewData($activeId);
185  $table->setData($passOverviewData['passes']);
186 
187  $contentHTML .= $table->getHTML().'<br />';
188 
189  // pass scoring form
190 
191  if($form === null)
192  {
193  $questionGuiList = $this->service->getManScoringQuestionGuiList($activeId, $pass);
194  $form = $this->buildManScoringParticipantForm($questionGuiList, $activeId, $pass, true);
195  }
196 
197  $contentHTML .= $form->getHTML();
198 
199  // set content
200 
201  $tpl->setContent($contentHTML);
202  }
buildManScoringParticipantForm($questionGuiList, $activeId, $pass, $initValues=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showManScoringParticipantsTable()

ilTestScoringGUI::showManScoringParticipantsTable ( )
private

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

References ilTestServiceGUI\$tpl, and buildManScoringParticipantsTable().

Referenced by applyManScoringParticipantsFilter(), and resetManScoringParticipantsFilter().

138  {
139  global $tpl;
140 
141  $table = $this->buildManScoringParticipantsTable(true);
142 
143  $tpl->setContent( $table->getHTML() );
144  }
buildManScoringParticipantsTable($withData=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ PART_FILTER_ACTIVE_ONLY

const ilTestScoringGUI::PART_FILTER_ACTIVE_ONLY = 1

◆ PART_FILTER_ALL_USERS

const ilTestScoringGUI::PART_FILTER_ALL_USERS = 3

◆ PART_FILTER_INACTIVE_ONLY

const ilTestScoringGUI::PART_FILTER_INACTIVE_ONLY = 2

◆ PART_FILTER_MANSCORING_DONE

const ilTestScoringGUI::PART_FILTER_MANSCORING_DONE = 4

◆ PART_FILTER_MANSCORING_NONE

const ilTestScoringGUI::PART_FILTER_MANSCORING_NONE = 5

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