ILIAS  eassessment Revision 61809
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilPaymentObjectSelector.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 /*
5 * Repository Explorer
6 *
7 * @author Stefan Meyer <meyer@leifos.com>
8 * @version $Id: class.ilPaymentObjectSelector.php 20462 2009-07-07 15:33:41Z mjansen $
9 *
10 * @package core
11 */
12 
13 require_once("classes/class.ilExplorer.php");
14 require_once './Services/Payment/classes/class.ilPaymentObject.php';
15 
16 
18 {
19 
25  var $root_id;
26  var $output;
27  var $ctrl;
28 
30  var $ref_id;
31 
39  function ilPaymentObjectSelector($a_target, $a_classname)
40  {
41  global $tree,$ilCtrl;
42 
43  $this->ctrl = $ilCtrl;
44 
45  parent::ilExplorer($a_target);
46  $this->tree = $tree;
47  $this->root_id = $this->tree->readRootId();
48  $this->order_column = "title";
49 
50  $this->setSessionExpandVariable("paya_link_expand");
51 
52  $this->addFilter("adm");
53  $this->addFilter("rolf");
54  $this->addFilter("chat");
55  #$this->addFilter('fold');
56 
58  $this->setFiltered(true);
59 
60  $this->classname = $a_classname;
61  }
62 
63  function buildLinkTarget($a_node_id, $a_type)
64  {
65  $this->ctrl->setParameterByClass($this->classname,'sell_id',$a_node_id);
66 
67  if ($this->classname == 'ilpaymentstatisticgui')
68  {
69  return $this->ctrl->getLinkTargetByClass($this->classname,'searchUser');
70  }
71  if ($this->classname == 'ilobjpaymentsettingsgui')
72  {
73  return $this->ctrl->getLinkTargetByClass($this->classname,'searchUserSP');
74  }
75  else
76  {
77  return $this->ctrl->getLinkTargetByClass($this->classname,'showSelectedObject');
78  }
79 
80  }
81 
82  function buildFrameTarget($a_type, $a_child = 0, $a_obj_id = 0)
83  {
84  return '';
85  }
86 
87  function isClickable($a_type, $a_ref_id)
88  {
89  global $ilUser;
90 
91  switch($a_type)
92  {
93  case 'lm':
94  case 'crs':
95  case 'tst':
96  case 'sahs':
97  case 'file':
98  case 'htlm':
99 case 'exc':
100  break;
101  default:
102  return false;
103  }
104 
105 
106  if ($this->classname == 'ilpaymentstatisticgui')
107  {
108  if (ilPaymentObject::_isPurchasable($a_ref_id, $ilUser->getId(), true))
109  #if (!ilPaymentObject::_isPurchasable($a_ref_id, $ilUser->getId(), true))
110  {
111  return true;
112  }
113  }
114  else if ($this->classname == 'ilobjpaymentsettingsgui')
115  {
116  if (ilPaymentObject::_isPurchasable($a_ref_id))
117  #if (!ilPaymentObject::_isPurchasable($a_ref_id))
118  {
119  return true;
120  }
121  }
122  else if($this->classname == 'ilpaymentobjectgui')
123  {
124  // object doesn't exist in payment_object
125  if(ilPaymentObject::_isNewObject($a_ref_id))
126  {
127  return true;
128  }
129 
130  }
131  else
132  {
133  if (ilPaymentObject::_isPurchasable($a_ref_id))
134  {
135  return true;
136  }
137  }
138  return false;
139 
140  }
141 
142  function setAlwaysClickable($a_value)
143  {
144  $this->always_clickable = $a_value;
145  }
146 
147  function showChilds($a_ref_id)
148  {
149  global $rbacsystem;
150 
151  return true;
152 
153  if ($a_ref_id == 0)
154  {
155  return true;
156  }
157 
158  if ($this->classname == 'ilpaymentstatisticgui')
159  {
160  if (!ilPaymentObject::_isPurchasable($a_ref_id, $ilUser->getId(), true))
161  {
162  return false;
163  }
164  }
165  else if ($this->classname == 'ilobjpaymentsettingsgui')
166  {
167  if (!ilPaymentObject::_isPurchasable($a_ref_id))
168  {
169  return false;
170  }
171  }
172  else
173  {
174  if (!ilPaymentObject::_isPurchasable($a_ref_id))
175  {
176  return false;
177  }
178  }
179 
180  if($rbacsystem->checkAccess("visible", $a_ref_id))
181  {
182  return true;
183  }
184  else
185  {
186  return false;
187  }
188  }
189 
190 
198  function formatHeader($a_obj_id,$a_option)
199  {
200  global $lng, $ilias;
201 
202  $tpl = new ilTemplate("tpl.tree.html", true, true);
203 
204  $tpl->setCurrentBlock("text");
205  $tpl->setVariable("OBJ_TITLE", $lng->txt("repository"));
206  $tpl->parseCurrentBlock();
207 
208  $tpl->setCurrentBlock("row");
209  $tpl->parseCurrentBlock();
210 
211  $this->output[] = $tpl->get();
212  }
213 
214 } // END class ilObjectSelector
215 ?>