ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\StaticURL\Builder\StandardURIBuilder Class Reference
+ Inheritance diagram for ILIAS\StaticURL\Builder\StandardURIBuilder:
+ Collaboration diagram for ILIAS\StaticURL\Builder\StandardURIBuilder:

Public Member Functions

 __construct (private string $ILIAS_HTTP_PATH, private bool $short_url_possible=false)
 
 build (string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])
 
 buildTarget (string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])
 
 getBaseURI ()
 
 build (string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])
 
 getBaseURI ()
 

Data Fields

const SHORT = '/go/'
 
const LONG = '/goto.php/'
 

Detailed Description

Author
Fabian Schmid fabia.nosp@m.n@sr.nosp@m..solu.nosp@m.tion.nosp@m.s

Definition at line 29 of file StandardURIBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\StaticURL\Builder\StandardURIBuilder::__construct ( private string  $ILIAS_HTTP_PATH,
private bool  $short_url_possible = false 
)

Definition at line 31 of file StandardURIBuilder.php.

34 {
35 }

Member Function Documentation

◆ build()

ILIAS\StaticURL\Builder\StandardURIBuilder::build ( string  $namespace,
?ReferenceId  $reference_id = null,
array  $additional_parameters = [] 
)

Implements ILIAS\StaticURL\Builder\URIBuilder.

Definition at line 40 of file StandardURIBuilder.php.

44 : URI {
45 $uri = $this->getBaseURI()
46 . ($this->short_url_possible ? self::SHORT : self::LONG)
47 . $this->buildTarget($namespace, $reference_id, $additional_parameters);
48
49 return new URI($uri);
50 }
buildTarget(string $namespace, ?ReferenceId $reference_id=null, array $additional_parameters=[])
if($err=$client->getError()) $namespace

Referenced by ILIAS\StaticURL\Tests\URIBuilderTest\testFullBuilder().

+ Here is the caller graph for this function:

◆ buildTarget()

ILIAS\StaticURL\Builder\StandardURIBuilder::buildTarget ( string  $namespace,
?ReferenceId  $reference_id = null,
array  $additional_parameters = [] 
)

Definition at line 52 of file StandardURIBuilder.php.

56 : string {
57 return $namespace
58 . ($reference_id !== null ? '/' . $reference_id->toInt() : '')
59 . '/'
60 . implode('/', $additional_parameters);
61 }

◆ getBaseURI()

ILIAS\StaticURL\Builder\StandardURIBuilder::getBaseURI ( )

Implements ILIAS\StaticURL\Builder\URIBuilder.

Definition at line 63 of file StandardURIBuilder.php.

63 : URI
64 {
65 $base_path = $this->ILIAS_HTTP_PATH;
66
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'),
74 default => false,
75 };
76
77 if ($offset === false) {
78 return new URI(trim($base_path, '/'));
79 }
80
81 $uri_string = substr(
82 $base_path,
83 0,
84 $offset
85 );
86 return new URI(
87 trim($uri_string, '/')
88 );
89 }

Referenced by ILIAS\StaticURL\Tests\URIBuilderTest\testBaseURI().

+ Here is the caller graph for this function:

Field Documentation

◆ LONG

const ILIAS\StaticURL\Builder\StandardURIBuilder::LONG = '/goto.php/'

◆ SHORT

const ILIAS\StaticURL\Builder\StandardURIBuilder::SHORT = '/go/'

The documentation for this class was generated from the following file: