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';
 
  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());
 
  344        return md5(
$_COOKIE[
'PHPSESSID'] . time());
 
  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');
 
  599                $anonymous_id->setSize(8);
 
  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()) {
 
sprintf('%.4f', $callTime)
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.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
Interface ilAccessHandler.
catch(Exception $e) $message