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';
231 $this->infoMessages[] = $infoMessage;
247 $this->failureMessages[] = $failureMessage;
252 if ($this->globalToolbar instanceof
parent) {
253 $this->globalToolbar->setFormAction($formAction, $isMultipart,
$target);
255 parent::setFormAction($formAction, $isMultipart,
$target);
261 if ($this->globalToolbar instanceof
parent) {
262 $this->globalToolbar->addButtonInstance($btnInstance);
264 parent::addButtonInstance($btnInstance);
270 if ($this->globalToolbar instanceof
parent) {
271 $this->globalToolbar->setCloseFormTag($enabled);
273 parent::setCloseFormTag($enabled);
279 if ($this->globalToolbar instanceof
parent) {
280 $this->globalToolbar->addInputItem($inputItem, $outputLabel);
282 parent::addInputItem($inputItem, $outputLabel);
288 if ($this->globalToolbar instanceof
parent) {
289 $this->globalToolbar->addFormInput($formInput);
291 parent::addFormInput($formInput);
297 if ($this->globalToolbar instanceof
parent) {
298 $this->globalToolbar->setItems(array());
351 return md5(
$_COOKIE[session_name()] . time());
369 if (!$this->
getTestOBJ()->isPassDeletionAllowed()) {
386 require_once
'Modules/Test/classes/confirmations/class.ilTestPassDeletionConfirmationGUI.php';
388 $this->ctrl->setParameterByClass(
389 'iltestevaluationgui',
398 $btn->setCaption(
'tst_delete_dyn_test_results_btn');
399 $btn->setUrl($this->
buildLinkTarget(
'iltestevaluationgui',
'confirmDeletePass'));
400 $btn->setPrimary(
false);
407 if (!$this->
getTestOBJ()->isSkillServiceEnabled()) {
413 $questionContainerId = $questionSetConfig->getSourceQuestionPoolId();
415 $questionContainerId = $this->
getTestOBJ()->getId();
418 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php';
419 require_once
'Modules/Test/classes/class.ilTestSkillLevelThreshold.php';
422 $assignmentList->setParentObjId($questionContainerId);
423 $assignmentList->loadFromDb();
425 foreach ($assignmentList->getUniqueAssignedSkills() as
$data) {
426 foreach (
$data[
'skill']->getLevelData() as $level) {
428 $treshold->setTestId($this->
getTestOBJ()->getTestId());
429 $treshold->setSkillBaseId(
$data[
'skill_base_id']);
430 $treshold->setSkillTrefId(
$data[
'skill_tref_id']);
431 $treshold->setSkillLevelId($level[
'id']);
433 if (!$treshold->dbRecordExists()) {
444 $message = $this->lng->txt(
'tst_skl_level_thresholds_missing');
447 array(
'ilTestSkillAdministrationGUI',
'ilTestSkillLevelThresholdsGUI'),
451 $link = $this->
DIC->ui()->factory()->link()->standard(
452 $this->
DIC->language()->txt(
'tst_skl_level_thresholds_link'),
456 $msgBox = $this->
DIC->ui()->factory()->messageBox()->failure(
$message)->withLinks(array($link));
458 return $this->
DIC->ui()->renderer()->render($msgBox);
463 if (!$this->testOBJ->isFixedTest()) {
467 require_once
'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentList.php';
469 $assignmentList->setParentObjId($this->testOBJ->getId());
470 $assignmentList->loadFromDb();
472 return $assignmentList->hasSkillsAssignedLowerThanBarrier();
477 require_once
'Modules/Test/classes/class.ilObjAssessmentFolder.php';
480 $this->lng->txt(
'tst_skill_triggerings_num_req_answers_not_reached_warn'),
495 $online_access =
false;
496 if ($this->
getTestOBJ()->getFixedParticipants()) {
497 include_once
"./Modules/Test/classes/class.ilObjTestAccess.php";
499 if ($online_access_result ===
true) {
500 $online_access =
true;
507 if ((!$this->
getTestOBJ()->getFixedParticipants() || $online_access) && $this->access->checkAccess(
"read",
"", $this->getTestOBJ()->getRefId())) {
508 $executable = $this->
getTestOBJ()->isExecutable(
511 $allowPassIncrease =
true 514 if ($executable[
"executable"]) {
516 $this->
addInfoMessage($this->lng->txt(
'tst_test_contains_obligatory_questions'));
521 require_once
'Modules/Test/classes/class.ilTestPassesSelector.php';
523 $testPassesSelector->setActiveId($this->
getTestSession()->getActiveId());
524 $testPassesSelector->setLastFinishedPass($this->
getTestSession()->getLastFinishedPass());
526 $closedPasses = $testPassesSelector->getClosedPasses();
527 $existingPasses = $testPassesSelector->getExistingPasses();
529 if ($existingPasses > $closedPasses) {
531 $btn->setCaption(
'tst_resume_test');
532 $btn->setCommand(
'resumePlayer');
533 $btn->setPrimary(
true);
538 $btn->setCommand(
'startPlayer');
539 $btn->setPrimary(
true);
546 $btn->setCommand(
'startPlayer');
547 $btn->setPrimary(
true);
559 if ($this->
DIC->user()->getId() == ANONYMOUS_USER_ID) {
564 require_once
'Services/Form/classes/class.ilTextInputGUI.php';
565 $anonymous_id =
new ilTextInputGUI($this->lng->txt(
'enter_anonymous_code'),
'anonymous_id');
569 $button->setCaption(
'submit');
570 $button->setCommand(
'setAnonymousId');
575 $message = $this->lng->txt(
"test_is_offline");
579 if ($this->access->checkAccess(
"write",
"", $this->getTestOBJ()->getRefId())) {
580 $links[] = $this->
DIC->ui()->factory()->link()->standard(
581 $this->
DIC->language()->txt(
'test_edit_settings'),
586 $msgBox = $this->
DIC->ui()->factory()->messageBox()->info(
$message)->withLinks(
$links);
591 if ($this->access->checkAccess(
"write",
"", $this->getTestOBJ()->getRefId())) {
592 require_once
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentImportFails.php';
594 require_once
'Modules/Test/classes/class.ilTestSkillLevelThresholdImportFails.php';
597 if ($qsaImportFails->failedImportsRegistered() || $sltImportFails->failedImportsRegistered()) {
598 $importFailsMsg = array();
600 if ($qsaImportFails->failedImportsRegistered()) {
601 $importFailsMsg[] = $qsaImportFails->getFailedImportsMessage($this->lng);
604 if ($sltImportFails->failedImportsRegistered()) {
605 $importFailsMsg[] = $sltImportFails->getFailedImportsMessage($this->lng);
608 $message = implode(
'<br />', $importFailsMsg);
610 $button = $this->
DIC->ui()->factory()->button()->standard(
611 $this->
DIC->language()->txt(
'ass_skl_import_fails_remove_btn'),
612 $this->
DIC->ctrl()->getLinkTargetByClass(
'ilObjTestGUI',
'removeImportFails')
615 $msgBox = $this->
DIC->ui()->factory()->messageBox()->failure(
$message)->withButtons(array($button));
618 } elseif ($this->
getTestOBJ()->isSkillServiceToBeConsidered()) {
643 $this->
DIC->ui()->mainTemplate()->setCurrentBlock(
'mess');
644 $this->
DIC->ui()->mainTemplate()->setVariable(
'MESSAGE',
$message);
645 $this->
DIC->ui()->mainTemplate()->parseCurrentBlock();
This class provides processing control methods.
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
static getSkillTriggerAnswerNumberBarrier()
const CONTEXT_INFO_SCREEN
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.