ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
class.ilMailFormCall.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2012 ILIAS open source, Extended GPL, see docs/LICENSE */
3
11{
15 const SESSION_KEY = 'mail_transport';
16
20 const REFERER_KEY = 'r';
21
25 const SIGNATURE_KEY = 'sig';
26
35 public static function getLinkTarget($gui, $cmd, Array $gui_params = array(), Array $mail_params = array())
36 {
37 return self::getTargetUrl('&amp;', $gui, $cmd, $gui_params, $mail_params);
38 }
39
48 public static function getRedirectTarget($gui, $cmd, Array $gui_params = array(), Array $mail_params = array())
49 {
50 return self::getTargetUrl('&', $gui, $cmd, $gui_params, $mail_params);
51 }
52
62 protected static function getTargetUrl($argument_separator, $gui, $cmd, Array $gui_params = array(), Array $mail_params = array())
63 {
64 $mparams = '';
65 $referer = '';
66
67 foreach($mail_params as $key => $value)
68 {
69 $mparams .= $argument_separator . $key . '=' . $value;
70 }
71
72 if(is_object($gui))
73 {
77 global $ilCtrl;
78 $ilCtrlTmp = clone $ilCtrl;
79 foreach($gui_params as $key => $value)
80 {
81 $ilCtrlTmp->setParameter($gui, $key, $value);
82 }
83 $referer = $ilCtrlTmp->getLinkTarget($gui, $cmd, '', false, false);
84 }
85 else if(is_string($gui))
86 {
87 $referer = $gui;
88 }
89
90 $referer = $argument_separator . self::REFERER_KEY . '=' . rawurlencode(base64_encode($referer));
91
92 return 'ilias.php?baseClass=ilMailGUI' . $referer . $mparams;
93 }
94
99 public static function storeReferer($request_params)
100 {
101 if(isset($request_params[self::REFERER_KEY]))
102 {
103 $_SESSION[self::REFERER_KEY] = base64_decode(rawurldecode($request_params[self::REFERER_KEY]));
104 $_SESSION[self::SIGNATURE_KEY] = base64_decode(rawurldecode($request_params[self::SIGNATURE_KEY]));
105 }
106 else
107 {
108 unset($_SESSION[self::REFERER_KEY]);
109 unset($_SESSION[self::SIGNATURE_KEY]);
110 }
111 }
112
118 public static function getSignature()
119 {
121
122 unset($_SESSION[self::SIGNATURE_KEY]);
123
124 return $sig;
125 }
126
131 public static function getRefererRedirectUrl()
132 {
134
135 if(strlen($url))
136 {
137 $parts = parse_url($url);
138 if(isset($parts['query']) && strlen($parts['query']))
139 {
140 $url .= '&returned_from_mail=1';
141 }
142 else
143 {
144 $url .= '?returned_from_mail=1';
145 }
146 }
147
148 unset($_SESSION[self::REFERER_KEY]);
149
150 return $url;
151 }
152
157 public static function isRefererStored()
158 {
159 return isset($_SESSION[self::REFERER_KEY]) && strlen($_SESSION[self::REFERER_KEY]) ? true : false;
160 }
161
165 public static function setRecipients(array $recipients)
166 {
167 $session = ilSession::get(self::SESSION_KEY);
168 $session['rcp_to'] = $recipients;
169 ilSession::set(self::SESSION_KEY, $session);
170 }
171
175 public static function getRecipients()
176 {
177 $session = ilSession::get(self::SESSION_KEY);
178 return (array)$session['rcp_to'];
179 }
180}
Statically used helper class for generating links to the mail form user interface.
const REFERER_KEY
HTTP-GET parameter for the referer url.
static storeReferer($request_params)
static getSignature()
Get preset signature.
static getRedirectTarget($gui, $cmd, Array $gui_params=array(), Array $mail_params=array())
const SIGNATURE_KEY
Session parameter for the hash.
static setRecipients(array $recipients)
static getLinkTarget($gui, $cmd, Array $gui_params=array(), Array $mail_params=array())
static set($a_var, $a_val)
Set a value.
static get($a_var)
Get a value.
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
global $ilCtrl
Definition: ilias.php:18
$cmd
Definition: sahs_server.php:35