19declare(strict_types=1);
56 private UIFactory $ui_factory,
57 private UIRenderer $ui_renderer,
65 return $this->test_question_set_config;
70 return $this->test_obj;
75 return $this->test_player_gui;
80 return $this->test_session;
103 $this->infoMessages[] = $infoMessage;
113 $this->failureMessages[] = $failureMessage;
118 bool $a_multipart =
false,
119 string $a_target =
""
121 if ($this->global_toolbar instanceof parent) {
122 $this->global_toolbar->setFormAction($a_val, $a_multipart, $a_target);
124 parent::setFormAction($a_val, $a_multipart, $a_target);
130 if ($this->global_toolbar instanceof parent) {
131 $this->global_toolbar->setCloseFormTag($a_val);
133 parent::setCloseFormTag($a_val);
139 bool $a_output_label =
false
141 if ($this->global_toolbar instanceof parent) {
142 $this->global_toolbar->addInputItem($a_item, $a_output_label);
144 parent::addInputItem($a_item, $a_output_label);
150 if ($this->global_toolbar instanceof parent) {
151 $this->global_toolbar->addFormInput($formInput);
157 if ($this->global_toolbar instanceof parent) {
158 $this->global_toolbar->setItems([]);
166 if (is_object($target)) {
167 $target = get_class($target);
175 if (is_array($target)) {
179 return [$this->getClassName($target)];
184 return array_merge(self::$TARGET_CLASS_PATH_BASE, $this->getClassNameArray($target));
189 $this->
ctrl->setParameterByClass($this->getClassName($target), $parameter, $value);
194 return $this->
ctrl->getLinkTargetByClass($this->getClassPath($target), $cmd);
199 return $this->
ctrl->getFormActionByClass($this->getClassPath($target));
204 if ($this->getSessionLockString() ===
'') {
205 $this->setSessionLockString($this->buildSessionLockString());
211 return md5(
$_COOKIE[session_name()] . time());
216 $this->ensureInitialisedSessionLockString();
218 $this->setParameter($this->getTestPlayerGUI(),
'lock', $this->getSessionLockString());
219 $this->setParameter($this->getTestPlayerGUI(),
'sequence', $this->getTestSession()->getLastSequence());
220 $this->setParameter(
'ilObjTestGUI',
'ref_id', $this->getTestOBJ()->getRefId());
221 $this->setFormAction($this->buildFormAction($this->getTestPlayerGUI()));
223 if ($this->getTestOBJ()->getOfflineStatus()) {
224 $message = $this->
lng->txt(
'test_is_offline');
228 if ($this->
access->checkAccess(
"write",
"", $this->getTestOBJ()->getRefId())) {
229 $links[] = $this->ui_factory->link()->standard(
230 $this->
lng->txt(
'test_edit_settings'),
231 $this->buildLinkTarget(SettingsMainGUI::class)
235 $msgBox = $this->ui_factory->messageBox()->info($message)->withLinks($links);
237 $this->populateMessage($this->ui_renderer->render($msgBox));
240 if ($this->
access->checkAccess(
"write",
"", $this->getTestOBJ()->getRefId())) {
244 if ($qsaImportFails->failedImportsRegistered() || $sltImportFails->failedImportsRegistered()) {
245 $importFailsMsg = [];
247 if ($qsaImportFails->failedImportsRegistered()) {
248 $importFailsMsg[] = $qsaImportFails->getFailedImportsMessage($this->
lng);
251 if ($sltImportFails->failedImportsRegistered()) {
252 $importFailsMsg[] = $sltImportFails->getFailedImportsMessage($this->
lng);
255 $message = implode(
'<br />', $importFailsMsg);
257 $button = $this->ui_factory->button()->standard(
258 $this->
lng->txt(
'ass_skl_import_fails_remove_btn'),
259 $this->ctrl->getLinkTargetByClass(
'ilObjTestGUI',
'removeImportFails')
262 $msgBox = $this->ui_factory->messageBox()->failure($message)->withButtons([$button]);
264 $this->populateMessage($this->ui_renderer->render($msgBox));
271 $this->main_tpl->setCurrentBlock(
'mess');
272 $this->main_tpl->setVariable(
'MESSAGE', $message);
273 $this->main_tpl->parseCurrentBlock();
278 $info_messages = $this->getInfoMessages();
279 if ($info_messages !== []) {
280 $this->main_tpl->setOnScreenMessage(
'info', array_pop($info_messages));
283 $failure_messages = $this->getFailureMessages();
284 if ($failure_messages !== []) {
285 $this->main_tpl->setOnScreenMessage(
'failure', array_pop($failure_messages));
Builds a Color from either hex- or rgb values.
@ilCtrl_Calls ILIAS\Test\Settings\MainSettings\SettingsMainGUI: ilPropertyFormGUI @ilCtrl_Calls ILIAS...
An entity that renders components to a string output.
Interface ilAccessHandler This interface combines all available interfaces which can be called via gl...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if(!file_exists('../ilias.ini.php'))