19 declare(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)
47 . $this->
buildTarget($namespace, $reference_id, $additional_parameters);
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,
'/')
__construct(private string $ILIAS_HTTP_PATH, private bool $short_url_possible=false)
if($err=$client->getError()) $namespace
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
buildTarget(string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])
build(string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])