ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilEditClipboardGUI.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 
5 require_once("./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
6 
19 {
24  function ilEditClipboardGUI()
25  {
26  global $lng, $ilCtrl;
27 
28  $this->multiple = false;
29  $this->page_back_title = $lng->txt("cont_back");
30  if ($_GET["returnCommand"] != "")
31  {
32  $this->mode = "getObject";
33  }
34  else
35  {
36  $this->mode = "";
37  }
38 
39  $ilCtrl->setParameter($this, "returnCommand",
40  rawurlencode($_GET["returnCommand"]));
41 
42  $ilCtrl->saveParameter($this, array("clip_item_id"));
43  }
44 
50  function _forwards()
51  {
52  return array("ilObjMediaObjectGUI");
53  }
54 
58  function &executeCommand()
59  {
60  global $ilUser, $ilCtrl, $ilTabs, $lng;
61 
62  $next_class = $ilCtrl->getNextClass($this);
63  $cmd = $ilCtrl->getCmd();
64 
65  switch($next_class)
66  {
67  case "ilobjmediaobjectgui":
68  $ilCtrl->setReturn($this, "view");
69  $ilTabs->clearTargets();
70  $ilTabs->setBackTarget($lng->txt("back"),
71  $ilCtrl->getLinkTarget($this, "view"));
72  $mob_gui =& new ilObjMediaObjectGUI("", $_GET["clip_item_id"],false, false);
73  $mob_gui->setTabs();
74  $ret =& $ilCtrl->forwardCommand($mob_gui);
75  switch($cmd)
76  {
77  case "save":
78  $ilUser->addObjectToClipboard($ret->getId(), "mob", $ret->getTitle());
79  $ilCtrl->redirect($this, "view");
80  break;
81  }
82  break;
83 
84  default:
85  $ret =& $this->$cmd();
86  break;
87  }
88 
89  return $ret;
90  }
91 
95  function setMultipleSelections($a_multiple = true)
96  {
97  $this->multiple = $a_multiple;
98  }
99 
104  {
105  return $this->multiple;
106  }
107 
113  function setInsertButtonTitle($a_insertbuttontitle)
114  {
115  $this->insertbuttontitle = $a_insertbuttontitle;
116  }
117 
124  {
125  global $lng;
126 
127  if ($this->insertbuttontitle == "")
128  {
129  return $lng->txt("insert");
130  }
131 
132  return $this->insertbuttontitle;
133  }
134 
135  /*
136  * display clipboard content
137  */
138  function view()
139  {
140  global $tree, $ilUser, $ilCtrl, $lng, $tpl;
141 
142  $tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");
143 
144  $tpl->setCurrentBlock("btn_cell");
145  $tpl->setVariable("BTN_LINK",
146  $ilCtrl->getLinkTargetByClass("ilobjmediaobjectgui", "create"));
147  $tpl->setVariable("BTN_TXT", $lng->txt("cont_create_mob"));
148  $tpl->parseCurrentBlock();
149 
150  include_once("./Services/Clipboard/classes/class.ilClipboardTableGUI.php");
151  $table_gui = new ilClipboardTableGUI($this, "view");
152  $tpl->setContent($table_gui->getHTML());
153  }
154 
155 
159  function getObject()
160  {
161  $this->mode = "getObject";
162  $this->view();
163  }
164 
165 
169  function remove()
170  {
171  global $ilias, $ilUser, $lng, $ilCtrl;
172 
173  // check number of objects
174  if (!isset($_POST["id"]))
175  {
176  $ilias->raiseError($lng->txt("no_checkbox"),$ilias->error_obj->MESSAGE);
177  }
178 
179  foreach($_POST["id"] AS $obj_id)
180  {
181  $id = explode(":", $obj_id);
182  if ($id[0] == "mob")
183  {
184  $ilUser->removeObjectFromClipboard($id[1], "mob");
185  include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
186  $mob = new ilObjMediaObject($id[1]);
187  $mob->delete(); // this method don't delete, if mob is used elsewhere
188  }
189  if ($id[0] == "incl")
190  {
191  $ilUser->removeObjectFromClipboard($id[1], "incl");
192  }
193  }
194  $ilCtrl->redirect($this, "view");
195  }
196 
200  function insert()
201  {
202  global $ilias, $lng;
203 
204  // check number of objects
205  if (!isset($_POST["id"]))
206  {
207  $ilias->raiseError($lng->txt("no_checkbox"),$ilias->error_obj->MESSAGE);
208  }
209 
210  if (!$this->getMultipleSelections())
211  {
212  if(count($_POST["id"]) > 1)
213  {
214  $ilias->raiseError($lng->txt("cont_select_max_one_item"),$ilias->error_obj->MESSAGE);
215  }
216  }
217 
218  $_SESSION["ilEditClipboard_mob_id"] = $_POST["id"];
219  ilUtil::redirect($_GET["returnCommand"]);
220  }
221 
222  function _getSelectedIDs()
223  {
224  return $_SESSION["ilEditClipboard_mob_id"];
225  }
226 
230  function setTabs()
231  {
232  global $ilTabs, $lng, $tpl;
233 
234  $tpl->setTitleIcon(ilUtil::getImagePath("icon_clip_b.png"));
235  $tpl->setTitle($lng->txt("clipboard"));
236  $this->getTabs($ilTabs);
237  }
238 
242  function setPageBackTitle($a_title)
243  {
244  $this->page_back_title = $a_title;
245  }
246 
252  function getTabs(&$tabs_gui)
253  {
254  global $ilCtrl;
255 
256  // back to upper context
257  $tabs_gui->setBackTarget($this->page_back_title,
258  $ilCtrl->getParentReturn($this));
259  }
260 
261 }
262 ?>