ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilKSDocumentationGotoLink.php
Go to the documentation of this file.
1<?php
18declare(strict_types=1);
19
26
31{
32 public function getNamespace(): string
33 {
34 return 'stys';
35 }
36
37 public function handle(Request $request, Context $context, Factory $response_factory): Response
38 {
39 return $response_factory->can(
41 $context->ctrl(),
42 $request->getReferenceId()?->toInt() ?? 0,
43 $request->getAdditionalParameters()[0] ?? '',
44 $request->getAdditionalParameters()[1] ?? '',
45 $request->getAdditionalParameters()[2] ?? ''
46 )
47 );
48 }
49
50 public function generateGotoLink(string $node_id, string $skin_id, string $style_id): string
51 {
52 return implode('/', [$node_id, $skin_id, $style_id]);
53 }
54
55 public function generateRedirectURL(
56 ilCtrl $ctrl,
57 int $ref_id,
58 string $node_id,
59 string $skin_id,
60 string $style_id,
61 ): string {
62 $ctrl->setParameterByClass(ilSystemStyleDocumentationGUI::class, 'skin_id', $skin_id);
64 ilSystemStyleDocumentationGUI::class,
65 'style_id',
66 $style_id
67 );
68 $ctrl->setParameterByClass(ilSystemStyleDocumentationGUI::class, 'node_id', $node_id);
69 $ctrl->setParameterByClass(ilSystemStyleDocumentationGUI::class, 'ref_id', $ref_id);
70
71 $cmd_classes = [
72 ilAdministrationGUI::class,
73 ilObjStyleSettingsGUI::class,
74 ilSystemStyleMainGUI::class,
75 ilSystemStyleDocumentationGUI::class
76 ];
77
78 $ctrl->setTargetScript('ilias.php');
79
80 return $ctrl->getLinkTargetByClass($cmd_classes, 'entries');
81 }
82
86 public function redirectWithGotoLink(string $ref_id, array $params, ilCtrl $ctrl): void
87 {
89 $node_id = $params[2] ?? '';
90 $skin_id = $params[3] ?? '';
91 $style_id = $params[4] ?? '';
92
93 $ctrl->redirectToURL(
94 $this->generateRedirectURL(
95 $ctrl,
96 $ref_id,
97 $node_id,
98 $skin_id,
99 $style_id
100 )
101 );
102 }
103}
Class ilCtrl provides processing control methods.
redirectToURL(string $target_url)
@inheritDoc
setTargetScript(string $a_target_script)
@inheritDoc
setParameterByClass(string $a_class, string $a_parameter, $a_value)
@inheritDoc
getLinkTargetByClass( $a_class, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
@inheritDoc
Renders the Overview of the Examples in the Administration.
$ref_id
Definition: ltiauth.php:66
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
Definition: ltiregstart.php:31
$context
Definition: webdav.php:31