ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilConditionSelector.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 /*
5 * Repository Explorer
6 *
7 * @author Stefan Meyer <meyer@leifos.com>
8 * @version $Id$
9 *
10 */
11 
12 require_once("./Services/UIComponent/Explorer/classes/class.ilExplorer.php");
13 include_once './Services/Repository/classes/class.ilRepositoryExplorer.php';
14 
16 {
17 
23  var $root_id;
24  var $output;
25  var $ctrl;
26 
28  var $ref_id;
35  function ilConditionSelector($a_target)
36  {
37  global $tree,$ilCtrl;
38 
39  $this->ctrl = $ilCtrl;
40 
41  parent::ilExplorer($a_target);
42  $this->tree = $tree;
43  $this->root_id = $this->tree->readRootId();
44  $this->order_column = "title";
45 
46  $this->setSessionExpandVariable("condition_selector_expand");
47 
48  // add here all container objects
49  $this->addFilter("root");
50  $this->addFilter("cat");
51  $this->addFilter("grp");
52  $this->addFilter("fold");
53  $this->addFilter("crs");
54  $this->addFilter("exc");
55  $this->addFilter("tst");
56 
58  $this->setFiltered(true);
59 
61  }
62 
63  function setControlClass(&$class)
64  {
65  $this->control_class =& $class;
66  }
67  function &getControlClass()
68  {
69  return $this->control_class;
70  }
71 
72  function setSelectableTypes($a_type)
73  {
74  $this->selectable_types = $a_type;
75  }
76  function setRefId($a_ref_id)
77  {
78  $this->ref_id = $a_ref_id;
79  }
80 
81 
82  function buildLinkTarget($a_node_id, $a_type)
83  {
84  if(in_array($a_type,$this->selectable_types))
85  {
86  #$this->ctrl->setParameterByClass('ilrepositorygui','source_id',$a_node_id);
87  $this->ctrl->setParameter($this->getControlClass(),'source_id',$a_node_id);
88 
89  return $this->ctrl->getLinkTarget($this->getControlClass(),'add');
90  }
91  else
92  {
93  $this->ctrl->setParameterByClass('ilrepositorygui',"ref_id",$this->ref_id);
94  return $this->ctrl->getLinkTargetByClass('ilrepositorygui','copySelector');
95  }
96  }
97 
98  function buildFrameTarget($a_type, $a_child = 0, $a_obj_id = 0)
99  {
100  return '';
101  }
102 
103  function isClickable($a_type, $a_ref_id)
104  {
105  return in_array($a_type,$this->selectable_types) and $a_ref_id != $this->ref_id;
106  }
107 
108  function showChilds($a_ref_id)
109  {
110  global $rbacsystem;
111 
112  if ($a_ref_id == 0)
113  {
114  return true;
115  }
116 
117  if ($rbacsystem->checkAccess("read", $a_ref_id))
118  {
119  return true;
120  }
121  else
122  {
123  return false;
124  }
125  }
126 
127 
135  function formatHeader($a_obj_id,$a_option)
136  {
137  global $lng, $ilias;
138 
139  $tpl = new ilTemplate("tpl.tree.html", true, true, "Services/UIComponent/Explorer");
140 
141  $tpl->setCurrentBlock("text");
142  $tpl->setVariable("OBJ_TITLE", $lng->txt("repository"));
143  $tpl->parseCurrentBlock();
144 
145 // $tpl->setCurrentBlock("row");
146 // $tpl->parseCurrentBlock();
147 
148  $this->output[] = $tpl->get();
149  }
150 
151 } // END class ilRepositoryExplorer
152 ?>