ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
class.ilObjWorkspaceFolderGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5require_once "./Services/Object/classes/class.ilObject2GUI.php";
6
18{
19 function getType()
20 {
21 return "wfld";
22 }
23
24 function setTabs($a_show_settings = true)
25 {
26 global $lng, $ilHelp;
27
28 $ilHelp->setScreenIdComponent("wfld");
29
30 $this->ctrl->setParameter($this,"wsp_id",$this->node_id);
31
32 $this->tabs_gui->addTab("wsp", $lng->txt("wsp_tab_personal"),
33 $this->ctrl->getLinkTarget($this, ""));
34
35 $this->ctrl->setParameterByClass("ilObjWorkspaceRootFolderGUI", "wsp_id",
36 $this->getAccessHandler()->getTree()->getRootId());
37
38 $this->tabs_gui->addTab("share", $lng->txt("wsp_tab_shared"),
39 $this->ctrl->getLinkTargetByClass("ilObjWorkspaceRootFolderGUI", "shareFilter"));
40
41 $this->tabs_gui->addTab("ownership", $lng->txt("wsp_tab_ownership"),
42 $this->ctrl->getLinkTargetByClass(array("ilObjWorkspaceRootFolderGUI", "ilObjectOwnershipManagementGUI"), "listObjects"));
43
44 if(!$this->ctrl->getNextClass($this))
45 {
46 if(stristr($this->ctrl->getCmd(), "share"))
47 {
48 $this->tabs_gui->activateTab("share");
49 }
50 else
51 {
52 $this->tabs_gui->activateTab("wsp");
53
54 if($a_show_settings)
55 {
56 if ($this->checkPermissionBool("read"))
57 {
58 $this->tabs_gui->addSubTab("content",
59 $lng->txt("content"),
60 $this->ctrl->getLinkTarget($this, ""));
61 }
62
63 if ($this->checkPermissionBool("write"))
64 {
65 $this->tabs_gui->addSubTab("settings",
66 $lng->txt("settings"),
67 $this->ctrl->getLinkTarget($this, "edit"));
68 }
69 }
70 }
71 }
72 }
73
74 function &executeCommand()
75 {
76 $next_class = $this->ctrl->getNextClass($this);
77 $cmd = $this->ctrl->getCmd();
78
79 switch($next_class)
80 {
81 case "ilcommonactiondispatchergui":
82 include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
84 $this->ctrl->forwardCommand($gui);
85 break;
86
87 case "ilobjectownershipmanagementgui":
88 $this->prepareOutput();
89 $this->tabs_gui->activateTab("ownership");
90 include_once("Services/Object/classes/class.ilObjectOwnershipManagementGUI.php");
92 $this->ctrl->forwardCommand($gui);
93 break;
94
95 default:
96 $this->prepareOutput();
97 if($this->type != "wsrt")
98 {
99 $this->addHeaderAction();
100 }
101 if(!$cmd)
102 {
103 $cmd = "render";
104 }
105 $this->$cmd();
106 break;
107 }
108
109 return true;
110 }
111
112 protected function initCreationForms($a_new_type)
113 {
114 $forms = array(
115 self::CFORM_NEW => $this->initCreateForm($a_new_type)
116 );
117
118 return $forms;
119 }
120
124 function render()
125 {
126 global $tpl, $ilUser, $ilTabs, $ilCtrl;
127
128 unset($_SESSION['clipboard']['wsp2repo']);
129
130 // add new item
131 include_once "Services/Object/classes/class.ilObjectAddNewItemGUI.php";
132 $gui = new ilObjectAddNewItemGUI($this->node_id);
134 $gui->setCreationUrl($ilCtrl->getLinkTarget($this, "create"));
135 $gui->render();
136
137 include_once "Services/Object/classes/class.ilObjectListGUI.php";
139 $this->ctrl->getLinkTargetByClass(array("ilcommonactiondispatchergui", "ilnotegui"), "", "", true, false),
140 $this->ctrl->getLinkTargetByClass(array("ilcommonactiondispatchergui", "iltagginggui"), "", "", true, false));
141
142 include_once "Modules/WorkspaceFolder/classes/class.ilObjWorkspaceFolderTableGUI.php";
143 $table = new ilObjWorkspaceFolderTableGUI($this, "render", $this->node_id, $this->getAccessHandler());
144 $tpl->setContent($table->getHTML());
145
146 include_once "Modules/WorkspaceFolder/classes/class.ilWorkspaceFolderExplorer.php";
147 $exp = new ilWorkspaceFolderExplorer($this->ctrl->getLinkTarget($this), $ilUser->getId());
148
149 if($this->node_id != $exp->getRoot())
150 {
151 $ilTabs->activateSubTab("content");
152 }
153
154 $left = "";
155
156 // sub-folders
157 if($this->node_id != $exp->getRoot() || $exp->hasFolders($this->node_id))
158 {
159 $exp->setTargetGet("wsp_id");
160 $exp->setSessionExpandVariable('wspexpand');
161 $exp->setExpand($this->node_id);
162 $exp->setExpandTarget($this->ctrl->getLinkTarget($this));
163
164 if ($_GET["wspexpand"] != "")
165 {
166 $exp->setExpand($_GET["wspexpand"]);
167 }
168
169 $exp->highlightNode($this->node_id);
170 $exp->setOutput(0);
171
172 $left .= $exp->getOutput();
173 }
174
175 $tpl->setLeftNavContent($left);
176 }
177
178 function edit()
179 {
180 parent::edit();
181
182 $this->tabs_gui->activateTab("wsp");
183 $this->tabs_gui->activateSubTab("settings");
184 }
185
186 function update()
187 {
188 parent::update();
189
190 $this->tabs_gui->activateTab("wsp");
191 $this->tabs_gui->activateSubTab("settings");
192 }
193
199 function cut()
200 {
201 if (!$_REQUEST["item_ref_id"])
202 {
203 ilUtil::sendFailure($this->lng->txt("no_checkbox"), true);
204 $this->ctrl->redirect($this);
205 }
206
207 $current_node = $_REQUEST["item_ref_id"];
208 $parent_node = $this->tree->getParentId($current_node);
209
210 // on cancel or fail we return to parent node
211 $this->ctrl->setParameter($this, "wsp_id", $parent_node);
212
213 // check permission
214 $no_cut = array();
215 foreach ($this->tree->getSubTree($this->tree->getNodeData($current_node)) as $node)
216 {
217 if (!$this->checkPermissionBool("delete", "", "", $node["wsp_id"]))
218 {
219 $obj = ilObjectFactory::getInstanceByObjId($node["obj_id"]);
220 $no_cut[$node["wsp_id"]] = $obj->getTitle();
221 unset($obj);
222 }
223 }
224 if (count($no_cut))
225 {
226 ilUtil::sendFailure($this->lng->txt("msg_no_perm_cut")." ".implode(',', $no_cut), true);
227 $this->ctrl->redirect($this);
228 }
229
230 // open current position
231 // using the explorer session storage directly is basically a hack
232 // as we do not use setExpanded() [see below]
233 $_SESSION['paste_cut_wspexpand'] = array();
234 foreach((array)$this->tree->getPathId($parent_node) as $node_id)
235 {
236 $_SESSION['paste_cut_wspexpand'][] = $node_id;
237 }
238
239 // remember source node
240 $_SESSION['clipboard']['source_id'] = $current_node;
241 $_SESSION['clipboard']['cmd'] = 'cut';
242
243 return $this->showMoveIntoObjectTree();
244 }
245
252 {
253 $_SESSION['clipboard']['wsp2repo'] = true;
254 $this->cut();
255 }
256
262 function copy()
263 {
264 global $ilUser;
265
266 if (!$_REQUEST["item_ref_id"])
267 {
268 ilUtil::sendFailure($this->lng->txt("no_checkbox"), true);
269 $this->ctrl->redirect($this);
270 }
271
272 $current_node = $_REQUEST["item_ref_id"];
273 $owner = $this->tree->lookupOwner($current_node);
274 if($owner == $ilUser->getId())
275 {
276 $parent_node = $this->tree->getParentId($current_node);
277
278 // on cancel or fail we return to parent node
279 $this->ctrl->setParameter($this, "wsp_id", $parent_node);
280
281 // open current position
282 // using the explorer session storage directly is basically a hack
283 // as we do not use setExpanded() [see below]
284 $_SESSION['paste_copy_wspexpand'] = array();
285 foreach((array)$this->tree->getPathId($parent_node) as $node_id)
286 {
287 $_SESSION['paste_copy_wspexpand'][] = $node_id;
288 }
289 }
290 else
291 {
292 // see copyShared()
293 ilUtil::sendFailure($this->lng->txt('permission_denied'), true);
294 $this->ctrl->redirect($this);
295 }
296
297 // remember source node
298 $_SESSION['clipboard']['source_id'] = $current_node;
299 $_SESSION['clipboard']['cmd'] = 'copy';
300
301 return $this->showMoveIntoObjectTree();
302 }
303
304 function copyShared()
305 {
306 if (!$_REQUEST["item_ref_id"])
307 {
308 $this->ctrl->redirect($this, "share");
309 }
310
311 $current_node = $_REQUEST["item_ref_id"];
312 $handler = $this->getAccessHandler();
313
314 // see ilSharedRessourceGUI::hasAccess()
315 if($handler->checkAccess("read", "", $current_node))
316 {
317 // remember source node
318 $_SESSION['clipboard']['source_id'] = $current_node;
319 $_SESSION['clipboard']['cmd'] = 'copy';
320 $_SESSION['clipboard']['shared'] = true;
321
322 return $this->showMoveIntoObjectTree();
323 }
324 else
325 {
326 $perms = $handler->getPermissions($current_node);
328 {
329 return $this->passwordForm($current_node);
330 }
331 }
332
333 ilUtil::sendFailure($this->lng->txt('permission_denied'), true);
334 $this->ctrl->redirect($this, "share");
335 }
336
343 {
344 $_SESSION['clipboard']['wsp2repo'] = true;
345 $this->copy();
346 }
347
352 {
353 global $ilTabs, $tree;
354
355 $ilTabs->clearTargets();
356
357 if(!$_SESSION['clipboard']['shared'])
358 {
359 $ilTabs->setBackTarget($this->lng->txt('back'),
360 $this->ctrl->getLinkTarget($this));
361 }
362 else
363 {
364 $ilTabs->setBackTarget($this->lng->txt('back'),
365 $this->ctrl->getLinkTarget($this, 'share'));
366 }
367
368 $mode = $_SESSION['clipboard']['cmd'];
369
370 ilUtil::sendInfo($this->lng->txt('msg_'.$mode.'_clipboard'));
371
372 $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content',
373 'tpl.paste_into_multiple_objects.html', "Services/Object");
374
375 // move/copy in personal workspace
376 if(!$_SESSION['clipboard']['wsp2repo'])
377 {
378 require_once 'Services/PersonalWorkspace/classes/class.ilWorkspaceExplorer.php';
380 'paste_'.$mode.'_wspexpand', $this->tree, $this->getAccessHandler());
381 $exp->setTargetGet('wsp_id');
382
383 if($_GET['paste_'.$mode.'_wspexpand'] == '')
384 {
385 // not really used as session is already set [see above]
386 $expanded = $this->tree->readRootId();
387 }
388 else
389 {
390 $expanded = $_GET['paste_'.$mode.'_wspexpand'];
391 }
392
393 }
394 // move/copy to repository
395 else
396 {
397 require_once './Services/Object/classes/class.ilPasteIntoMultipleItemsExplorer.php';
399 '', 'paste_'.$mode.'_repexpand');
400 $exp->setTargetGet('ref_id');
401
402 if($_GET['paste_'.$mode.'_repexpand'] == '')
403 {
404 $expanded = $tree->readRootId();
405 }
406 else
407 {
408 $expanded = $_GET['paste_'.$mode.'_repexpand'];
409 }
410 }
411
412 $exp->setCheckedItems(array((int)$_POST['node']));
413 $exp->setExpandTarget($this->ctrl->getLinkTarget($this, 'showMoveIntoObjectTree'));
414 $exp->setPostVar('node');
415 $exp->setExpand($expanded);
416 $exp->setOutput(0);
417
418 $this->tpl->setVariable('OBJECT_TREE', $exp->getOutput());
419 unset($exp);
420
421 $this->tpl->setVariable('FORM_TARGET', '_top');
422 $this->tpl->setVariable('FORM_ACTION',
423 $this->ctrl->getFormAction($this, 'performPasteIntoMultipleObjects'));
424
425 $this->tpl->setVariable('CMD_SUBMIT', 'performPasteIntoMultipleObjects');
426 $this->tpl->setVariable('TXT_SUBMIT', $this->lng->txt('paste'));
427 }
428
433 {
434 global $objDefinition, $ilAccess, $ilUser;
435
436 $mode = $_SESSION['clipboard']['cmd'];
437 $source_node_id = $_SESSION['clipboard']['source_id'];
438 $target_node_id = $_REQUEST['node'];
439
440 if(!$source_node_id)
441 {
442 ilUtil::sendFailure($this->lng->txt('select_at_least_one_object'), true);
443 $this->ctrl->redirect($this);
444 }
445 if(!$target_node_id)
446 {
447 ilUtil::sendFailure($this->lng->txt('select_at_least_one_object'), true);
448 $this->ctrl->redirect($this, "showMoveIntoObjectTree");
449 }
450
451 // object instances
452 $source_obj_id = $this->tree->lookupObjectId($source_node_id);
453 $source_object = ilObjectFactory::getInstanceByObjId($source_obj_id);
454
455 if(!$_SESSION['clipboard']['wsp2repo'])
456 {
457 $target_obj_id = $this->tree->lookupObjectId($target_node_id);
458 }
459 else
460 {
461 $target_obj_id = ilObject::_lookupObjId($target_node_id);
462 }
463 $target_object = ilObjectFactory::getInstanceByObjId($target_obj_id);
464
465
466 // sanity checks
467
468 $fail = array();
469
470 if($source_node_id == $target_node_id)
471 {
472 $fail[] = sprintf($this->lng->txt('msg_obj_exists_in_folder'),
473 $source_object->getTitle(), $target_object->getTitle());
474 }
475
476 if(!in_array($source_object->getType(), array_keys($objDefinition->getSubObjects($target_object->getType()))))
477 {
478 $fail[] = sprintf($this->lng->txt('msg_obj_may_not_contain_objects_of_type'),
479 $target_object->getTitle(), $source_object->getType());
480 }
481
482 // if object is shared permission to copy has been checked above
483 $owner = $this->tree->lookupOwner($source_node_id);
484 if($mode == "copy" && $ilUser->getId() == $owner && !$this->checkPermissionBool('copy', '', '', $source_node_id))
485 {
486 $fail[] = $this->lng->txt('permission_denied');
487 }
488
489 if(!$_SESSION['clipboard']['wsp2repo'])
490 {
491 if($mode == "cut" && $this->tree->isGrandChild($source_node_id, $target_node_id))
492 {
493 $fail[] = sprintf($this->lng->txt('msg_paste_object_not_in_itself'),
494 $source_object->getTitle());
495 }
496
497 if(!$this->checkPermissionBool('create', '', $source_object->getType(), $target_node_id))
498 {
499 $fail[] = sprintf($this->lng->txt('msg_no_perm_paste_object_in_folder'),
500 $source_object->getTitle(), $target_object->getTitle());
501 }
502
503 }
504 else
505 {
506 if(!$ilAccess->checkAccess('create', '', $target_node_id, $source_object->getType()))
507 {
508 $fail[] = sprintf($this->lng->txt('msg_no_perm_paste_object_in_folder'),
509 $source_object->getTitle(), $target_object->getTitle());
510 }
511 }
512
513 if(sizeof($fail))
514 {
515 ilUtil::sendFailure(implode("<br />", $fail), true);
516 $this->ctrl->redirect($this);
517 }
518
519
520 // move the node
521 if($mode == "cut")
522 {
523 if(!$_SESSION['clipboard']['wsp2repo'])
524 {
525 $this->tree->moveTree($source_node_id, $target_node_id);
526 }
527 else
528 {
529 $parent_id = $this->tree->getParentId($source_node_id);
530
531 // remove from personal workspace
532 $this->getAccessHandler()->removePermission($source_node_id);
533 $this->tree->deleteReference($source_node_id);
534 $source_node = $this->tree->getNodeData($source_node_id);
535 $this->tree->deleteTree($source_node);
536
537 // add to repository
538 $source_object->createReference();
539 $source_object->putInTree($target_node_id);
540 $source_object->setPermissions($target_node_id);
541
542 $source_node_id = $parent_id;
543 }
544 }
545 // copy the node
546 else if($mode == "copy")
547 {
548 include_once('Services/CopyWizard/classes/class.ilCopyWizardOptions.php');
550 $wizard_options = ilCopyWizardOptions::_getInstance($copy_id);
551 $wizard_options->saveOwner($ilUser->getId());
552 $wizard_options->saveRoot($source_node_id);
553 $wizard_options->read();
554
555 $new_obj = $source_object->cloneObject($target_node_id, $copy_id, !$_SESSION['clipboard']['wsp2repo']);
556
557 // insert into workspace tree
558 if($new_obj && !$_SESSION['clipboard']['wsp2repo'])
559 {
560 $new_obj_node_id = $this->tree->insertObject($target_node_id, $new_obj->getId());
561 $this->getAccessHandler()->setPermissions($target_node_id, $new_obj_node_id);
562 }
563
564 $wizard_options->deleteAll();
565 }
566
567 // redirect to target if not repository
568 if(!$_SESSION['clipboard']['wsp2repo'])
569 {
570 $redirect_node = $target_node_id;
571 }
572 else
573 {
574 // reload current folder
575 $redirect_node = $this->node_id;
576 }
577
578 unset($_SESSION['clipboard']['cmd']);
579 unset($_SESSION['clipboard']['source_id']);
580 unset($_SESSION['clipboard']['wsp2repo']);
581 unset($_SESSION['clipboard']['shared']);
582
583 ilUtil::sendSuccess($this->lng->txt('msg_cut_copied'), true);
584 $this->ctrl->setParameter($this, "wsp_id", $redirect_node);
585 $this->ctrl->redirect($this);
586 }
587
588 function shareFilter()
589 {
590 $this->share(false);
591 }
592
593 function share($a_load_data = true)
594 {
595 global $tpl;
596
597 include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceShareTableGUI.php";
598 $tbl = new ilWorkspaceShareTableGUI($this, "share", $this->getAccessHandler(), $this->node_id, $a_load_data);
599 $tpl->setContent($tbl->getHTML());
600 }
601
603 {
604 include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceShareTableGUI.php";
605 $tbl = new ilWorkspaceShareTableGUI($this, "share", $this->getAccessHandler(), $this->node_id);
606 $tbl->resetOffset();
607 $tbl->writeFilterToSession();
608
609 $this->share();
610 }
611
613 {
614 include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceShareTableGUI.php";
615 $tbl = new ilWorkspaceShareTableGUI($this, "share", $this->getAccessHandler(), $this->node_id);
616 $tbl->resetOffset();
617 $tbl->resetFilter();
618
619 $this->share();
620 }
621
622 protected function passwordForm($a_node_id, $form = null)
623 {
624 global $tpl, $lng, $ilTabs;
625
626 $tpl->setTitle($lng->txt("wsp_password_protected_resource"));
627 $tpl->setDescription($lng->txt("wsp_password_protected_resource_info"));
628
629 $ilTabs->clearTargets();
630 $ilTabs->setBackTarget($lng->txt("back"),
631 $this->ctrl->getLinkTarget($this, "share"));
632
633 if(!$form)
634 {
635 $form = $this->initPasswordForm($a_node_id);
636 }
637
638 $tpl->setContent($form->getHTML());
639 }
640
641 protected function initPasswordForm($a_node_id)
642 {
643 global $ilCtrl, $lng;
644
645 $this->ctrl->setParameter($this, "item_ref_id", $a_node_id);
646
647 $object_data = $this->getAccessHandler()->getObjectDataFromNode($a_node_id);
648
649 include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
650 $form = new ilPropertyFormGUI();
651 $form->setFormAction($ilCtrl->getFormAction($this, "checkPassword"));
652 $form->setTitle($lng->txt("wsp_password_for").": ".$object_data["title"]);
653
654 $password = new ilPasswordInputGUI($lng->txt("password"), "password");
655 $password->setRetype(false);
656 $password->setRequired(true);
657 $password->setSkipSyntaxCheck(true);
658 $form->addItem($password);
659
660 $form->addCommandButton("checkPassword", $lng->txt("submit"));
661 $form->addCommandButton("share", $lng->txt("cancel"));
662
663 return $form;
664 }
665
666 protected function checkPassword()
667 {
668 global $lng;
669
670 $node_id = $_REQUEST["item_ref_id"];
671 if(!$node_id)
672 {
673 $this->ctrl->redirect($this, "share");
674 }
675
676 $form = $this->initPasswordForm($node_id);
677 if($form->checkInput())
678 {
679 include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
681 $input = md5($form->getInput("password"));
682 if($input == $password)
683 {
684 // we save password and start over
686
687 $this->ctrl->setParameter($this, "item_ref_id", $node_id);
688 $this->ctrl->redirect($this, "copyShared");
689 }
690 else
691 {
692 $item = $form->getItemByPostVar("password");
693 $item->setAlert($lng->txt("wsp_invalid_password"));
694 ilUtil::sendFailure($lng->txt("form_input_not_valid"));
695 }
696 }
697
698 $form->setValuesByPost();
699 $this->passwordForm($node_id, $form);
700 }
701
707 public static function _goto($a_target)
708 {
709 $id = explode("_", $a_target);
710
711 $_GET["baseClass"] = "ilsharedresourceGUI";
712 $_GET["wsp_id"] = $id[0];
713 include("ilias.php");
714 exit;
715 }
716}
717
718?>
$_GET["client_id"]
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static _allocateCopyId()
Allocate a copy for further entries.
static _getInstance($a_copy_id)
Get instance of copy wizard options.
Class ilObjWorkspaceFolderGUI.
getType()
Functions that must be overwritten.
initCreationForms($a_new_type)
Init creation froms.
performPasteIntoMultipleObjects()
Move node: target has been selected, execute.
copy_to_repository()
Copy node preparation (to repository)
showMoveIntoObjectTree()
Move node: select target (via explorer)
cut_for_repository()
Move node preparation (to repository)
static _goto($a_target)
Deep link.
Class ilObjWorkspaceFolderTableGUI.
New implementation of ilObjectGUI.
getAccessHandler()
Get access handler.
prepareOutput()
prepare output
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
Check permission.
Render add new item selector.
getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
initCreateForm($a_new_type)
Init object creation form.
addHeaderAction()
Add header action menu.
static prepareJsLinks($a_redraw_url, $a_notes_url, $a_tags_url, $a_tpl=null)
Insert js/ajax links into template
Class ilObjectOwnershipManagementGUI.
static _lookupObjId($a_id)
This class represents a password property in a property form.
This class represents a property form user interface.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static keepSharedSessionPassword($a_node_id, $a_password)
Workspace share handler table GUI class.
$_POST['username']
Definition: cron.php:12
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
global $ilCtrl
Definition: ilias.php:18
exit
Definition: login.php:54
$cmd
Definition: sahs_server.php:35
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
global $ilUser
Definition: imgupload.php:15