ILIAS  trunk Revision v12.0_alpha-1221-g4e438232683
StaticUrlHandler.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS\Certificate;
22
31use ilSetting;
33
34class StaticUrlHandler extends BaseHandler implements Handler
35{
36 public function getNamespace(): string
37 {
38 return 'cert';
39 }
40
41 public function handle(Request $request, Context $context, Factory $response_factory): Response
42 {
43 if (!$context->isUserLoggedIn()) {
44 return $response_factory->loginFirst();
45 }
46
47 $certificate_settings = new ilSetting('certificate');
48 if (!$certificate_settings->get('active', '0')) {
49 return $response_factory->cannot();
50 }
51
52 $additional_params = implode('/', $request->getAdditionalParameters() ?? []);
53
54 return match ($additional_params) {
55 'list' => $response_factory->can($context->ctrl()->getLinkTargetByClass(
56 [
57 ilDashboardGUI::class,
58 ilAchievementsGUI::class,
59 ilUserCertificateGUI::class,
60 ],
61 'listCertificates',
62 )),
63 default => $response_factory->cannot()
64 };
65 }
66}
handle(Request $request, Context $context, Factory $response_factory)
can(string $uri_path, bool $shift=false)
Definition: Factory.php:47
@ilCtrl_Calls ilAchievementsGUI: ilPersonalSkillsGUI, ilBadgeProfileGUI, ilLearningHistoryGUI,...
@ilCtrl_Calls ilDashboardGUI: ILIAS\User\Profile\PersonalProfileGUI @ilCtrl_Calls ilDashboardGUI: ilO...
ILIAS Setting Class.
@ilCtrl_IsCalledBy ilUserCertificateGUI: ilAchievementsGUI