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 }
getIncludePermanentLinkText()
Get Include permanent link text.
static getBookmarksSelectionList($title, $href)
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
Class for permanent links.
setAppend($a_append)
Set Append.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
setTarget($a_target)
Set Target.
setIncludePermanentLinkText($a_includepermanentlinktext)
Set Include permanent link text.
__construct($a_type, $a_id, $a_append="", $a_target="")
Example: type = "wiki", id (ref_id) = "234", append = "_Start_Page".
setAlignCenter($a_val)
Set center alignment.
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
getHTML()
Get HTML for link.
$a_type
Definition: workflow.php:93
getAlignCenter()
Get center alignment.
special template class to simplify handling of ITX/PEAR
setType($a_type)
Set Type.
User interface class for advanced drop-down selection lists.
global $lng
Definition: privfeed.php:17
$html
Definition: example_001.php:87