ILIAS  trunk Revision v12.0_alpha-1540-g00f839d5fa1
class.ilKSDocumentationGotoLink.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
27
32{
33 public function getNamespace(): string
34 {
35 return 'stys';
36 }
37
38 public function handle(Request $request, Context $context, Factory $response_factory): Response
39 {
40 return $response_factory->can(
42 $context->ctrl(),
43 $request->getReferenceId()?->toInt() ?? 0,
44 $request->getAdditionalParameters()[0] ?? '',
45 $request->getAdditionalParameters()[1] ?? '',
46 $request->getAdditionalParameters()[2] ?? ''
47 )
48 );
49 }
50
51 public function generateGotoLink(string $node_id, string $skin_id, string $style_id): string
52 {
53 return implode('/', [$node_id, $skin_id, $style_id]);
54 }
55
56 public function generateRedirectURL(
57 ilCtrl $ctrl,
58 int $ref_id,
59 string $node_id,
60 string $skin_id,
61 string $style_id,
62 ): string {
63 $ctrl->setParameterByClass(ilSystemStyleDocumentationGUI::class, 'skin_id', $skin_id);
65 ilSystemStyleDocumentationGUI::class,
66 'style_id',
67 $style_id
68 );
69 $ctrl->setParameterByClass(ilSystemStyleDocumentationGUI::class, 'node_id', $node_id);
70 $ctrl->setParameterByClass(ilSystemStyleDocumentationGUI::class, 'ref_id', $ref_id);
71
72 $cmd_classes = [
73 ilAdministrationGUI::class,
74 ilObjStyleSettingsGUI::class,
75 ilSystemStyleMainGUI::class,
76 ilSystemStyleDocumentationGUI::class
77 ];
78
79 $ctrl->setTargetScript('ilias.php');
80
81 return $ctrl->getLinkTargetByClass($cmd_classes, 'entries');
82 }
83
87 public function redirectWithGotoLink(string $ref_id, array $params, ilCtrl $ctrl): void
88 {
90 $node_id = $params[2] ?? '';
91 $skin_id = $params[3] ?? '';
92 $style_id = $params[4] ?? '';
93
94 $ctrl->redirectToURL(
95 $this->generateRedirectURL(
96 $ctrl,
97 $ref_id,
98 $node_id,
99 $skin_id,
100 $style_id
101 )
102 );
103 }
104}
can(string $uri_path, bool $shift=false)
The Handler successfully resolved the target.
Definition: Factory.php:88
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