ILIAS  eassessment Revision 61809
 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: class.ilConditionSelector.php 25692 2010-09-15 09:44:16Z mwarkus $
9 *
10 */
11 
12 require_once("classes/class.ilExplorer.php");
13 
15 {
16 
22  var $root_id;
23  var $output;
24  var $ctrl;
25 
27  var $ref_id;
34  function ilConditionSelector($a_target)
35  {
36  global $tree,$ilCtrl;
37 
38  $this->ctrl = $ilCtrl;
39 
40  parent::ilExplorer($a_target);
41  $this->tree = $tree;
42  $this->root_id = $this->tree->readRootId();
43  $this->order_column = "title";
44 
45  $this->setSessionExpandVariable("condition_selector_expand");
46 
47  // add here all container objects
48  $this->addFilter("root");
49  $this->addFilter("cat");
50  $this->addFilter("grp");
51  $this->addFilter("fold");
52  $this->addFilter("crs");
53  $this->addFilter("exc");
54  $this->addFilter("tst");
55 
57  $this->setFiltered(true);
58 
60  }
61 
62  function setControlClass(&$class)
63  {
64  $this->control_class =& $class;
65  }
66  function &getControlClass()
67  {
68  return $this->control_class;
69  }
70 
71  function setSelectableTypes($a_type)
72  {
73  $this->selectable_types = $a_type;
74  }
75  function setRefId($a_ref_id)
76  {
77  $this->ref_id = $a_ref_id;
78  }
79 
80 
81  function buildLinkTarget($a_node_id, $a_type)
82  {
83  if(in_array($a_type,$this->selectable_types))
84  {
85  #$this->ctrl->setParameterByClass('ilrepositorygui','source_id',$a_node_id);
86  $this->ctrl->setParameter($this->getControlClass(),'source_id',$a_node_id);
87 
88  return $this->ctrl->getLinkTarget($this->getControlClass(),'add');
89  }
90  else
91  {
92  $this->ctrl->setParameterByClass('ilrepositorygui',"ref_id",$this->ref_id);
93  return $this->ctrl->getLinkTargetByClass('ilrepositorygui','copySelector');
94  }
95  }
96 
97  function buildFrameTarget($a_type, $a_child = 0, $a_obj_id = 0)
98  {
99  return '';
100  }
101 
102  function isClickable($a_type, $a_ref_id)
103  {
104  return in_array($a_type,$this->selectable_types) and $a_ref_id != $this->ref_id;
105  }
106 
107  function showChilds($a_ref_id)
108  {
109  global $rbacsystem;
110 
111  if ($a_ref_id == 0)
112  {
113  return true;
114  }
115 
116  if ($rbacsystem->checkAccess("read", $a_ref_id))
117  {
118  return true;
119  }
120  else
121  {
122  return false;
123  }
124  }
125 
126 
134  function formatHeader($a_obj_id,$a_option)
135  {
136  global $lng, $ilias;
137 
138  $tpl = new ilTemplate("tpl.tree.html", true, true);
139 
140  $tpl->setCurrentBlock("text");
141  $tpl->setVariable("OBJ_TITLE", $lng->txt("repository"));
142  $tpl->parseCurrentBlock();
143 
144 // $tpl->setCurrentBlock("row");
145 // $tpl->parseCurrentBlock();
146 
147  $this->output[] = $tpl->get();
148  }
149 
150 } // END class ilRepositoryExplorer
151 ?>