19 declare(strict_types=1);
46 array $gui_params = [],
47 array $mail_params = [],
48 array $context_params = []
50 return self::getTargetUrl(
'&', $gui, $cmd, $gui_params, $mail_params, $context_params);
64 array $gui_params = [],
65 array $mail_params = [],
66 array $context_params = []
68 return self::getTargetUrl(
'&', $gui, $cmd, $gui_params, $mail_params, $context_params);
81 string $argument_separator,
84 array $gui_params = [],
85 array $mail_params = [],
86 array $context_params = []
93 foreach ($mail_params as
$key => $value) {
94 $mparams .= $argument_separator .
$key .
'=' . urlencode((
string) $value);
97 foreach ($context_params as
$key => $value) {
98 if (
$key === self::CONTEXT_KEY) {
99 $mparams .= $argument_separator .
$key .
'=' . urlencode((
string) $value);
101 $mparams .= $argument_separator . self::CONTEXT_PREFIX .
'_' .
$key .
'=' . urlencode((
string) $value);
105 if (is_object($gui)) {
106 $ilCtrlTmp = clone $DIC->ctrl();
107 foreach ($gui_params as
$key => $value) {
108 $ilCtrlTmp->setParameter($gui,
$key, $value);
110 $referer = $ilCtrlTmp->getLinkTarget($gui, $cmd,
'');
111 } elseif (is_string($gui)) {
115 $referer = $argument_separator . self::REFERER_KEY .
'=' . rawurlencode(base64_encode($referer));
117 return 'ilias.php?baseClass=ilMailGUI' . $referer . $mparams;
127 if (isset($queryParameters[self::REFERER_KEY])) {
128 $session[self::REFERER_KEY] = base64_decode(rawurldecode($queryParameters[self::REFERER_KEY]));
129 $session[self::SIGNATURE_KEY] = base64_decode(
131 $queryParameters[self::SIGNATURE_KEY] ??
'' 135 $contextParameters = [];
136 foreach ($queryParameters as
$key => $value) {
137 $prefix = substr(
$key, 0, strlen(self::CONTEXT_PREFIX));
138 if ($prefix === self::CONTEXT_PREFIX) {
139 if (
$key === self::CONTEXT_KEY) {
140 $contextParameters[
$key] = $value;
142 $contextParameters[substr(
$key, strlen(self::CONTEXT_PREFIX .
'_'))] = $value;
146 $session[self::CONTEXT_PREFIX] = $contextParameters;
148 if (isset(
$session[self::REFERER_KEY])) {
151 if (isset(
$session[self::SIGNATURE_KEY])) {
152 unset(
$session[self::SIGNATURE_KEY]);
154 if (isset(
$session[self::CONTEXT_PREFIX])) {
155 unset(
$session[self::CONTEXT_PREFIX]);
167 if (isset(
$session[self::SIGNATURE_KEY])) {
168 $sig =
$session[self::SIGNATURE_KEY];
170 unset(
$session[self::SIGNATURE_KEY]);
182 if (isset(
$session[self::REFERER_KEY])) {
184 if (is_string(
$url) &&
$url !==
'') {
187 $url .=
'&returned_from_mail=1';
189 $url .=
'?returned_from_mail=1';
193 if (isset(
$parts[
'host']) && $ilias_url_parts[
'host'] !==
$parts[
'host']) {
194 $url =
'ilias.php?baseClass=ilMailGUI';
210 isset(
$session[self::REFERER_KEY]) &&
211 is_string(
$session[self::REFERER_KEY]) &&
220 isset(
$session[self::CONTEXT_PREFIX][self::CONTEXT_KEY]) &&
221 is_string(
$session[self::CONTEXT_PREFIX][self::CONTEXT_KEY]) ?
222 $session[self::CONTEXT_PREFIX][self::CONTEXT_KEY] : null
236 if (isset(
$session[self::CONTEXT_PREFIX]) && is_array(
$session[self::CONTEXT_PREFIX])) {
237 return $session[self::CONTEXT_PREFIX];
246 $session[self::CONTEXT_PREFIX] = $parameters;
256 $session[
'rcp_' .
$type] = array_map(
'strval', array_values($recipients));
268 return array_map(
'strval', array_values(
$session[$key]));
static get(string $a_var)
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
static set(string $a_var, $a_val)
Set a value.