ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
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 __construct()
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 
48  function executeCommand()
49  {
50  global $ilUser, $ilCtrl, $ilTabs, $lng;
51 
52  $next_class = $ilCtrl->getNextClass($this);
53  $cmd = $ilCtrl->getCmd();
54 
55  switch($next_class)
56  {
57  case "ilobjmediaobjectgui":
58  $ilCtrl->setReturn($this, "view");
59  $ilTabs->clearTargets();
60  $ilTabs->setBackTarget($lng->txt("back"),
61  $ilCtrl->getLinkTarget($this, "view"));
62  $mob_gui = new ilObjMediaObjectGUI("", $_GET["clip_item_id"],false, false);
63  $mob_gui->setTabs();
64  $ret = $ilCtrl->forwardCommand($mob_gui);
65  switch($cmd)
66  {
67  case "save":
68  $ilUser->addObjectToClipboard($ret->getId(), "mob", $ret->getTitle());
69  $ilCtrl->redirect($this, "view");
70  break;
71  }
72  break;
73 
74  default:
75  $ret = $this->$cmd();
76  break;
77  }
78 
79  return $ret;
80  }
81 
85  function setMultipleSelections($a_multiple = true)
86  {
87  $this->multiple = $a_multiple;
88  }
89 
94  {
95  return $this->multiple;
96  }
97 
103  function setInsertButtonTitle($a_insertbuttontitle)
104  {
105  $this->insertbuttontitle = $a_insertbuttontitle;
106  }
107 
114  {
115  global $lng;
116 
117  if ($this->insertbuttontitle == "")
118  {
119  return $lng->txt("insert");
120  }
121 
122  return $this->insertbuttontitle;
123  }
124 
125  /*
126  * display clipboard content
127  */
128  function view()
129  {
130  global $tree, $ilUser, $ilCtrl, $lng, $tpl, $ilToolbar;
131 
132  include_once("./Services/UIComponent/Button/classes/class.ilLinkButton.php");
133  $but = ilLinkButton::getInstance();
134  $but->setUrl($ilCtrl->getLinkTargetByClass("ilobjmediaobjectgui", "create"));
135  $but->setCaption("cont_create_mob");
136  $ilToolbar->addButtonInstance($but);
137 
138  include_once("./Services/Clipboard/classes/class.ilClipboardTableGUI.php");
139  $table_gui = new ilClipboardTableGUI($this, "view");
140  $tpl->setContent($table_gui->getHTML());
141  }
142 
143 
147  function getObject()
148  {
149  $this->mode = "getObject";
150  $this->view();
151  }
152 
153 
157  function remove()
158  {
159  global $ilias, $ilUser, $lng, $ilCtrl;
160 
161  // check number of objects
162  if (!isset($_POST["id"]))
163  {
164  $ilias->raiseError($lng->txt("no_checkbox"),$ilias->error_obj->MESSAGE);
165  }
166 
167  foreach($_POST["id"] AS $obj_id)
168  {
169  $id = explode(":", $obj_id);
170  if ($id[0] == "mob")
171  {
172  $ilUser->removeObjectFromClipboard($id[1], "mob");
173  include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
174  $mob = new ilObjMediaObject($id[1]);
175  $mob->delete(); // this method don't delete, if mob is used elsewhere
176  }
177  if ($id[0] == "incl")
178  {
179  $ilUser->removeObjectFromClipboard($id[1], "incl");
180  }
181  }
182  $ilCtrl->redirect($this, "view");
183  }
184 
188  function insert()
189  {
190  global $ilias, $lng;
191 
192  // check number of objects
193  if (!isset($_POST["id"]))
194  {
195  $ilias->raiseError($lng->txt("no_checkbox"),$ilias->error_obj->MESSAGE);
196  }
197 
198  if (!$this->getMultipleSelections())
199  {
200  if(count($_POST["id"]) > 1)
201  {
202  $ilias->raiseError($lng->txt("cont_select_max_one_item"),$ilias->error_obj->MESSAGE);
203  }
204  }
205 
206  $_SESSION["ilEditClipboard_mob_id"] = $_POST["id"];
207  ilUtil::redirect($_GET["returnCommand"]);
208  }
209 
210  static function _getSelectedIDs()
211  {
212  return $_SESSION["ilEditClipboard_mob_id"];
213  }
214 
218  function setTabs()
219  {
220  global $ilTabs, $lng, $tpl;
221 
222  $tpl->setTitle($lng->txt("clipboard"));
223  $this->getTabs($ilTabs);
224  }
225 
229  function setPageBackTitle($a_title)
230  {
231  $this->page_back_title = $a_title;
232  }
233 
239  function getTabs(&$tabs_gui)
240  {
241  global $ilCtrl;
242 
243  // back to upper context
244  $tabs_gui->setBackTarget($this->page_back_title,
245  $ilCtrl->getParentReturn($this));
246  }
247 
248 }
249 ?>
TableGUI clipboard items.
Class ilEditClipboardGUI.
$_SESSION["AccountId"]
$_GET["client_id"]
$cmd
Definition: sahs_server.php:35
setInsertButtonTitle($a_insertbuttontitle)
Set Insert Button Title.
global $tpl
Definition: ilias.php:8
global $ilCtrl
Definition: ilias.php:18
getMultipleSelections()
check wether multiple selections are enabled
__construct()
Constructor public.
$ilUser
Definition: imgupload.php:18
Class ilObjMediaObject.
Create styles array
The data for the language used.
setPageBackTitle($a_title)
Set title for back link.
Class ilObjMediaObjectGUI.
getInsertButtonTitle()
Get Insert Button Title.
global $lng
Definition: privfeed.php:17
$ret
Definition: parser.php:6
setMultipleSelections($a_multiple=true)
set, if multiple selections are enabled
static redirect($a_script)
http redirect to other script
$_POST["username"]
executeCommand()
execute command
getTabs(&$tabs_gui)
adds tabs to tab gui object