19declare(strict_types=1);
32 private string $ILIAS_HTTP_PATH,
33 private bool $short_url_possible =
false
38 public const LONG =
'/goto.php/';
43 array $additional_parameters = []
46 . ($this->short_url_possible ? self::
SHORT : self::
LONG)
55 array $additional_parameters = []
58 . ($reference_id !== null ?
'/' . $reference_id->toInt() :
'')
60 . implode(
'/', $additional_parameters);
65 $base_path = $this->ILIAS_HTTP_PATH;
67 $offset = match (
true) {
68 str_contains($base_path, self::SHORT) => strpos($base_path, self::SHORT),
69 str_contains($base_path, self::LONG) => strpos($base_path, rtrim(self::LONG,
'/')),
70 str_contains($base_path, rtrim(self::LONG,
'/')) => strpos($base_path, rtrim(self::LONG,
'/')),
71 str_contains($base_path,
'Customizing') => strpos($base_path,
'Customizing'),
72 str_contains($base_path,
'src') => strpos($base_path,
'src'),
73 str_contains($base_path,
'webservices') => strpos($base_path,
'webservices'),
77 if ($offset ===
false) {
78 return new URI(trim($base_path,
'/'));
87 trim($uri_string,
'/')
The scope of this class is split ilias-conform URI's into components.
__construct(private string $ILIAS_HTTP_PATH, private bool $short_url_possible=false)
buildTarget(string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])
build(string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])
return['delivery_method'=> 'php',]
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if($err=$client->getError()) $namespace