19 declare(strict_types=1);
35 array $gui_params = [],
36 array $mail_params = [],
37 array $context_params = []
39 return self::getTargetUrl(
'&', $gui, $cmd, $gui_params, $mail_params, $context_params);
48 array $gui_params = [],
49 array $mail_params = [],
50 array $context_params = []
52 return self::getTargetUrl(
'&', $gui, $cmd, $gui_params, $mail_params, $context_params);
59 string $argument_separator,
62 array $gui_params = [],
63 array $mail_params = [],
64 array $context_params = []
71 foreach ($mail_params as $key => $value) {
72 $mparams .= $argument_separator . $key .
'=' . urlencode((
string) $value);
75 foreach ($context_params as $key => $value) {
76 if ($key === self::CONTEXT_KEY) {
77 $mparams .= $argument_separator . $key .
'=' . urlencode((
string) $value);
79 $mparams .= $argument_separator . self::CONTEXT_PREFIX .
'_' . $key .
'=' . urlencode((
string) $value);
83 if (is_object($gui)) {
84 $ctrl_tmp = clone $DIC->ctrl();
85 foreach ($gui_params as $key => $value) {
86 $ctrl_tmp->setParameter($gui, $key, $value);
88 $referer = $ctrl_tmp->getLinkTarget($gui, $cmd,
'');
89 } elseif (is_string($gui)) {
93 $referer = $argument_separator . self::REFERER_KEY .
'=' . rawurlencode(base64_encode((
string) $referer));
95 return 'ilias.php?baseClass=ilMailGUI' . $referer . $mparams;
105 if (isset($query_parameters[self::REFERER_KEY])) {
106 $session[self::REFERER_KEY] = base64_decode(rawurldecode((
string) $query_parameters[self::REFERER_KEY]));
107 $session[self::SIGNATURE_KEY] = base64_decode(
109 $query_parameters[self::SIGNATURE_KEY] ??
'' 113 $context_parameters = [];
114 foreach ($query_parameters as $key => $value) {
115 $prefix = substr($key, 0, strlen(self::CONTEXT_PREFIX));
116 if ($prefix === self::CONTEXT_PREFIX) {
117 if ($key === self::CONTEXT_KEY) {
118 $context_parameters[$key] = $value;
120 $context_parameters[substr($key, strlen(self::CONTEXT_PREFIX .
'_'))] = $value;
124 $session[self::CONTEXT_PREFIX] = $context_parameters;
126 if (isset($session[self::REFERER_KEY])) {
127 unset($session[self::REFERER_KEY]);
129 if (isset($session[self::SIGNATURE_KEY])) {
130 unset($session[self::SIGNATURE_KEY]);
132 if (isset($session[self::CONTEXT_PREFIX])) {
133 unset($session[self::CONTEXT_PREFIX]);
145 if (isset($session[self::SIGNATURE_KEY])) {
146 $sig = $session[self::SIGNATURE_KEY];
148 unset($session[self::SIGNATURE_KEY]);
160 if (isset($session[self::REFERER_KEY])) {
161 $url = $session[self::REFERER_KEY];
162 if (is_string(
$url) &&
$url !==
'') {
165 $url .=
'&returned_from_mail=1';
167 $url .=
'?returned_from_mail=1';
171 if (isset(
$parts[
'host']) && $ilias_url_parts[
'host'] !==
$parts[
'host']) {
172 $url =
'ilias.php?baseClass=ilMailGUI';
176 unset($session[self::REFERER_KEY]);
188 isset($session[self::REFERER_KEY]) &&
189 is_string($session[self::REFERER_KEY]) &&
190 $session[self::REFERER_KEY] !==
'' 198 isset($session[self::CONTEXT_PREFIX][self::CONTEXT_KEY]) &&
199 is_string($session[self::CONTEXT_PREFIX][self::CONTEXT_KEY]) ?
200 $session[self::CONTEXT_PREFIX][self::CONTEXT_KEY] :
null 207 $session[self::CONTEXT_KEY] =
$id;
214 if (isset($session[self::CONTEXT_PREFIX]) && is_array($session[self::CONTEXT_PREFIX])) {
215 return $session[self::CONTEXT_PREFIX];
224 $session[self::CONTEXT_PREFIX] = $parameters;
231 public static function setRecipients(array $recipients,
string $type =
'to'): void
234 $session[
'rcp_' . $type] =
array_map(
'strval', array_values($recipients));
244 $key =
'rcp_' . $type;
245 if (isset($session[$key]) && is_array($session[$key])) {
246 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
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
static set(string $a_var, $a_val)
Set a value.