4 include_once(
"./Services/Object/classes/class.ilObjectGUI.php");
52 function __construct($a_id = 0, $a_id_type = self::REPOSITORY_NODE_ID, $a_parent_node_id = 0)
66 $this->id_type = $a_id_type;
67 $this->parent_id = $a_parent_node_id;
72 $this->tabs_gui = $ilTabs;
79 switch($this->id_type)
81 case self::REPOSITORY_NODE_ID:
82 $this->node_id = $a_id;
85 $this->access_handler = $ilAccess;
86 $this->call_by_reference =
true;
90 case self::REPOSITORY_OBJECT_ID:
91 $this->object_id = $a_id;
93 $this->access_handler = $ilAccess;
97 case self::WORKSPACE_NODE_ID:
99 $this->node_id = $a_id;
100 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
103 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
108 case self::WORKSPACE_OBJECT_ID:
110 $this->object_id = $a_id;
111 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
113 include_once
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
118 case self::PORTFOLIO_OBJECT_ID:
119 $this->object_id = $a_id;
120 include_once(
'./Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php');
125 case self::OBJECT_ID:
126 $this->object_id = $a_id;
127 include_once
"Services/Object/classes/class.ilDummyAccessHandler.php";
132 $this->ctrl->saveParameter($this,
$params);
137 if(!$this->object_id)
139 $this->creation_mode =
true;
144 if(!$this->parent_id && $this->tree)
146 $this->parent_id = $this->tree->getParentId($this->node_id);
157 if (is_object($this->
object))
159 $this->ctrl->setContext($this->
object->getId(), $this->
object->getType());
179 $next_class = $this->ctrl->getNextClass($this);
180 $cmd = $this->ctrl->getCmd();
186 case "ilworkspaceaccessgui";
189 $this->tabs_gui->activateTab(
"id_permissions");
191 include_once(
'./Services/PersonalWorkspace/classes/class.ilWorkspaceAccessGUI.php');
193 $this->ctrl->forwardCommand($wspacc);
202 return $this->
$cmd();
213 if ($this->object_id != 0)
215 switch($this->id_type)
217 case self::OBJECT_ID:
218 case self::REPOSITORY_OBJECT_ID:
219 case self::WORKSPACE_OBJECT_ID:
220 case self::PORTFOLIO_OBJECT_ID:
224 case self::REPOSITORY_NODE_ID:
228 case self::WORKSPACE_NODE_ID:
251 global $ilLocator,
$tpl;
253 if ($this->omit_locator)
258 switch($this->id_type)
260 case self::REPOSITORY_NODE_ID:
264 $ilLocator->addRepositoryItems(
$ref_id);
267 if (
$_GET[
"admin_mode"] ==
"" &&
268 strtolower($this->ctrl->getCmdClass()) ==
"ilobjrolegui")
270 $this->ctrl->setParameterByClass(
"ilobjrolegui",
271 "rolf_ref_id",
$_GET[
"rolf_ref_id"]);
272 $this->ctrl->setParameterByClass(
"ilobjrolegui",
273 "obj_id",
$_GET[
"obj_id"]);
274 $ilLocator->addItem($this->lng->txt(
"role"),
275 $this->ctrl->getLinkTargetByClass(
array(
"ilpermissiongui",
276 "ilobjrolegui"),
"perm"));
288 case self::WORKSPACE_NODE_ID:
299 public function delete()
301 switch($this->id_type)
303 case self::REPOSITORY_NODE_ID:
304 case self::REPOSITORY_OBJECT_ID:
305 return parent::deleteObject();
307 case self::WORKSPACE_NODE_ID:
308 case self::WORKSPACE_OBJECT_ID:
311 case self::OBJECT_ID:
312 case self::PORTFOLIO_OBJECT_ID:
327 $node_id = (int)$_REQUEST[
"item_ref_id"];
331 $this->ctrl->redirect($this,
"");
335 $parent_node = $this->tree->getParentId(
$node_id);
336 $this->ctrl->setParameter($this,
"wsp_id", $parent_node);
338 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
340 $cgui->setHeaderText($lng->txt(
"info_delete_sure").
"<br/>".
341 $lng->txt(
"info_delete_warning_no_trash"));
343 $cgui->setFormAction($this->ctrl->getFormAction($this));
344 $cgui->setCancel($lng->txt(
"cancel"),
"cancelDelete");
345 $cgui->setConfirm($lng->txt(
"confirm"),
"confirmedDelete");
350 $children = $this->tree->getSubTree($this->tree->getNodeData($node_id));
351 foreach($children as $child)
353 $node_id = $child[
"wsp_id"];
354 $obj_id = $this->tree->lookupObjectId($node_id);
362 $this->ctrl->redirect($this);
365 $cgui->addItem(
"id[]", $node_id,
$title,
367 $lng->txt(
"icon").
" ".$lng->txt(
"obj_".$type));
371 $tpl->setContent($cgui->getHTML());
379 switch($this->id_type)
381 case self::REPOSITORY_NODE_ID:
382 case self::REPOSITORY_OBJECT_ID:
383 return parent::confirmedDeleteObject();
385 case self::WORKSPACE_NODE_ID:
386 case self::WORKSPACE_OBJECT_ID:
389 case self::OBJECT_ID:
390 case self::PORTFOLIO_OBJECT_ID:
408 $del_nodes =
array();
411 $del_nodes[
$node_id] = $this->tree->getNodeData($node_id);
414 foreach($del_nodes as $node_id => $node)
417 $this->tree->deleteReference($node_id);
418 if($this->tree->isInTree($node_id))
420 $this->tree->deleteTree($node);
441 $this->ctrl->redirect($this,
"");
444 public function getHTML() {
return parent::getHTML(); }
450 final public function setCreationMode($a_mode =
true) {
return parent::setCreationMode($a_mode); }
452 final public function prepareOutput($a_show_subobjects =
true) {
return parent::prepareOutput($a_show_subobjects); }
454 final protected function showUpperIcon() {
return parent::showUpperIcon(); }
456 final protected function omitLocator($a_omit =
true) {
return parent::omitLocator($a_omit); }
457 final protected function getTargetFrame($a_cmd, $a_target_frame =
"") {
return parent::getTargetFrame($a_cmd, $a_target_frame); }
458 final protected function setTargetFrame($a_cmd, $a_target_frame) {
return parent::setTargetFrame($a_cmd, $a_target_frame); }
463 final protected function checkPermission($a_perm, $a_cmd =
"",
$a_type =
"", $a_ref_id = null) {
return parent::checkPermission($a_perm, $a_cmd,
$a_type, $a_ref_id); }
468 final public function trash() {
return parent::trashObject(); }
470 final public function undelete() {
return parent::undeleteObject(); }
471 final public function cancelDelete() {
return parent::cancelDeleteObject(); }
473 final protected function redirectToRefId($a_ref_id, $a_cmd =
"") {
return parent::redirectToRefId(); }
479 final public function cloneAll() {
return parent::cloneAllObject(); }
480 final protected function buildCloneSelect($existing_objs) {
return parent::buildCloneSelect($existing_objs); }
483 final private function displayList() {
return parent::displayList(); }
486 final protected function addAdminLocatorItems($a_do_not_add_object =
false) {
return parent::addAdminLocatorItems($a_do_not_add_object); }
493 switch($this->id_type)
495 case self::REPOSITORY_NODE_ID:
496 case self::REPOSITORY_OBJECT_ID:
497 return parent::viewObject();
499 case self::WORKSPACE_NODE_ID:
500 case self::WORKSPACE_OBJECT_ID:
501 return $this->render();
503 case self::OBJECT_ID:
504 case self::PORTFOLIO_OBJECT_ID:
517 global $ilTabs,
$lng;
519 switch($this->id_type)
521 case self::REPOSITORY_NODE_ID:
522 case self::REPOSITORY_OBJECT_ID:
525 $ilTabs->addTab(
"id_permissions",
526 $lng->txt(
"perm_settings"),
527 $this->ctrl->getLinkTargetByClass(
array(get_class($this),
"ilpermissiongui"),
"perm"));
531 case self::WORKSPACE_NODE_ID:
532 case self::WORKSPACE_OBJECT_ID:
536 $ilTabs->addTab(
"id_permissions",
537 $lng->txt(
"wsp_permissions"),
538 $this->ctrl->getLinkTargetByClass(
array(get_class($this),
"ilworkspaceaccessgui"),
"share"));
550 final protected function getReturnLocation($a_cmd, $a_location =
"") { die(
"ilObject2GUI::getReturnLocation() is deprecated."); }
551 final protected function setReturnLocation($a_cmd, $a_location) { die(
"ilObject2GUI::setReturnLocation() is deprecated."); }
552 final protected function showActions() { die(
"ilObject2GUI::showActions() is deprecated."); }
553 final protected function getTabs() {nj(); die(
"ilObject2GUI::getTabs() is deprecated."); }
554 final protected function __showButton($a_cmd,$a_text,$a_target =
'') { die(
"ilObject2GUI::__showButton() is deprecated."); }
555 final protected function hitsperpageObject() { die(
"ilObject2GUI::hitsperpageObject() is deprecated."); }
556 final protected function &
__initTableGUI() { die(
"ilObject2GUI::__initTableGUI() is deprecated."); }
557 final protected function __setTableGUIBasicData(&
$tbl,&$result_set,$a_from =
"") { die(
"ilObject2GUI::__setTableGUIBasicData() is deprecated."); }
586 public function create() { parent::createObject(); }
587 public function save() { parent::saveObject(); }
588 public function edit() { parent::editObject(); }
589 public function update() { parent::updateObject(); }
590 public function cancel() { parent::cancelObject(); }
602 $forms = parent::initCreationForms($a_new_type);
605 if($this->id_type == self::WORKSPACE_NODE_ID)
607 unset($forms[self::CFORM_CLONE]);
620 parent::importFileObject($this->parent_id);
633 $this->object_id = $a_obj->
getId();
635 if(!$a_parent_node_id)
641 if((
int)$_REQUEST[
"crtptrefid"])
643 $a_parent_node_id = (int)$_REQUEST[
"crtptrefid"];
646 switch($this->id_type)
648 case self::REPOSITORY_NODE_ID:
649 case self::REPOSITORY_OBJECT_ID:
653 $this->node_id = $a_obj->
getRefId();
659 include_once
"Services/AccessControl/classes/class.ilRbacLog.php";
660 $rbac_log_roles = $rbacreview->getParentRoleIds($this->node_id,
false);
664 $this->ctrl->setParameter($this,
"ref_id", $this->node_id);
667 case self::WORKSPACE_NODE_ID:
668 case self::WORKSPACE_OBJECT_ID:
671 $this->node_id = $this->tree->insertObject($a_parent_node_id, $this->object_id);
673 $this->
getAccessHandler()->setPermissions($a_parent_node_id, $this->node_id);
675 $this->ctrl->setParameter($this,
"wsp_id", $this->node_id);
678 case self::OBJECT_ID:
679 case self::PORTFOLIO_OBJECT_ID:
685 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
690 self::handleAfterSaveCallback($a_obj, $_REQUEST[
"crtcb"]);
703 $a_callback_ref_id = (int)$a_callback_ref_id;
704 if($a_callback_ref_id)
707 $class_name =
"ilObj".$objDefinition->getClassName($callback_type).
"GUI";
708 $location = $objDefinition->getLocation($callback_type);
709 include_once(
$location.
"/class.".$class_name.
".php");
710 if (in_array(strtolower($class_name),
array(
"ilobjitemgroupgui")))
712 $callback_obj =
new $class_name($a_callback_ref_id);
716 $callback_obj =
new $class_name(null, $a_callback_ref_id,
true,
false);
718 $callback_obj->afterSaveCallback($a_obj);
735 if($a_perm ==
"create")
760 if($this->obj_id && $this->
object->getOwner() == $ilUser->getId())
778 if($this->id_type == self::WORKSPACE_NODE_ID)
780 if(!$this->creation_mode && $this->object_id)
782 include_once
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php";
786 $dispatcher->setSubObject($a_sub_type, $a_sub_id);
788 include_once
"Services/Object/classes/class.ilObjectListGUI.php";
789 ilObjectListGUI::prepareJSLinks($this->ctrl->getLinkTarget($this,
"redrawHeaderAction",
"",
true),
790 $this->ctrl->getLinkTargetByClass(
array(
"ilcommonactiondispatchergui",
"ilnotegui"),
"",
"",
true,
false),
791 $this->ctrl->getLinkTargetByClass(
array(
"ilcommonactiondispatchergui",
"iltagginggui"),
"",
"",
true,
false));
793 $lg = $dispatcher->initHeaderAction();
800 $lg->setContainerObject($this);
805 $lg->enableNotes(
true);
814 return parent::initHeaderAction();
823 parent::redrawHeaderActionObject();
828 if($this->id_type == self::WORKSPACE_NODE_ID)
833 include_once(
'Services/PermanentLink/classes/class.ilPermanentLinkGUI.php');
835 $plink->setIncludePermanentLinkText(
false);
836 $plink->setAlignCenter($a_center);
837 return $plink->getHTML();
844 if($this->id_type == self::REPOSITORY_NODE_ID)
846 parent::handleAutoRating($a_new_obj);
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getClassByType($a_obj_type)
Get class by type.
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
const PEAR_ERROR_CALLBACK
executeCommand()
execute command
Class for permanent links.
view()
view object content (repository/workspace switch)
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
Check permission.
New implementation of ilObjectGUI.
initCreationForms($a_new_type)
Init creation froms.
getAccessHandler()
Get access handler.
fillCloneSearchTemplate($a_tpl_varname, $a_type)
Class ilObject Basic functions for all objects.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
getPermanentLinkWidget($a_append=null, $a_center=false)
confirmedDelete()
Delete objects (repository/workspace switch)
create()
Deleted in ilObject.
fillCloneTemplate($a_tpl_varname, $a_type)
Access handler for personal workspace.
initHeaderAction($a_sub_type=null, $a_sub_id=null)
Add header action menu.
__setTableGUIBasicData(&$tbl, &$result_set, $a_from="")
const REPOSITORY_OBJECT_ID
static gatherFaPa($a_ref_id, array $a_role_ids, $a_add_action=false)
Tree handler for personal workspace.
static _lookupObjectId($a_ref_id)
lookup object id
isVisible($a_ref_id, $a_type)
getReturnLocation($a_cmd, $a_location="")
Deprecated functions.
setCreationMode($a_mode=true)
createReference()
creates reference for object
setTargetFrame($a_cmd, $a_target_frame)
getId()
get object id public
__showButton($a_cmd, $a_text, $a_target='')
getType()
Functions that must be overwritten.
redirectToRefId($a_ref_id, $a_cmd="")
Column user interface class.
Class ilObjectGUI Basic methods of all Output classes.
handleAutoRating(ilObject $a_new_obj)
const PORTFOLIO_OBJECT_ID
static handleAfterSaveCallback(ilObject $a_obj, $a_callback_ref_id)
After creation callback.
getTargetFrame($a_cmd, $a_target_frame="")
withReferences()
Final/Private declaration of unchanged parent methods.
buildCloneSelect($existing_objs)
putInTree($a_parent_ref)
maybe this method should be in tree object!?
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
const WORKSPACE_OBJECT_ID
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
redrawHeaderAction()
Updating icons after ajax call.
setTabs()
create tabs (repository/workspace switch)
setColumnSettings(ilColumnGUI $column_gui)
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.
Create new PHPExcel object
obj_idprivate
static add($a_action, $a_ref_id, array $a_diff, $a_source_ref_id=false)
lookupObjectId($a_node_id)
Get object id for node id.
Access handler for portfolio.
__construct($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
Constructor.
getRefId()
get reference id public
deleteConfirmedObjects()
Delete objects (workspace specific)
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
prepareOutput($a_show_subobjects=true)
afterConstructor()
Do anything that should be done after constructor in here.
assignObject()
create object instance as internal property (repository/workspace switch)
addAdminLocatorItems($a_do_not_add_object=false)
deleteConfirmation()
Display delete confirmation form (workspace specific)
setReturnLocation($a_cmd, $a_location)
omitLocator($a_omit=true)
setPermissions($a_parent_ref)
set permissions of object
Class ilCommonActionDispatcherGUI.
addLocatorItems()
Functions to be overwritten.
Confirmation screen class.