19declare(strict_types=1);
59 $this->main_tpl =
$DIC->ui()->mainTemplate();
67 $DIC->language()->loadLanguageModule(
'lti');
69 $DIC->tabs()->addSubTab(
70 self::SUBTAB_ID_OBJECT_SETTINGS,
71 $DIC->language()->txt(self::SUBTAB_ID_OBJECT_SETTINGS),
72 $DIC->ctrl()->getLinkTarget($this)
76 $DIC->tabs()->addSubTab(
77 self::SUBTAB_ID_PROVIDER_SETTINGS,
78 $DIC->language()->txt(self::SUBTAB_ID_PROVIDER_SETTINGS),
79 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumeProviderSettingsGUI::class)
85 if ($validator->validate()) {
86 $DIC->tabs()->addSubTab(
87 self::SUBTAB_ID_CERTIFICATE,
88 $DIC->language()->txt(self::SUBTAB_ID_CERTIFICATE),
89 $DIC->ctrl()->getLinkTargetByClass(ilCertificateGUI::class,
'certificateEditor')
98 if ($this->
object->getProvider()->isGlobal()) {
102 if ($this->
object->getProvider()->getCreator() != $DIC->user()->getId()) {
133 $nc =
$DIC->ctrl()->getNextClass();
136 case strtolower(ilCertificateGUI::class):
140 if (!$validator->validate()) {
144 $DIC->tabs()->activateSubTab(self::SUBTAB_ID_CERTIFICATE);
147 $gui = $guiFactory->create($this->
object);
149 $DIC->ctrl()->forwardCommand($gui);
153 case strtolower(ilLTIConsumeProviderSettingsGUI::class):
155 $DIC->tabs()->activateSubTab(self::SUBTAB_ID_PROVIDER_SETTINGS);
158 $DIC->ctrl()->forwardCommand($gui);
162 $DIC->tabs()->activateSubTab(self::SUBTAB_ID_OBJECT_SETTINGS);
163 $command =
$DIC->ctrl()->getCmd(self::CMD_SHOW_SETTINGS) .
'Cmd';
172 if ($form ===
null) {
176 $DIC->ui()->mainTemplate()->setContent($form->getHTML());
185 if ($form->checkInput()) {
186 $oldMasteryScore = $this->
object->getMasteryScore();
188 $form->initObject($this->
object);
189 $this->
object->update();
191 if ($oldMasteryScore !== $this->
object->getMasteryScore()) {
195 $this->main_tpl->setOnScreenMessage(
'success',
$DIC->language()->txt(
'msg_obj_modified'),
true);
196 $DIC->ctrl()->redirect($this, self::CMD_SHOW_SETTINGS);
208 $DIC->ctrl()->getFormAction($this),
209 self::CMD_SAVE_SETTINGS,
210 self::CMD_SHOW_SETTINGS
222 if (!$validator->isCertificateDownloadable(
$DIC->user()->getId(), $this->object->getId())) {
223 $this->main_tpl->setOnScreenMessage(
'failure',
$DIC->language()->txt(
"permission_denied"),
true);
229 $certLogger =
$DIC->logger()->cert();
235 $DIC->language()->txt(
'error_creating_certificate_pdf')
238 $pdfAction->downloadPdf(
$DIC->user()->getId(), $this->object->getId());
Validates if an active certificate is stored in the database and can be downloaded by the user.
Just a wrapper class to create Unit Test for other classes.
static _refreshStatus(int $a_obj_id, ?array $a_users=null)
static isUserDynamicRegistrationTransaction(ilLTIConsumeProvider $provider)
ilLTIConsumerAccess $access
const SUBTAB_ID_CERTIFICATE
ilGlobalTemplateInterface $main_tpl
showSettingsCmd(ilLTIConsumerSettingsFormGUI $form=null)
__construct(ilObjLTIConsumer $object, ilLTIConsumerAccess $access)
ilLTIConsumerAccess constructor.
const SUBTAB_ID_PROVIDER_SETTINGS
executeCommand()
Execute Command.
needsProviderSettingsSubTab()
const CMD_DELIVER_CERTIFICATE
const SUBTAB_ID_OBJECT_SETTINGS
static get(string $a_var)