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
5require_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");
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?>
global $tpl
Definition: ilias.php:8
$_GET["client_id"]
$_POST["username"]
$_SESSION["AccountId"]
An exception for terminatinating execution or to throw for unit testing.
TableGUI clipboard items.
Class ilEditClipboardGUI.
getTabs(&$tabs_gui)
adds tabs to tab gui object
__construct()
Constructor @access public.
setInsertButtonTitle($a_insertbuttontitle)
Set Insert Button Title.
getMultipleSelections()
check wether multiple selections are enabled
getInsertButtonTitle()
Get Insert Button Title.
setMultipleSelections($a_multiple=true)
set, if multiple selections are enabled
setPageBackTitle($a_title)
Set title for back link.
executeCommand()
execute command
static getInstance()
Factory.
Class ilObjMediaObjectGUI.
Class ilObjMediaObject.
static redirect($a_script)
http redirect to other script
global $ilCtrl
Definition: ilias.php:18
$ret
Definition: parser.php:6
global $lng
Definition: privfeed.php:17
$cmd
Definition: sahs_server.php:35
$ilUser
Definition: imgupload.php:18