19 declare(strict_types=1);
64 return $this->test_question_set_config;
69 return $this->test_obj;
74 return $this->test_player_gui;
79 return $this->test_session;
102 $this->infoMessages[] = $infoMessage;
112 $this->failureMessages[] = $failureMessage;
117 bool $a_multipart =
false,
118 string $a_target =
"" 120 if ($this->global_toolbar instanceof parent) {
121 $this->global_toolbar->setFormAction($a_val, $a_multipart, $a_target);
123 parent::setFormAction($a_val, $a_multipart, $a_target);
129 if ($this->global_toolbar instanceof parent) {
130 $this->global_toolbar->setCloseFormTag($a_val);
132 parent::setCloseFormTag($a_val);
138 bool $a_output_label =
false 140 if ($this->global_toolbar instanceof parent) {
141 $this->global_toolbar->addInputItem($a_item, $a_output_label);
143 parent::addInputItem($a_item, $a_output_label);
149 if ($this->global_toolbar instanceof parent) {
150 $this->global_toolbar->addFormInput($formInput);
156 if ($this->global_toolbar instanceof parent) {
157 $this->global_toolbar->setItems([]);
165 if (is_object($target)) {
166 $target = get_class($target);
174 if (is_array($target)) {
183 return array_merge(self::$TARGET_CLASS_PATH_BASE, $this->
getClassNameArray($target));
188 $this->
ctrl->setParameterByClass($this->
getClassName($target), $parameter, $value);
193 return $this->
ctrl->getLinkTargetByClass($this->
getClassPath($target), $cmd);
210 return md5(
$_COOKIE[session_name()] . time());
215 if (!$this->test_obj->isFixedTest()) {
220 $assignmentList->setParentObjId($this->test_obj->getId());
221 $assignmentList->loadFromDb();
223 return $assignmentList->hasSkillsAssignedLowerThanBarrier();
229 $this->
lng->txt(
'tst_skill_triggerings_num_req_answers_not_reached_warn'),
245 if ($this->
access->checkAccess(
"read",
"", $this->getTestOBJ()->getRefId())) {
246 $executable = $this->
getTestOBJ()->isExecutable(
252 if ($executable[
'executable'] && $this->
getTestOBJ()->areObligationsEnabled() && $this->
getTestOBJ()->hasObligations()) {
253 $this->
addInfoMessage($this->
lng->txt(
'tst_test_contains_obligatory_questions'));
262 if ($this->
access->checkAccess(
"write",
"", $this->getTestOBJ()->getRefId())) {
263 $links[] = $this->ui_factory->link()->standard(
264 $this->
lng->txt(
'test_edit_settings'),
269 $msgBox = $this->ui_factory->messageBox()->info(
$message)->withLinks($links);
274 if ($this->
access->checkAccess(
"write",
"", $this->getTestOBJ()->getRefId())) {
279 $importFailsMsg = [];
281 if ($qsaImportFails->failedImportsRegistered()) {
289 $message = implode(
'<br />', $importFailsMsg);
291 $button = $this->ui_factory->button()->standard(
292 $this->
lng->txt(
'ass_skl_import_fails_remove_btn'),
293 $this->
ctrl->getLinkTargetByClass(
'ilObjTestGUI',
'removeImportFails')
296 $msgBox = $this->ui_factory->messageBox()->failure(
$message)->withButtons([$button]);
299 } elseif ($this->
getTestOBJ()->isSkillServiceToBeConsidered()) {
317 $this->main_tpl->setCurrentBlock(
'mess');
318 $this->main_tpl->setVariable(
'MESSAGE',
$message);
319 $this->main_tpl->parseCurrentBlock();
325 if ($info_messages !== []) {
326 $this->main_tpl->setOnScreenMessage(
'info', array_pop($info_messages));
330 if ($failure_messages !== []) {
331 $this->main_tpl->setOnScreenMessage(
'failure', array_pop($failure_messages));
getFailedImportsMessage(ilLanguage $lng)
failedImportsRegistered()
static getSkillTriggerAnswerNumberBarrier()
getFailedImportsMessage(ilLanguage $lng)
Output class for assessment test execution.