4require_once 
'Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
 
    5require_once 
'Services/UIComponent/Button/classes/class.ilLinkButton.php';
 
    6require_once 
'Services/UIComponent/Button/classes/class.ilSubmitButton.php';
 
    7require_once 
'Services/Form/classes/class.ilFormPropertyGUI.php';
 
    8require_once 
'Services/Form/classes/class.ilHiddenInputGUI.php';
 
  231        $this->infoMessages[] = $infoMessage;
 
  247        $this->failureMessages[] = $failureMessage;
 
  250    public function setFormAction($formAction, $isMultipart = 
false, $target = 
'')
 
  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());
 
  306        if (is_object($target)) {
 
  307            $target = get_class($target);
 
  315        if (is_array($target)) {
 
  324        return array_merge(self::$TARGET_CLASS_PATH_BASE, $this->
getClassNameArray($target));
 
  329        $this->ctrl->setParameterByClass($this->
getClassName($target), $parameter, $value);
 
  334        return $this->ctrl->getLinkTargetByClass($this->
getClassPath($target), $cmd);
 
  339        return $this->ctrl->getFormActionByClass($this->
getClassPath($target));
 
  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);
 
  564                require_once 
'Services/Form/classes/class.ilTextInputGUI.php';
 
  565                $anonymous_id = 
new ilTextInputGUI($this->lng->txt(
'enter_anonymous_code'), 
'anonymous_id');
 
  566                $anonymous_id->setSize(8);
 
  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'),
 
  582                    $this->buildLinkTarget(
'ilobjtestsettingsgeneralgui')
 
  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();
 
An exception for terminatinating execution or to throw for unit testing.
This class provides processing control methods.
static getSkillTriggerAnswerNumberBarrier()
static _lookupOnlineTestAccess($a_test_id, $a_user_id)
Checks if a user is allowd to run an online exam.
Administration class for plugins.
const CONTEXT_INFO_SCREEN
const CMD_SHOW_SKILL_THRESHOLDS
This class represents a text property in a property form.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Interface ilAccessHandler.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...