ILIAS  release_4-3 Revision
 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("./Services/UIComponent/Explorer/classes/class.ilExplorer.php");
14 require_once './Services/Payment/classes/class.ilPaymentObject.php';
15 
16 
18 {
19 
25  public $root_id;
26  public $output;
27  public $ctrl;
28 
30  public $ref_id;
31 
32  public $classname;
33 
40  public function __construct($a_target, $a_classname)
41  {
42  global $tree,$ilCtrl;
43 
44  $this->ctrl = $ilCtrl;
45 
46  parent::ilExplorer($a_target);
47  $this->tree = $tree;
48  $this->root_id = $this->tree->readRootId();
49  $this->order_column = "title";
50 
51  $this->setSessionExpandVariable("paya_link_expand");
52 
53  $this->addFilter("adm");
54  $this->addFilter("rolf");
55  $this->addFilter("chat");
56  #$this->addFilter('fold');
57 
59  $this->setFiltered(true);
60 
61  $this->classname = $a_classname;
62  }
63 
64  function buildLinkTarget($a_node_id, $a_type)
65  {
66  $this->ctrl->setParameterByClass($this->classname,'sell_id',$a_node_id);
67 
68  if ($this->classname == 'ilpaymentstatisticgui')
69  {
70  return $this->ctrl->getLinkTargetByClass($this->classname,'searchUser');
71  }
72  if ($this->classname == 'ilobjpaymentsettingsgui')
73  {
74  return $this->ctrl->getLinkTargetByClass($this->classname,'searchUserSP');
75  }
76  else
77  {
78  return $this->ctrl->getLinkTargetByClass($this->classname,'showSelectedObject');
79  }
80 
81  }
82 
83  function buildFrameTarget($a_type, $a_child = 0, $a_obj_id = 0)
84  {
85  return '';
86  }
87 
88  function isClickable($a_type, $a_ref_id)
89  {
90  global $ilUser;
91 
92  switch($a_type)
93  {
94  case 'lm':
95  case 'crs':
96  case 'tst':
97  case 'sahs':
98  case 'file':
99  case 'htlm':
100  case 'exc':
101  case 'glo':
102  break;
103  default:
104  return false;
105  }
106 
107 
108  if ($this->classname == 'ilpaymentstatisticgui')
109  {
110  if (ilPaymentObject::_isPurchasable($a_ref_id, $ilUser->getId(), true))
111  #if (!ilPaymentObject::_isPurchasable($a_ref_id, $ilUser->getId(), true))
112  {
113  return true;
114  }
115  }
116  else if ($this->classname == 'ilobjpaymentsettingsgui')
117  {
118  if (ilPaymentObject::_isPurchasable($a_ref_id))
119  #if (!ilPaymentObject::_isPurchasable($a_ref_id))
120  {
121  return true;
122  }
123  }
124  else if($this->classname == 'ilpaymentobjectgui')
125  {
126  // object doesn't exist in payment_object
127  if(ilPaymentObject::_isNewObject($a_ref_id))
128  {
129  return true;
130  }
131 
132  }
133  else
134  {
135  if (ilPaymentObject::_isPurchasable($a_ref_id))
136  {
137  return true;
138  }
139  }
140  return false;
141 
142  }
143 
144  function setAlwaysClickable($a_value)
145  {
146  $this->always_clickable = $a_value;
147  }
148 
149  function showChilds($a_ref_id)
150  {
151 
152  // depricated?!
153  return true;
154 // global $rbacsystem;
155 // if ($a_ref_id == 0)
156 // {
157 // return true;
158 // }
159 //
160 // if ($this->classname == 'ilpaymentstatisticgui')
161 // {
162 // if (!ilPaymentObject::_isPurchasable($a_ref_id, $ilUser->getId(), true))
163 // {
164 // return false;
165 // }
166 // }
167 // else if ($this->classname == 'ilobjpaymentsettingsgui')
168 // {
169 // if (!ilPaymentObject::_isPurchasable($a_ref_id))
170 // {
171 // return false;
172 // }
173 // }
174 // else
175 // {
176 // if (!ilPaymentObject::_isPurchasable($a_ref_id))
177 // {
178 // return false;
179 // }
180 // }
181 //
182 // if($rbacsystem->checkAccess("visible", $a_ref_id))
183 // {
184 // return true;
185 // }
186 // else
187 // {
188 // return false;
189 // }
190  }
191 
192 
200  function formatHeader($a_obj_id,$a_option)
201  {
202  global $lng;
203 
204  $tpl = new ilTemplate("tpl.tree.html", true, true, "Services/UIComponent/Explorer");
205 
206  $tpl->setCurrentBlock("text");
207  $tpl->setVariable("OBJ_TITLE", $lng->txt("repository"));
208  $tpl->parseCurrentBlock();
209 
210  $tpl->setCurrentBlock("row");
211  $tpl->parseCurrentBlock();
212 
213  $this->output[] = $tpl->get();
214  }
215 
216 } // END class ilObjectSelector
217 ?>