ILIAS  eassessment Revision 61809
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilMailFormCall.php
Go to the documentation of this file.
1 <?php
3 {
4  const REFERER_KEY = 'r';
5  const SIGNATURE_KEY = 'sig';
6 
7  public static function _getLinkTarget($gui, $cmd, $gui_params = array(), $mail_params = array())
8  {
9  $mparams = '';
10  foreach($mail_params as $key => $value)
11  {
12  $mparams .= '&amp;'.$key.'='.$value;
13  }
14 
15  if(is_object($gui))
16  {
17  global $ilCtrl;
18  $ilCtrlTmp = clone $ilCtrl;
19  foreach($gui_params as $key => $value)
20  {
21  $ilCtrlTmp->setParameter($gui, $key, $value);
22  }
23  $referer = $ilCtrlTmp->getLinkTarget($gui, $cmd, '', false, false);
24  }
25  else if(is_string($gui))
26  {
27  $referer = $gui;
28  }
29 
30  $referer = '&amp;'.self::REFERER_KEY.'='.rawurlencode(base64_encode($referer));
31 
32  return 'ilias.php?baseClass=ilMailGUI'.$mparams.$referer;
33  }
34 
35  public static function _getRedirectTarget($gui, $cmd, $gui_params = array(), $mail_params = array())
36  {
37  $mparams = '';
38  foreach($mail_params as $key => $value)
39  {
40  $mparams .= '&'.$key.'='.$value;
41  }
42 
43  if(is_object($gui))
44  {
45  global $ilCtrl;
46  $ilCtrlTmp = clone $ilCtrl;
47  foreach($gui_params as $key => $value)
48  {
49  $ilCtrlTmp->setParameter($gui, $key, $value);
50  }
51  $referer = $ilCtrlTmp->getLinkTarget($gui, $cmd, '', false, false);
52  }
53  else if(is_string($gui))
54  {
55  $referer = $gui;
56  }
57 
58  $referer = '&'.self::REFERER_KEY.'='.rawurlencode(base64_encode($referer));
59 
60  return 'ilias.php?baseClass=ilMailGUI'.$referer.$mparams;
61  }
62 
63  public static function _storeReferer($request_params)
64  {
65  if(isset($request_params[self::REFERER_KEY]))
66  {
67  $_SESSION[self::REFERER_KEY] = base64_decode(rawurldecode($request_params[self::REFERER_KEY]));
68  $_SESSION[self::SIGNATURE_KEY] = base64_decode(rawurldecode($request_params[self::SIGNATURE_KEY]));
69  }
70  else
71  {
72  unset($_SESSION[self::REFERER_KEY]);
73  unset($_SESSION[self::SIGNATURE_KEY]);
74  }
75  }
76 
81  public static function _getSignature()
82  {
84 
85  unset($_SESSION[self::SIGNATURE_KEY]);
86 
87  return $sig;
88  }
89 
90  public static function _getRefererRedirectUrl()
91  {
93 
94  unset($_SESSION[self::REFERER_KEY]);
95 
96  return $url;
97  }
98 
99  public static function _isRefererStored()
100  {
101  return isset($_SESSION[self::REFERER_KEY]) && strlen($_SESSION[self::REFERER_KEY]) ? true : false;
102  }
103 }
104 ?>