ILIAS  Release_4_1_x_branch Revision 61804
 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  require_once("classes/class.ilTabsGUI.php");
73  //$id = explode(":",$_GET["clip_item_id"]);
74  $mob_gui =& new ilObjMediaObjectGUI("", $_GET["clip_item_id"],false, false);
75  $mob_gui->setTabs();
76  $ret =& $ilCtrl->forwardCommand($mob_gui);
77  switch($cmd)
78  {
79  case "save":
80  $ilUser->addObjectToClipboard($ret->getId(), "mob", $ret->getTitle());
81  $ilCtrl->redirect($this, "view");
82  break;
83  }
84  break;
85 
86  default:
87  $ret =& $this->$cmd();
88  break;
89  }
90 
91  return $ret;
92  }
93 
97  function setMultipleSelections($a_multiple = true)
98  {
99  $this->multiple = $a_multiple;
100  }
101 
106  {
107  return $this->multiple;
108  }
109 
115  function setInsertButtonTitle($a_insertbuttontitle)
116  {
117  $this->insertbuttontitle = $a_insertbuttontitle;
118  }
119 
126  {
127  global $lng;
128 
129  if ($this->insertbuttontitle == "")
130  {
131  return $lng->txt("insert");
132  }
133 
134  return $this->insertbuttontitle;
135  }
136 
137  /*
138  * display clipboard content
139  */
140  function view()
141  {
142  global $tree, $ilUser, $ilCtrl, $lng, $tpl;
143 
144  $tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");
145 
146  $tpl->setCurrentBlock("btn_cell");
147  $tpl->setVariable("BTN_LINK",
148  $ilCtrl->getLinkTargetByClass("ilobjmediaobjectgui", "create"));
149  $tpl->setVariable("BTN_TXT", $lng->txt("cont_create_mob"));
150  $tpl->parseCurrentBlock();
151 
152  include_once("./Services/Clipboard/classes/class.ilClipboardTableGUI.php");
153  $table_gui = new ilClipboardTableGUI($this, "view");
154  $tpl->setContent($table_gui->getHTML());
155  }
156 
157 
161  function getObject()
162  {
163  $this->mode = "getObject";
164  $this->view();
165  }
166 
167 
171  function remove()
172  {
173  global $ilias, $ilUser, $lng, $ilCtrl;
174 
175  // check number of objects
176  if (!isset($_POST["id"]))
177  {
178  $ilias->raiseError($lng->txt("no_checkbox"),$ilias->error_obj->MESSAGE);
179  }
180 
181  foreach($_POST["id"] AS $obj_id)
182  {
183  $id = explode(":", $obj_id);
184  if ($id[0] == "mob")
185  {
186  $ilUser->removeObjectFromClipboard($id[1], "mob");
187  include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
188  $mob = new ilObjMediaObject($id[1]);
189  $mob->delete(); // this method don't delete, if mob is used elsewhere
190  }
191  if ($id[0] == "incl")
192  {
193  $ilUser->removeObjectFromClipboard($id[1], "incl");
194  }
195  }
196  $ilCtrl->redirect($this, "view");
197  }
198 
202  function insert()
203  {
204  global $ilias, $lng;
205 
206  // check number of objects
207  if (!isset($_POST["id"]))
208  {
209  $ilias->raiseError($lng->txt("no_checkbox"),$ilias->error_obj->MESSAGE);
210  }
211 
212  if (!$this->getMultipleSelections())
213  {
214  if(count($_POST["id"]) > 1)
215  {
216  $ilias->raiseError($lng->txt("cont_select_max_one_item"),$ilias->error_obj->MESSAGE);
217  }
218  }
219 
220  $_SESSION["ilEditClipboard_mob_id"] = $_POST["id"];
221  ilUtil::redirect($_GET["returnCommand"]);
222  }
223 
224  function _getSelectedIDs()
225  {
226  return $_SESSION["ilEditClipboard_mob_id"];
227  }
228 
232  function setTabs()
233  {
234  global $ilTabs, $lng, $tpl;
235 
236  $tpl->setTitleIcon(ilUtil::getImagePath("icon_clip_b.gif"));
237  $tpl->setTitle($lng->txt("clipboard"));
238  $this->getTabs($ilTabs);
239  }
240 
244  function setPageBackTitle($a_title)
245  {
246  $this->page_back_title = $a_title;
247  }
248 
254  function getTabs(&$tabs_gui)
255  {
256  global $ilCtrl;
257 
258  // back to upper context
259  $tabs_gui->setBackTarget($this->page_back_title,
260  $ilCtrl->getParentReturn($this));
261  }
262 
263 }
264 ?>