ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjWorkspaceFolderGUI Class Reference

Class ilObjWorkspaceFolderGUI. More...

+ Inheritance diagram for ilObjWorkspaceFolderGUI:
+ Collaboration diagram for ilObjWorkspaceFolderGUI:

Public Member Functions

 getType ()
 Functions that must be overwritten.
 setTabs ($a_show_settings=true)
executeCommand ()
 execute command
 render ()
 Render folder.
 edit ()
 update ()
 cut ()
 Move node preparation.
 cut_for_repository ()
 Move node preparation (to repository)
 copy ()
 Copy node preparation.
 copyShared ()
 copy_to_repository ()
 Copy node preparation (to repository)
 showMoveIntoObjectTree ()
 Move node: select target (via explorer)
 performPasteIntoMultipleObjects ()
 Move node: target has been selected, execute.
 shareFilter ()
 share ($a_load_data=true)
 applyShareFilter ()
 resetShareFilter ()
- Public Member Functions inherited from ilObject2GUI
 __construct ($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
 Constructor.
 delete ()
 Display delete confirmation form (repository/workspace switch)
 confirmedDelete ()
 Delete objects (repository/workspace switch)
 getHTML ()
 withReferences ()
 Final/Private declaration of unchanged parent methods.
 setCreationMode ($a_mode=true)
 if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class! the mode is determined in ilrepositorygui
 getCreationMode ()
 get creation mode
 isVisible ()
 trash ()
 undelete ()
 cancelDelete ()
 removeFromSystem ()
 cloneAll ()
 view ()
 view object content (repository/workspace switch)
 create ()
 Deleted in ilObject.
 save ()
 cancel ()
 importFile ()
 Import.
- Public Member Functions inherited from ilObjectGUI
 ilObjectGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor public.
 getAdminTabs (&$tabs_gui)
 administration tabs show only permissions and trash folder
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled
 cancelDeleteObject ()
 cancel deletion of object
 cancelObject ($in_rep=false)
 cancel action and go back to previous page public
 createObject ()
 create new object form
 cancelCreation ()
 cancel create action and go back to repository parent
 saveObject ()
 save object
 editObject ()
 edit object
 updateObject ()
 updates object entry in object_data
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g.
 isVisible ($a_ref_id, $a_type)
 viewObject ()
 list childs of current object
 deleteObject ($a_error=false)
 Display deletion confirmation screen.
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI.

Static Public Member Functions

static _goto ($a_target)
 Deep link.
- Static Public Member Functions inherited from ilObject2GUI
static handleAfterSaveCallback (ilObject $a_obj, $a_callback_ref_id)
 After creation callback.
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot ($a_raise_error=false)
 Goto repository root.
static _gotoRepositoryNode ($a_ref_id, $a_cmd="frameset")
 Goto repository root.

Protected Member Functions

 initCreationForms ($a_new_type)
 Init creation froms.
 passwordForm ($a_node_id, $form=null)
 initPasswordForm ($a_node_id)
 checkPassword ()
- Protected Member Functions inherited from ilObject2GUI
 afterConstructor ()
 Do anything that should be done after constructor in here.
 assignObject ()
 create object instance as internal property (repository/workspace switch)
 getAccessHandler ()
 Get access handler.
 setLocator ()
 set Locator
 deleteConfirmation ()
 Display delete confirmation form (workspace specific)
 deleteConfirmedObjects ()
 Delete objects (workspace specific)
 prepareOutput ()
 prepare output
 setTitleAndDescription ()
 called by prepare output
 showUpperIcon ()
 omitLocator ($a_omit=true)
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g.
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command
 getCenterColumnHTML ()
 Get center column.
 getRightColumnHTML ()
 Display right column.
 setColumnSettings ($column_gui)
 May be overwritten in subclasses.
 checkPermission ($a_perm, $a_cmd="")
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu)
 redirectToRefId ()
 fillCloneTemplate ($a_tpl_varname, $a_type)
 Fill object clone template This method can be called from any object GUI class that wants to offer object cloning.
 fillCloneSearchTemplate ($a_tpl_varname, $a_type)
 searchCloneSource ()
 buildCloneSelect ($existing_objs)
 addAdminLocatorItems ()
 setTabs ()
 create tabs (repository/workspace switch)
 getReturnLocation ()
 Deprecated functions.
 setReturnLocation ()
 showActions ()
 getTitlesByRefId ()
 getTabs ()
 __showButton ()
 hitsperpageObject ()
 __initTableGUI ()
 __setTableGUIBasicData ()
 addLocatorItems ()
 Functions to be overwritten.
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position.
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
 Check permission.
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu.
 redrawHeaderAction ()
 Updating icons after ajax call.
 getPermanentLinkWidget ($a_append=null, $a_center=false)
 handleAutoRating (ilObject $a_new_obj)
 Activate rating automatically if parent container setting.
- Protected Member Functions inherited from ilObjectGUI
 insertHeaderAction ($a_list_gui)
 Insert header action into main template.
 addHeaderAction ()
 Add header action menu.
 redrawHeaderActionObject ()
 Ajax call: redraw action header only.
 showMountWebfolderIcon ()
 setAdminTabs ()
 set admin tabs public
 addAdminLocatorItems ($a_do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded)
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion)
 initCreateForm ($a_new_type)
 Init object creation form.
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types.
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates.
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen.
 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook.
 initEditForm ()
 Init object edit form.
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form.
 getEditFormValues ()
 Get values for edit form.
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields.
 validateCustom (ilPropertyFormGUI $a_form)
 Validate custom values (if not possible with checkInput())
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object.
 afterUpdate ()
 Post (successful) object update hook.
 initImportForm ($a_new_type)
 Init object import form.
 importFileObject ($parent_id=null)
 Import.
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook.
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g.
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl.
 getTitlesByRefId ($a_ref_ids)
 get Titles of objects this method is used for error messages in methods cut/copy/paste
 getTabs (&$tabs_gui)
 get tabs abstract method.
 __showButton ($a_cmd, $a_text, $a_target= '')
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table
 redirectToRefId ($a_ref_id, $a_cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current $_GET["ref_id"] value
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error.
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files.

Additional Inherited Members

- Data Fields inherited from ilObject2GUI
 $tree
const OBJECT_ID = 0
const REPOSITORY_NODE_ID = 1
const WORKSPACE_NODE_ID = 2
const REPOSITORY_OBJECT_ID = 3
const WORKSPACE_OBJECT_ID = 4
const PORTFOLIO_OBJECT_ID = 5
- Protected Attributes inherited from ilObject2GUI
 $object_id
 $node_id
 $creation_forms = array()
 $id_type = array()
 $parent_id
 $access_handler

Detailed Description

Member Function Documentation

static ilObjWorkspaceFolderGUI::_goto (   $a_target)
static

Deep link.

Parameters
string$a_target

Definition at line 707 of file class.ilObjWorkspaceFolderGUI.php.

References $_GET, and exit.

{
$id = explode("_", $a_target);
$_GET["baseClass"] = "ilsharedresourceGUI";
$_GET["wsp_id"] = $id[0];
include("ilias.php");
}
ilObjWorkspaceFolderGUI::applyShareFilter ( )

Definition at line 602 of file class.ilObjWorkspaceFolderGUI.php.

References ilObject2GUI\getAccessHandler(), and share().

{
include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceShareTableGUI.php";
$tbl = new ilWorkspaceShareTableGUI($this, "share", $this->getAccessHandler(), $this->node_id);
$tbl->resetOffset();
$tbl->writeFilterToSession();
$this->share();
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::checkPassword ( )
protected

Definition at line 666 of file class.ilObjWorkspaceFolderGUI.php.

References $_REQUEST, ilObjectGUI\$lng, ilObject2GUI\$node_id, ilWorkspaceAccessHandler\getSharedNodePassword(), initPasswordForm(), ilWorkspaceAccessHandler\keepSharedSessionPassword(), passwordForm(), and ilUtil\sendFailure().

{
global $lng;
$node_id = $_REQUEST["item_ref_id"];
if(!$node_id)
{
$this->ctrl->redirect($this, "share");
}
$form = $this->initPasswordForm($node_id);
if($form->checkInput())
{
include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
$input = md5($form->getInput("password"));
if($input == $password)
{
// we save password and start over
$this->ctrl->setParameter($this, "item_ref_id", $node_id);
$this->ctrl->redirect($this, "copyShared");
}
else
{
$item = $form->getItemByPostVar("password");
$item->setAlert($lng->txt("wsp_invalid_password"));
ilUtil::sendFailure($lng->txt("form_input_not_valid"));
}
}
$form->setValuesByPost();
$this->passwordForm($node_id, $form);
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::copy ( )

Copy node preparation.

cioy object(s) out from a container and write the information to clipboard

Definition at line 262 of file class.ilObjWorkspaceFolderGUI.php.

References $_REQUEST, $_SESSION, $ilUser, ilObject2GUI\$node_id, ilUtil\sendFailure(), and showMoveIntoObjectTree().

Referenced by copy_to_repository().

{
global $ilUser;
if (!$_REQUEST["item_ref_id"])
{
ilUtil::sendFailure($this->lng->txt("no_checkbox"), true);
$this->ctrl->redirect($this);
}
$current_node = $_REQUEST["item_ref_id"];
$owner = $this->tree->lookupOwner($current_node);
if($owner == $ilUser->getId())
{
$parent_node = $this->tree->getParentId($current_node);
// on cancel or fail we return to parent node
$this->ctrl->setParameter($this, "wsp_id", $parent_node);
// open current position
// using the explorer session storage directly is basically a hack
// as we do not use setExpanded() [see below]
$_SESSION['paste_copy_wspexpand'] = array();
foreach((array)$this->tree->getPathId($parent_node) as $node_id)
{
$_SESSION['paste_copy_wspexpand'][] = $node_id;
}
}
else
{
// see copyShared()
ilUtil::sendFailure($this->lng->txt('permission_denied'), true);
$this->ctrl->redirect($this);
}
// remember source node
$_SESSION['clipboard']['source_id'] = $current_node;
$_SESSION['clipboard']['cmd'] = 'copy';
return $this->showMoveIntoObjectTree();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjWorkspaceFolderGUI::copy_to_repository ( )

Copy node preparation (to repository)

copy object(s) out from a container and write the information to clipboard

Definition at line 342 of file class.ilObjWorkspaceFolderGUI.php.

References $_SESSION, and copy().

{
$_SESSION['clipboard']['wsp2repo'] = true;
$this->copy();
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::copyShared ( )

Definition at line 304 of file class.ilObjWorkspaceFolderGUI.php.

References $_REQUEST, $_SESSION, ilObject2GUI\getAccessHandler(), passwordForm(), ilWorkspaceAccessGUI\PERMISSION_ALL_PASSWORD, ilUtil\sendFailure(), and showMoveIntoObjectTree().

{
if (!$_REQUEST["item_ref_id"])
{
$this->ctrl->redirect($this, "share");
}
$current_node = $_REQUEST["item_ref_id"];
$handler = $this->getAccessHandler();
// see ilSharedRessourceGUI::hasAccess()
if($handler->checkAccess("read", "", $current_node))
{
// remember source node
$_SESSION['clipboard']['source_id'] = $current_node;
$_SESSION['clipboard']['cmd'] = 'copy';
$_SESSION['clipboard']['shared'] = true;
return $this->showMoveIntoObjectTree();
}
else
{
$perms = $handler->getPermissions($current_node);
{
return $this->passwordForm($current_node);
}
}
ilUtil::sendFailure($this->lng->txt('permission_denied'), true);
$this->ctrl->redirect($this, "share");
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::cut ( )

Move node preparation.

cut object(s) out from a container and write the information to clipboard

Definition at line 199 of file class.ilObjWorkspaceFolderGUI.php.

References $_REQUEST, $_SESSION, ilObject2GUI\$node_id, ilObject2GUI\checkPermissionBool(), ilObjectFactory\getInstanceByObjId(), ilUtil\sendFailure(), and showMoveIntoObjectTree().

Referenced by cut_for_repository().

{
if (!$_REQUEST["item_ref_id"])
{
ilUtil::sendFailure($this->lng->txt("no_checkbox"), true);
$this->ctrl->redirect($this);
}
$current_node = $_REQUEST["item_ref_id"];
$parent_node = $this->tree->getParentId($current_node);
// on cancel or fail we return to parent node
$this->ctrl->setParameter($this, "wsp_id", $parent_node);
// check permission
$no_cut = array();
foreach ($this->tree->getSubTree($this->tree->getNodeData($current_node)) as $node)
{
if (!$this->checkPermissionBool("delete", "", "", $node["wsp_id"]))
{
$obj = ilObjectFactory::getInstanceByObjId($node["obj_id"]);
$no_cut[$node["wsp_id"]] = $obj->getTitle();
unset($obj);
}
}
if (count($no_cut))
{
ilUtil::sendFailure($this->lng->txt("msg_no_perm_cut")." ".implode(',', $no_cut), true);
$this->ctrl->redirect($this);
}
// open current position
// using the explorer session storage directly is basically a hack
// as we do not use setExpanded() [see below]
$_SESSION['paste_cut_wspexpand'] = array();
foreach((array)$this->tree->getPathId($parent_node) as $node_id)
{
$_SESSION['paste_cut_wspexpand'][] = $node_id;
}
// remember source node
$_SESSION['clipboard']['source_id'] = $current_node;
$_SESSION['clipboard']['cmd'] = 'cut';
return $this->showMoveIntoObjectTree();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjWorkspaceFolderGUI::cut_for_repository ( )

Move node preparation (to repository)

cut object(s) out from a container and write the information to clipboard

Definition at line 251 of file class.ilObjWorkspaceFolderGUI.php.

References $_SESSION, and cut().

{
$_SESSION['clipboard']['wsp2repo'] = true;
$this->cut();
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::edit ( )

Reimplemented from ilObject2GUI.

Definition at line 178 of file class.ilObjWorkspaceFolderGUI.php.

{
$this->tabs_gui->activateTab("wsp");
$this->tabs_gui->activateSubTab("settings");
}
& ilObjWorkspaceFolderGUI::executeCommand ( )

execute command

Reimplemented from ilObject2GUI.

Definition at line 74 of file class.ilObjWorkspaceFolderGUI.php.

References $cmd, ilObjectGUI\addHeaderAction(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), and ilObject2GUI\prepareOutput().

{
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->ctrl->getCmd();
switch($next_class)
{
case "ilcommonactiondispatchergui":
include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
$this->ctrl->forwardCommand($gui);
break;
case "ilobjectownershipmanagementgui":
$this->prepareOutput();
$this->tabs_gui->activateTab("ownership");
include_once("Services/Object/classes/class.ilObjectOwnershipManagementGUI.php");
$this->ctrl->forwardCommand($gui);
break;
default:
$this->prepareOutput();
if($this->type != "wsrt")
{
$this->addHeaderAction();
}
if(!$cmd)
{
$cmd = "render";
}
$this->$cmd();
break;
}
return true;
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::getType ( )

Functions that must be overwritten.

Reimplemented from ilObject2GUI.

Reimplemented in ilObjWorkspaceRootFolderGUI.

Definition at line 19 of file class.ilObjWorkspaceFolderGUI.php.

{
return "wfld";
}
ilObjWorkspaceFolderGUI::initCreationForms (   $a_new_type)
protected

Init creation froms.

this will create the default creation forms: new, import, clone

Parameters
string$a_new_type
Returns
array

Reimplemented from ilObject2GUI.

Definition at line 112 of file class.ilObjWorkspaceFolderGUI.php.

References ilObjectGUI\initCreateForm().

{
$forms = array(
self::CFORM_NEW => $this->initCreateForm($a_new_type)
);
return $forms;
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::initPasswordForm (   $a_node_id)
protected

Definition at line 641 of file class.ilObjWorkspaceFolderGUI.php.

References $ilCtrl, ilObjectGUI\$lng, ilObject2GUI\getAccessHandler(), and ilPasswordInputGUI\setRetype().

Referenced by checkPassword(), and passwordForm().

{
global $ilCtrl, $lng;
$this->ctrl->setParameter($this, "item_ref_id", $a_node_id);
$object_data = $this->getAccessHandler()->getObjectDataFromNode($a_node_id);
include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
$form = new ilPropertyFormGUI();
$form->setFormAction($ilCtrl->getFormAction($this, "checkPassword"));
$form->setTitle($lng->txt("wsp_password_for").": ".$object_data["title"]);
$password = new ilPasswordInputGUI($lng->txt("password"), "password");
$password->setRetype(false);
$password->setRequired(true);
$password->setSkipSyntaxCheck(true);
$form->addItem($password);
$form->addCommandButton("checkPassword", $lng->txt("submit"));
$form->addCommandButton("share", $lng->txt("cancel"));
return $form;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjWorkspaceFolderGUI::passwordForm (   $a_node_id,
  $form = null 
)
protected

Definition at line 622 of file class.ilObjWorkspaceFolderGUI.php.

References ilObjectGUI\$lng, ilObjectGUI\$tpl, and initPasswordForm().

Referenced by checkPassword(), and copyShared().

{
global $tpl, $lng, $ilTabs;
$tpl->setTitle($lng->txt("wsp_password_protected_resource"));
$tpl->setDescription($lng->txt("wsp_password_protected_resource_info"));
$ilTabs->clearTargets();
$ilTabs->setBackTarget($lng->txt("back"),
$this->ctrl->getLinkTarget($this, "share"));
if(!$form)
{
$form = $this->initPasswordForm($a_node_id);
}
$tpl->setContent($form->getHTML());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjWorkspaceFolderGUI::performPasteIntoMultipleObjects ( )

Move node: target has been selected, execute.

Definition at line 432 of file class.ilObjWorkspaceFolderGUI.php.

References $_REQUEST, $_SESSION, $ilUser, ilObject2GUI\$node_id, ilObjectGUI\$objDefinition, ilObject2GUI\$parent_id, ilCopyWizardOptions\_allocateCopyId(), ilCopyWizardOptions\_getInstance(), ilObject\_lookupObjId(), ilObject2GUI\checkPermissionBool(), ilObject2GUI\getAccessHandler(), ilObjectFactory\getInstanceByObjId(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

{
global $objDefinition, $ilAccess, $ilUser;
$mode = $_SESSION['clipboard']['cmd'];
$source_node_id = $_SESSION['clipboard']['source_id'];
$target_node_id = $_REQUEST['node'];
if(!$source_node_id)
{
ilUtil::sendFailure($this->lng->txt('select_at_least_one_object'), true);
$this->ctrl->redirect($this);
}
if(!$target_node_id)
{
ilUtil::sendFailure($this->lng->txt('select_at_least_one_object'), true);
$this->ctrl->redirect($this, "showMoveIntoObjectTree");
}
// object instances
$source_obj_id = $this->tree->lookupObjectId($source_node_id);
$source_object = ilObjectFactory::getInstanceByObjId($source_obj_id);
if(!$_SESSION['clipboard']['wsp2repo'])
{
$target_obj_id = $this->tree->lookupObjectId($target_node_id);
}
else
{
$target_obj_id = ilObject::_lookupObjId($target_node_id);
}
$target_object = ilObjectFactory::getInstanceByObjId($target_obj_id);
// sanity checks
$fail = array();
if($source_node_id == $target_node_id)
{
$fail[] = sprintf($this->lng->txt('msg_obj_exists_in_folder'),
$source_object->getTitle(), $target_object->getTitle());
}
if(!in_array($source_object->getType(), array_keys($objDefinition->getSubObjects($target_object->getType()))))
{
$fail[] = sprintf($this->lng->txt('msg_obj_may_not_contain_objects_of_type'),
$target_object->getTitle(), $source_object->getType());
}
// if object is shared permission to copy has been checked above
$owner = $this->tree->lookupOwner($source_node_id);
if($mode == "copy" && $ilUser->getId() == $owner && !$this->checkPermissionBool('copy', '', '', $source_node_id))
{
$fail[] = $this->lng->txt('permission_denied');
}
if(!$_SESSION['clipboard']['wsp2repo'])
{
if($mode == "cut" && $this->tree->isGrandChild($source_node_id, $target_node_id))
{
$fail[] = sprintf($this->lng->txt('msg_paste_object_not_in_itself'),
$source_object->getTitle());
}
if(!$this->checkPermissionBool('create', '', $source_object->getType(), $target_node_id))
{
$fail[] = sprintf($this->lng->txt('msg_no_perm_paste_object_in_folder'),
$source_object->getTitle(), $target_object->getTitle());
}
}
else
{
if(!$ilAccess->checkAccess('create', '', $target_node_id, $source_object->getType()))
{
$fail[] = sprintf($this->lng->txt('msg_no_perm_paste_object_in_folder'),
$source_object->getTitle(), $target_object->getTitle());
}
}
if(sizeof($fail))
{
ilUtil::sendFailure(implode("<br />", $fail), true);
$this->ctrl->redirect($this);
}
// move the node
if($mode == "cut")
{
if(!$_SESSION['clipboard']['wsp2repo'])
{
$this->tree->moveTree($source_node_id, $target_node_id);
}
else
{
$parent_id = $this->tree->getParentId($source_node_id);
// remove from personal workspace
$this->getAccessHandler()->removePermission($source_node_id);
$this->tree->deleteReference($source_node_id);
$source_node = $this->tree->getNodeData($source_node_id);
$this->tree->deleteTree($source_node);
// add to repository
$source_object->createReference();
$source_object->putInTree($target_node_id);
$source_object->setPermissions($target_node_id);
$source_node_id = $parent_id;
}
}
// copy the node
else if($mode == "copy")
{
include_once('Services/CopyWizard/classes/class.ilCopyWizardOptions.php');
$wizard_options = ilCopyWizardOptions::_getInstance($copy_id);
$wizard_options->saveOwner($ilUser->getId());
$wizard_options->saveRoot($source_node_id);
$wizard_options->read();
$new_obj = $source_object->cloneObject($target_node_id, $copy_id, !$_SESSION['clipboard']['wsp2repo']);
// insert into workspace tree
if($new_obj && !$_SESSION['clipboard']['wsp2repo'])
{
$new_obj_node_id = $this->tree->insertObject($target_node_id, $new_obj->getId());
$this->getAccessHandler()->setPermissions($target_node_id, $new_obj_node_id);
}
$wizard_options->deleteAll();
}
// redirect to target if not repository
if(!$_SESSION['clipboard']['wsp2repo'])
{
$redirect_node = $target_node_id;
}
else
{
// reload current folder
$redirect_node = $this->node_id;
}
unset($_SESSION['clipboard']['cmd']);
unset($_SESSION['clipboard']['source_id']);
unset($_SESSION['clipboard']['wsp2repo']);
unset($_SESSION['clipboard']['shared']);
ilUtil::sendSuccess($this->lng->txt('msg_cut_copied'), true);
$this->ctrl->setParameter($this, "wsp_id", $redirect_node);
$this->ctrl->redirect($this);
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::render ( )

Render folder.

Definition at line 124 of file class.ilObjWorkspaceFolderGUI.php.

References $_GET, $_SESSION, $ilCtrl, $ilUser, ilObjectGUI\$tpl, ilObject2GUI\getAccessHandler(), ilObjectDefinition\MODE_WORKSPACE, ilObjectListGUI\prepareJsLinks(), and ilExplorer\setTargetGet().

{
global $tpl, $ilUser, $ilTabs, $ilCtrl;
unset($_SESSION['clipboard']['wsp2repo']);
// add new item
include_once "Services/Object/classes/class.ilObjectAddNewItemGUI.php";
$gui = new ilObjectAddNewItemGUI($this->node_id);
$gui->setCreationUrl($ilCtrl->getLinkTarget($this, "create"));
$gui->render();
include_once "Services/Object/classes/class.ilObjectListGUI.php";
$this->ctrl->getLinkTargetByClass(array("ilcommonactiondispatchergui", "ilnotegui"), "", "", true, false),
$this->ctrl->getLinkTargetByClass(array("ilcommonactiondispatchergui", "iltagginggui"), "", "", true, false));
include_once "Modules/WorkspaceFolder/classes/class.ilObjWorkspaceFolderTableGUI.php";
$table = new ilObjWorkspaceFolderTableGUI($this, "render", $this->node_id, $this->getAccessHandler());
$tpl->setContent($table->getHTML());
include_once "Modules/WorkspaceFolder/classes/class.ilWorkspaceFolderExplorer.php";
$exp = new ilWorkspaceFolderExplorer($this->ctrl->getLinkTarget($this), $ilUser->getId());
if($this->node_id != $exp->getRoot())
{
$ilTabs->activateSubTab("content");
}
$left = "";
// sub-folders
if($this->node_id != $exp->getRoot() || $exp->hasFolders($this->node_id))
{
$exp->setTargetGet("wsp_id");
$exp->setSessionExpandVariable('wspexpand');
$exp->setExpand($this->node_id);
$exp->setExpandTarget($this->ctrl->getLinkTarget($this));
if ($_GET["wspexpand"] != "")
{
$exp->setExpand($_GET["wspexpand"]);
}
$exp->highlightNode($this->node_id);
$exp->setOutput(0);
$left .= $exp->getOutput();
}
$tpl->setLeftNavContent($left);
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::resetShareFilter ( )

Definition at line 612 of file class.ilObjWorkspaceFolderGUI.php.

References ilObject2GUI\getAccessHandler(), and share().

{
include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceShareTableGUI.php";
$tbl = new ilWorkspaceShareTableGUI($this, "share", $this->getAccessHandler(), $this->node_id);
$tbl->resetOffset();
$tbl->resetFilter();
$this->share();
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::setTabs (   $a_show_settings = true)

Definition at line 24 of file class.ilObjWorkspaceFolderGUI.php.

References ilObjectGUI\$lng, ilObject2GUI\checkPermissionBool(), and ilObject2GUI\getAccessHandler().

{
global $lng, $ilHelp;
$ilHelp->setScreenIdComponent("wfld");
$this->ctrl->setParameter($this,"wsp_id",$this->node_id);
$this->tabs_gui->addTab("wsp", $lng->txt("wsp_tab_personal"),
$this->ctrl->getLinkTarget($this, ""));
$this->ctrl->setParameterByClass("ilObjWorkspaceRootFolderGUI", "wsp_id",
$this->getAccessHandler()->getTree()->getRootId());
$this->tabs_gui->addTab("share", $lng->txt("wsp_tab_shared"),
$this->ctrl->getLinkTargetByClass("ilObjWorkspaceRootFolderGUI", "shareFilter"));
$this->tabs_gui->addTab("ownership", $lng->txt("wsp_tab_ownership"),
$this->ctrl->getLinkTargetByClass(array("ilObjWorkspaceRootFolderGUI", "ilObjectOwnershipManagementGUI"), "listObjects"));
if(!$this->ctrl->getNextClass($this))
{
if(stristr($this->ctrl->getCmd(), "share"))
{
$this->tabs_gui->activateTab("share");
}
else
{
$this->tabs_gui->activateTab("wsp");
if($a_show_settings)
{
if ($this->checkPermissionBool("read"))
{
$this->tabs_gui->addSubTab("content",
$lng->txt("content"),
$this->ctrl->getLinkTarget($this, ""));
}
if ($this->checkPermissionBool("write"))
{
$this->tabs_gui->addSubTab("settings",
$lng->txt("settings"),
$this->ctrl->getLinkTarget($this, "edit"));
}
}
}
}
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::share (   $a_load_data = true)

Definition at line 593 of file class.ilObjWorkspaceFolderGUI.php.

References ilObjectGUI\$tpl, and ilObject2GUI\getAccessHandler().

Referenced by applyShareFilter(), resetShareFilter(), and shareFilter().

{
global $tpl;
include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceShareTableGUI.php";
$tbl = new ilWorkspaceShareTableGUI($this, "share", $this->getAccessHandler(), $this->node_id, $a_load_data);
$tpl->setContent($tbl->getHTML());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjWorkspaceFolderGUI::shareFilter ( )

Definition at line 588 of file class.ilObjWorkspaceFolderGUI.php.

References share().

{
$this->share(false);
}

+ Here is the call graph for this function:

ilObjWorkspaceFolderGUI::showMoveIntoObjectTree ( )

Move node: select target (via explorer)

Definition at line 351 of file class.ilObjWorkspaceFolderGUI.php.

References $_GET, $_POST, $_SESSION, ilObject2GUI\$tree, ilWorkspaceExplorer\SEL_TYPE_RADIO, ilPasteIntoMultipleItemsExplorer\SEL_TYPE_RADIO, ilUtil\sendInfo(), and ilExplorer\setTargetGet().

Referenced by copy(), copyShared(), and cut().

{
global $ilTabs, $tree;
$ilTabs->clearTargets();
if(!$_SESSION['clipboard']['shared'])
{
$ilTabs->setBackTarget($this->lng->txt('back'),
$this->ctrl->getLinkTarget($this));
}
else
{
$ilTabs->setBackTarget($this->lng->txt('back'),
$this->ctrl->getLinkTarget($this, 'share'));
}
$mode = $_SESSION['clipboard']['cmd'];
ilUtil::sendInfo($this->lng->txt('msg_'.$mode.'_clipboard'));
$this->tpl->addBlockfile('ADM_CONTENT', 'adm_content',
'tpl.paste_into_multiple_objects.html', "Services/Object");
// move/copy in personal workspace
if(!$_SESSION['clipboard']['wsp2repo'])
{
require_once 'Services/PersonalWorkspace/classes/class.ilWorkspaceExplorer.php';
'paste_'.$mode.'_wspexpand', $this->tree, $this->getAccessHandler());
$exp->setTargetGet('wsp_id');
if($_GET['paste_'.$mode.'_wspexpand'] == '')
{
// not really used as session is already set [see above]
$expanded = $this->tree->readRootId();
}
else
{
$expanded = $_GET['paste_'.$mode.'_wspexpand'];
}
}
// move/copy to repository
else
{
require_once './Services/Object/classes/class.ilPasteIntoMultipleItemsExplorer.php';
'', 'paste_'.$mode.'_repexpand');
$exp->setTargetGet('ref_id');
if($_GET['paste_'.$mode.'_repexpand'] == '')
{
$expanded = $tree->readRootId();
}
else
{
$expanded = $_GET['paste_'.$mode.'_repexpand'];
}
}
$exp->setCheckedItems(array((int)$_POST['node']));
$exp->setExpandTarget($this->ctrl->getLinkTarget($this, 'showMoveIntoObjectTree'));
$exp->setPostVar('node');
$exp->setExpand($expanded);
$exp->setOutput(0);
$this->tpl->setVariable('OBJECT_TREE', $exp->getOutput());
unset($exp);
$this->tpl->setVariable('FORM_TARGET', '_top');
$this->tpl->setVariable('FORM_ACTION',
$this->ctrl->getFormAction($this, 'performPasteIntoMultipleObjects'));
$this->tpl->setVariable('CMD_SUBMIT', 'performPasteIntoMultipleObjects');
$this->tpl->setVariable('TXT_SUBMIT', $this->lng->txt('paste'));
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjWorkspaceFolderGUI::update ( )

Reimplemented from ilObject2GUI.

Definition at line 186 of file class.ilObjWorkspaceFolderGUI.php.

{
$this->tabs_gui->activateTab("wsp");
$this->tabs_gui->activateSubTab("settings");
}

The documentation for this class was generated from the following file: