19 declare(strict_types=1);
45 protected URI $back_target,
46 protected bool $inline =
false,
47 protected ?
bool $edit = null,
48 ?
URI $ilias_base_url = null
52 $data_signer = $DIC[
'file_delivery.data_signer'];
55 'resource_id' => $this->identification->serialize(),
56 'user_id' => $DIC->user()->getId(),
57 'stakeholder' => $this->stakeholder::class,
58 'editable' => $edit ?? ($this->action->getName() === ActionTarget::EDIT->value)
61 $this->ilias_base_url = $ilias_base_url ??
new URI(ILIAS_HTTP_PATH);
76 return $this->back_target;
86 if ($this->action === null) {
92 $url = rtrim((
string) $this->action->getLauncherUrl(),
'/?#')
96 . urlencode(rtrim((
string) $this->ilias_base_url,
'/')
100 . $this->identification->serialize());
102 if ($appendices !== []) {
103 $url .=
'&' . implode(
'&', $appendices);
115 $appendix = $this->action->getUrlAppendix();
118 if ($appendix !== null) {
119 preg_match_all(
'/([^<]*)=([^>&]*)/m', $appendix, $appendices, PREG_SET_ORDER, 0);
121 $appendices = array_filter($appendices,
static function ($appendix) {
122 return isset($appendix[1], $appendix[2]);
126 $appendices = array_filter($appendices,
static function ($appendix) {
127 return strtolower($appendix[1]) !==
'wopisrc';
131 $appendices = array_filter($appendices,
static function ($appendix) {
132 return !preg_match(
'/([A-Z\_]*)/m', $appendix[2]);
135 $appendices = array_map(
static function ($appendix) {
136 return $appendix[1] .
'=' . $appendix[2];
if(count($parts) !=3) $payload
__construct()
Constructor setup ILIAS global object public.
Class ResourceIdentification.
The scope of this class is split ilias-conform URI's into components.
ActionTarget
Officialy supported action targets, see https://learn.microsoft.com/en-us/openspecs/office_protocols/...
Interface ResourceStakeholder.