4 require_once
'Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
5 require_once
'Services/UIComponent/Button/classes/class.ilLinkButton.php';
6 require_once
'Services/UIComponent/Button/classes/class.ilSubmitButton.php';
7 require_once
'Services/Form/classes/class.ilFormPropertyGUI.php';
8 require_once
'Services/Form/classes/class.ilHiddenInputGUI.php';
224 $this->infoMessages[] = $infoMessage;
240 $this->failureMessages[] = $failureMessage;
245 if ($this->globalToolbar instanceof parent) {
246 $this->globalToolbar->setFormAction($formAction, $isMultipart,
$target);
248 parent::setFormAction($formAction, $isMultipart,
$target);
254 if ($this->globalToolbar instanceof parent) {
255 $this->globalToolbar->addButtonInstance($btnInstance);
257 parent::addButtonInstance($btnInstance);
263 if ($this->globalToolbar instanceof parent) {
264 $this->globalToolbar->setCloseFormTag($enabled);
266 parent::setCloseFormTag($enabled);
272 if ($this->globalToolbar instanceof parent) {
273 $this->globalToolbar->addInputItem($inputItem, $outputLabel);
275 parent::addInputItem($inputItem, $outputLabel);
281 if ($this->globalToolbar instanceof parent) {
282 $this->globalToolbar->addFormInput($formInput);
284 parent::addFormInput($formInput);
290 if ($this->globalToolbar instanceof parent) {
291 $this->globalToolbar->setItems(
array());
362 if (!$this->
getTestOBJ()->isPassDeletionAllowed()) {
379 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
381 $this->ctrl->setParameterByClass(
382 'iltestevaluationgui',
391 $btn->setCaption(
'tst_delete_dyn_test_results_btn');
392 $btn->setUrl($this->
buildLinkTarget(
'iltestevaluationgui',
'confirmDeletePass'));
393 $btn->setPrimary(
false);
400 if (!$this->
getTestOBJ()->isSkillServiceEnabled()) {
406 $questionContainerId = $questionSetConfig->getSourceQuestionPoolId();
408 $questionContainerId = $this->
getTestOBJ()->getId();
411 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php';
412 require_once
'Modules/Test/classes/class.ilTestSkillLevelThreshold.php';
415 $assignmentList->setParentObjId($questionContainerId);
416 $assignmentList->loadFromDb();
418 foreach ($assignmentList->getUniqueAssignedSkills() as
$data) {
419 foreach (
$data[
'skill']->getLevelData() as $level) {
421 $treshold->setTestId($this->
getTestOBJ()->getTestId());
422 $treshold->setSkillBaseId(
$data[
'skill_base_id']);
423 $treshold->setSkillTrefId(
$data[
'skill_tref_id']);
424 $treshold->setSkillLevelId($level[
'id']);
426 if (!$treshold->dbRecordExists()) {
437 require_once
'Modules/Test/classes/class.ilTestSkillLevelThresholdsGUI.php';
440 array(
'ilTestSkillAdministrationGUI',
'ilTestSkillLevelThresholdsGUI'),
444 $msg = $this->lng->txt(
'tst_skl_level_thresholds_missing');
445 $msg .=
'<br /><a href="' . $link .
'">' . $this->lng->txt(
'tst_skl_level_thresholds_link') .
'</a>';
452 if (!$this->testOBJ->isFixedTest()) {
456 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php';
458 $assignmentList->setParentObjId($this->testOBJ->getId());
459 $assignmentList->loadFromDb();
461 return $assignmentList->hasSkillsAssignedLowerThanBarrier();
466 require_once
'Modules/Test/classes/class.ilObjAssessmentFolder.php';
469 $this->lng->txt(
'tst_skill_triggerings_num_req_answers_not_reached_warn'),
484 $online_access =
false;
485 if ($this->
getTestOBJ()->getFixedParticipants()) {
486 include_once
"./Modules/Test/classes/class.ilObjTestAccess.php";
488 if ($online_access_result ===
true) {
489 $online_access =
true;
496 if ((!$this->
getTestOBJ()->getFixedParticipants() || $online_access) && $this->access->checkAccess(
"read",
"", $this->getTestOBJ()->getRefId())) {
497 $executable = $this->
getTestOBJ()->isExecutable(
500 $allowPassIncrease =
true 503 if ($executable[
"executable"]) {
505 $this->
addInfoMessage($this->lng->txt(
'tst_test_contains_obligatory_questions'));
510 require_once
'Modules/Test/classes/class.ilTestPassesSelector.php';
512 $testPassesSelector->setActiveId($this->
getTestSession()->getActiveId());
513 $testPassesSelector->setLastFinishedPass($this->
getTestSession()->getLastFinishedPass());
515 $closedPasses = $testPassesSelector->getClosedPasses();
516 $existingPasses = $testPassesSelector->getExistingPasses();
518 if ($existingPasses > $closedPasses) {
520 $btn->setCaption(
'tst_resume_test');
521 $btn->setCommand(
'resumePlayer');
522 $btn->setPrimary(
true);
527 $btn->setCommand(
'startPlayer');
528 $btn->setPrimary(
true);
535 $btn->setCommand(
'startPlayer');
536 $btn->setPrimary(
true);
545 require_once
'Modules/Test/classes/class.ilTestPassesSelector.php';
547 $testPassesSelector->setActiveId($this->
getTestSession()->getActiveId());
548 $testPassesSelector->setLastFinishedPass($this->
getTestSession()->getLastFinishedPass());
552 $btn->setCaption(
'tst_show_results');
553 $btn->setUrl($this->
buildLinkTarget(
'ilTestEvaluationGUI',
'outUserResultsOverview'));
554 $btn->setPrimary(
false);
557 if ($this->
getTestOBJ()->getHighscoreEnabled()) {
560 $btn->setCaption(
'tst_show_toplist');
561 $btn->setUrl($this->
buildLinkTarget(
'ilTestToplistGUI',
'outResultsToplist'));
562 $btn->setPrimary(
false);
566 if ($this->
getTestOBJ()->isSkillServiceToBeConsidered()) {
567 require_once
'Modules/Test/classes/class.ilTestSkillEvaluationGUI.php';
570 $btn->setCaption(
'tst_show_comp_results');
572 $btn->setPrimary(
false);
581 $btn->setCaption(
'tst_list_of_answers_show');
582 $btn->setUrl($this->
buildLinkTarget(
'ilTestEvaluationGUI',
'outUserListOfAnswerPasses'));
583 $btn->setPrimary(
false);
592 if (
$_SESSION[
"AccountId"] == ANONYMOUS_USER_ID) {
597 require_once
'Services/Form/classes/class.ilTextInputGUI.php';
598 $anonymous_id =
new ilTextInputGUI($this->lng->txt(
'enter_anonymous_code'),
'anonymous_id');
601 $this->
addFormButton($this->lng->txt(
'submit'),
'setAnonymousId');
605 $message = $this->lng->txt(
"test_is_offline");
607 if ($this->access->checkAccess(
"write",
"", $this->getTestOBJ()->getRefId())) {
609 $this->lng->txt(
"test_edit_settings") .
"</a>";
615 if ($this->access->checkAccess(
"write",
"", $this->getTestOBJ()->getRefId())) {
616 require_once
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentImportFails.php';
618 require_once
'Modules/Test/classes/class.ilTestSkillLevelThresholdImportFails.php';
621 if ($qsaImportFails->failedImportsRegistered() || $sltImportFails->failedImportsRegistered()) {
622 $importFailsMsg =
array();
624 if ($qsaImportFails->failedImportsRegistered()) {
625 $importFailsMsg[] = $qsaImportFails->getFailedImportsMessage($this->lng);
628 if ($sltImportFails->failedImportsRegistered()) {
629 $importFailsMsg[] = $sltImportFails->getFailedImportsMessage($this->lng);
633 $button->setUrl($this->ctrl->getLinkTargetByClass(
'ilObjTestGUI',
'removeImportFails'));
634 $button->setCaption(
'ass_skl_import_fails_remove_btn');
635 $importFailsMsg[] = $button->render();
638 } elseif ($this->
getTestOBJ()->isSkillServiceToBeConsidered()) {
This class provides processing control methods.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
Interface ilAccessHandler.
Administration class for plugins.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static _lookupOnlineTestAccess($a_test_id, $a_user_id)
Checks if a user is allowd to run an online exam.
catch(Exception $e) $message
setSize($a_size)
Set Size.
This class represents a text property in a property form.
const CMD_SHOW_SKILL_THRESHOLDS
Create styles array
The data for the language used.
static getSkillTriggerAnswerNumberBarrier()
const CONTEXT_INFO_SCREEN
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.