ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilPermanentLinkGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4
18{
19 protected $align_center = true;
20
24 function __construct($a_type, $a_id, $a_append = "", $a_target = "")
25 {
26 $this->setType($a_type);
27 $this->setId($a_id);
28 $this->setAppend($a_append);
29 $this->setIncludePermanentLinkText(true);
30 $this->setTarget($a_target);
31 }
32
38 function setIncludePermanentLinkText($a_includepermanentlinktext)
39 {
40 $this->includepermanentlinktext = $a_includepermanentlinktext;
41 }
42
49 {
50 return $this->includepermanentlinktext;
51 }
52
58 function setType($a_type)
59 {
60 $this->type = $a_type;
61 }
62
68 function getType()
69 {
70 return $this->type;
71 }
72
78 function setId($a_id)
79 {
80 $this->id = $a_id;
81 }
82
88 function getId()
89 {
90 return $this->id;
91 }
92
98 function setAppend($a_append)
99 {
100 $this->append = $a_append;
101 }
102
108 function getAppend()
109 {
110 return $this->append;
111 }
112
118 function setTarget($a_target)
119 {
120 $this->target = $a_target;
121 }
122
128 function getTarget()
129 {
130 return $this->target;
131 }
132
138 function setTitle($a_val)
139 {
140 $this->title = $a_val;
141 }
142
148 function getTitle()
149 {
150 return $this->title;
151 }
152
158 function setAlignCenter($a_val)
159 {
160 $this->align_center = $a_val;
161 }
162
168 function getAlignCenter()
169 {
170 return $this->align_center;
171 }
172
176 function getHTML()
177 {
178 global $lng, $ilCtrl, $ilObjDataCache;
179
180 $tpl = new ilTemplate("tpl.permanent_link.html", true, true,
181 "Services/PermanentLink");
182
183 include_once('./Services/Link/classes/class.ilLink.php');
184 $href = ilLink::_getStaticLink($this->getId(), $this->getType(),
185 true, $this->getAppend());
186 if ($this->getIncludePermanentLinkText())
187 {
188 $tpl->setVariable("TXT_PERMA", $lng->txt("perma_link").":");
189 }
190
191 $title = '';
192
193 // fetch default title for bookmark
194
195 if ($this->getTitle() != "")
196 {
197 $title = $this->getTitle();
198 }
199 else
200 {
201 $obj_id = $ilObjDataCache->lookupObjId($this->getId());
202 $title = $ilObjDataCache->lookupTitle($obj_id);
203 }
204 #if (!$title)
205 # $bookmark->setTitle("untitled");
206
207 $tpl->setVariable("TXT_BOOKMARK_DEFAULT", $title);
208
209 $tpl->setVariable("LINK", $href);
210
211 if ($this->getAlignCenter())
212 {
213 $tpl->setVariable("ALIGN", "center");
214 }
215 else
216 {
217 $tpl->setVariable("ALIGN", "left");
218 }
219
220 if ($this->getTarget() != "")
221 {
222 $tpl->setVariable("TARGET", 'target="'.$this->getTarget().'"');
223 }
224
225 $bm_html = self::getBookmarksSelectionList($title, $href);
226 if($bm_html)
227 {
228 $tpl->setVariable('SELECTION_LIST', $bm_html);
229 }
230
231 return $tpl->get();
232 }
233
237 protected static function getBookmarksSelectionList($title, $href)
238 {
239 require_once 'Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
240
241 $current_selection_list = new ilAdvancedSelectionListGUI();
242 $current_selection_list->setId('socialbm_actions_' . md5(uniqid(rand(), true)));
243
244 $html = '';
245
246 if(!$GLOBALS['DIC']['ilUser']->isAnonymous() && !$GLOBALS['DIC']['ilSetting']->get('disable_bookmarks'))
247 {
248 $linktpl = 'ilias.php?cmd=redirect&baseClass=ilPersonalDesktopGUI&redirectClass=ilbookmarkadministrationgui&redirectCmd=newFormBookmark&param_bmf_id=1&param_return_to=true&param_bm_title=' . urlencode(urlencode($title)) . '&param_bm_link=' . urlencode(urlencode($href)) . "&param_return_to_url=" . urlencode(urlencode($_SERVER['REQUEST_URI']));
249 $current_selection_list->addItem($GLOBALS['DIC']['lng']->txt("bm_add_to_ilias"), '', $linktpl, '' , $GLOBALS['DIC']['lng']->txt('bm_add_to_ilias'), '_top');
250 $html = $current_selection_list->getHTML();
251 }
252
253 return $html;
254 }
255}
global $tpl
Definition: ilias.php:8
An exception for terminatinating execution or to throw for unit testing.
User interface class for advanced drop-down selection lists.
Class for permanent links.
setIncludePermanentLinkText($a_includepermanentlinktext)
Set Include permanent link text.
static getBookmarksSelectionList($title, $href)
getAlignCenter()
Get center alignment.
__construct($a_type, $a_id, $a_append="", $a_target="")
Example: type = "wiki", id (ref_id) = "234", append = "_Start_Page".
setAppend($a_append)
Set Append.
setAlignCenter($a_val)
Set center alignment.
getIncludePermanentLinkText()
Get Include permanent link text.
getHTML()
Get HTML for link.
setTarget($a_target)
Set Target.
special template class to simplify handling of ITX/PEAR
$html
Definition: example_001.php:87
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:17
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
$a_type
Definition: workflow.php:93