ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilRepositoryLinkSelector.php
Go to the documentation of this file.
1<?php
2/*
3 +-----------------------------------------------------------------------------+
4 | ILIAS open source |
5 +-----------------------------------------------------------------------------+
6 | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7 | |
8 | This program is free software; you can redistribute it and/or |
9 | modify it under the terms of the GNU General Public License |
10 | as published by the Free Software Foundation; either version 2 |
11 | of the License, or (at your option) any later version. |
12 | |
13 | This program is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | GNU General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU General Public License |
19 | along with this program; if not, write to the Free Software |
20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 +-----------------------------------------------------------------------------+
22*/
23
24/*
25* Repository Explorer
26*
27* @author Stefan Meyer <meyer@leifos.com>
28* @version $Id$
29*
30*/
31
32require_once("./Services/UIComponent/Explorer/classes/class.ilExplorer.php");
33
35{
36
44 var $ctrl;
45
54 function ilRepositoryLinkSelector($a_target)
55 {
56 global $tree,$ilCtrl;
57
58 $this->ctrl = $ilCtrl;
59
60 parent::ilExplorer($a_target);
61 $this->tree = $tree;
62 $this->root_id = $this->tree->readRootId();
63 $this->order_column = "title";
64
65 $this->setSessionExpandVariable("rep_link_expand");
66
67 // add here all container objects
68 $this->addFilter("root");
69 $this->addFilter("cat");
70 $this->addFilter("grp");
71 $this->addFilter("fold");
72 $this->addFilter("crs");
73
75 $this->setFiltered(true);
76
78 }
79
80 function setSelectableType($a_type)
81 {
82 $this->selectable_type = $a_type;
83 }
84 function setRefId($a_ref_id)
85 {
86 $this->ref_id = $a_ref_id;
87 }
88
89
90 function buildLinkTarget($a_node_id, $a_type)
91 {
92 if($a_type == $this->selectable_type)
93 {
94 $this->ctrl->setParameterByClass('ilrepositorygui','source_id',$a_node_id);
95 return $this->ctrl->getLinkTargetByClass('ilrepositorygui','linkChilds');
96 }
97 else
98 {
99 $this->ctrl->setParameterByClass('ilrepositorygui',"ref_id",$this->ref_id);
100 return $this->ctrl->getLinkTargetByClass('ilrepositorygui','linkSelector');
101 }
102
103 }
104
105 function buildFrameTarget($a_type, $a_child = 0, $a_obj_id = 0)
106 {
107 return '';
108 }
109
110 function isClickable($a_type, $a_ref_id)
111 {
112 global $rbacsystem;
113
114 return $a_type == $this->selectable_type
115 and $a_ref_id != $this->ref_id
116 and $rbacsystem->checkAccess('write',$a_ref_id);
117 }
118
119 function showChilds($a_ref_id)
120 {
121 global $rbacsystem;
122
123 if ($a_ref_id == 0)
124 {
125 return true;
126 }
127
128 if ($rbacsystem->checkAccess("read", $a_ref_id))
129 {
130 return true;
131 }
132 else
133 {
134 return false;
135 }
136 }
137
138
146 function formatHeader($a_obj_id,$a_option)
147 {
148 global $lng, $ilias;
149
150 $tpl = new ilTemplate("tpl.tree.html", true, true, "Services/UIComponent/Explorer");
151
152 $tpl->setCurrentBlock("text");
153 $tpl->setVariable("OBJ_TITLE", $lng->txt("repository"));
154 $tpl->parseCurrentBlock();
155
156 $tpl->setCurrentBlock("row");
157 $tpl->parseCurrentBlock();
158
159 $this->output[] = $tpl->get();
160 }
161
162} // END class ilRepositoryExplorer
163?>
global $tpl
Definition: ilias.php:8
const IL_FM_POSITIVE
Class ilExplorer class for explorer view in admin frame.
setSessionExpandVariable($a_var_name="expand")
set name of expand session variable
addFilter($a_item)
adds item to the filter @access public
setTitleLength($a_length)
Set max title length.
setFilterMode($a_mode=IL_FM_NEGATIVE)
set filter mode
setFiltered($a_bool)
active/deactivate the filter @access public
const TITLE_LENGTH
max length of object title
isClickable($a_type, $a_ref_id)
check if links for certain object type are activated
formatHeader($a_obj_id, $a_option)
overwritten method from base class @access public
ilRepositoryLinkSelector($a_target)
Constructor @access public.
buildFrameTarget($a_type, $a_child=0, $a_obj_id=0)
get frame target (may be overwritten by derived classes)
showChilds($a_ref_id)
determines wether the childs of an object should be shown or not note: this standard implementation a...
buildLinkTarget($a_node_id, $a_type)
get link target (may be overwritten by derived classes)
special template class to simplify handling of ITX/PEAR
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40