ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
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  {
120  $sig = $_SESSION[self::SIGNATURE_KEY];
121 
122  unset($_SESSION[self::SIGNATURE_KEY]);
123 
124  return $sig;
125  }
126 
131  public static function getRefererRedirectUrl()
132  {
133  $url = $_SESSION[self::REFERER_KEY];
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 }
< 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']
static getRedirectTarget($gui, $cmd, Array $gui_params=array(), Array $mail_params=array())
static getLinkTarget($gui, $cmd, Array $gui_params=array(), Array $mail_params=array())
$cmd
Definition: sahs_server.php:35
static get($a_var)
Get a value.
static set($a_var, $a_val)
Set a value.
Statically used helper class for generating links to the mail form user interface.
static storeReferer($request_params)
global $ilCtrl
Definition: ilias.php:18
const REFERER_KEY
HTTP-GET parameter for the referer url.
const SIGNATURE_KEY
Session parameter for the hash.
static getSignature()
Get preset signature.
static setRecipients(array $recipients)