ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilContainerGUI Class Reference

Class ilContainerGUI. More...

+ Inheritance diagram for ilContainerGUI:
+ Collaboration diagram for ilContainerGUI:

Public Member Functions

 ilContainerGUI ($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor public. More...
 
executeCommand ()
 execute command note: this method is overwritten in all container objects More...
 
 forwardToStyleSheet ()
 Forward to style object. More...
 
forwardToPageObject ()
 forward command to page object More...
 
 addPageTabs ()
 Add page tabs. More...
 
 getContainerPageHTML ()
 Get container page HTML. More...
 
 prepareOutput ($a_show_subobjects=true)
 prepare output More...
 
 showTreeFlatIcon ()
 
 setTitleAndDescription ()
 called by prepare output More...
 
 showPossibleSubObjects ()
 show possible sub objects selection list More...
 
 getContentGUI ()
 Get content gui object. More...
 
 renderObject ()
 render the object More...
 
 setContentSubTabs ()
 Set content sub tabs. More...
 
 showAdministrationPanel (&$tpl)
 show administration panel More...
 
 __showTimingsButton (&$tpl)
 
 showPermanentLink (&$tpl)
 show permanent link More...
 
 switchToStdEditorObject ()
 Switch to standard page editor. More...
 
 switchToOldEditorObject ()
 Switch to old page editor. More...
 
 useNewEditorObject ()
 Use new editor (-> delete xhtml content page) More...
 
 editPageFrameObject ()
 show page editor frameset More...
 
 editPageContentObject ()
 edit page content (for repository root node and categories) More...
 
 savePageContentObject ()
 
 cancelPageContentObject ()
 
 showLinkListObject ()
 
 clearAdminCommandsDetermination ()
 cleaer administration commands determination More...
 
newBlockTemplate ()
 determin admin commands More...
 
 addHeaderRow (&$a_tpl, $a_type, $a_show_image=true)
 adds a header row to a block template More...
 
 addStandardRow (&$a_tpl, $a_html, $a_item_ref_id="", $a_item_obj_id="", $a_image_type="")
 adds a standard row to a block template More...
 
 addMessageRow (&$a_tpl, $a_message, $a_type)
 add message row More...
 
 resetRowType ()
 
 setPageEditorTabs ()
 Add page editor tabs. More...
 
 addStandardContainerSubTabs ($a_include_view=true)
 Add standar container subtabs for view, manage, oderdering and text/media editor link. More...
 
 getTabs (&$tabs_gui)
 common tabs for all container objects (should be called at the end of child getTabs() method More...
 
 enableAdministrationPanelObject ()
 enable administration panel More...
 
 disableAdministrationPanelObject ()
 enable administration panel More...
 
 editOrderObject ()
 Edit order. More...
 
 isActiveOrdering ()
 Check if ordering is enabled. More...
 
 isActiveItemOrdering ()
 Check if item ordering is enabled. More...
 
 addToDeskObject ()
 
 removeFromDeskObject ()
 
 enableMultiDownloadObject ()
 
 isMultiDownloadEnabled ()
 
 lockObject ()
 
 cutObject ()
 cut object(s) out from a container and write the information to clipboard More...
 
 copyObject ()
 Copy object(s) out from a container and write the information to clipboard It is not possible to copy multiple objects at once. More...
 
 downloadObject ()
 
 linkObject ()
 create an new reference of an object in tree it's like a hard link of unix More...
 
 clearObject ()
 clear clipboard and go back to last object More...
 
 performPasteIntoMultipleObjectsObject ()
 
 initAndDisplayLinkIntoMultipleObjectsObject ()
 
 showPasteTreeObject ()
 Show paste tree. More...
 
 cancelMoveLinkObject ()
 Cancel move|link empty clipboard and return to parent. More...
 
 keepObjectsInClipboardObject ()
 Keep objects in the clipboard. More...
 
 initAndDisplayCopyIntoMultipleObjectsObject ()
 
 initAndDisplayMoveIntoObjectObject ()
 
 pasteObject ()
 paste object from clipboard to current place Depending on the chosen command the object(s) are linked, copied or moved More...
 
 clipboardObject ()
 Copy object(s) out from a container and write the information to clipboard It is not possible to copy multiple objects at once. More...
 
 showCustomIconsEditing ($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
 show edit section of custom icons for container More...
 
 isActiveAdministrationPanel ()
 
 setColumnSettings ($column_gui)
 May be overwritten in subclasses. More...
 
 allowBlocksMoving ()
 Standard is to allow blocks moving. More...
 
 allowBlocksConfigure ()
 Standard is to allow blocks configuration. More...
 
 cloneWizardPageTreeObject ()
 public More...
 
 cloneWizardPageListObject ()
 public More...
 
 cloneWizardPageObject ($a_tree_view=true)
 Show clone wizard page for container objects. More...
 
 cloneAllObject ()
 Clone all object Overwritten method for copying container objects. More...
 
 saveSortingObject ()
 Save Sorting. More...
 
 cloneNodes ($srcRef, $dstRef, &$mapping, $newName=null)
 Recursively clones all nodes of the RBAC tree. More...
 
 modifyItemGUI (&$a_item_list_gui, $a_item_data, $a_show_path)
 Modify Item ListGUI for presentation in container. More...
 
 editStylePropertiesObject ()
 Edit style properties. More...
 
 initStylePropertiesForm ()
 Init style properties form. More...
 
 createStyleObject ()
 Create Style. More...
 
 editStyleObject ()
 Edit Style. More...
 
 deleteStyleObject ()
 Delete Style. More...
 
 saveStyleSettingsObject ()
 Save style settings. More...
 
 getAsynchItemListObject ()
 Get item list command drop down asynchronously. More...
 
 redrawListItemObject ()
 Redraw a list item (ajax) More...
 
 showRepTree ()
 Show tree. More...
 
 trashObject ()
 Show trash content of object. More...
 
 removeFromSystemObject ()
 remove objects from trash bin and all entries therefore every object needs a specific deleteObject() method More...
 
 undeleteObject ()
 Get objects back from trash. More...
 
 confirmRemoveFromSystemObject ()
 confirmation screen remove from system More...
 
- Public Member Functions inherited from ilObjectGUI
 ilObjectGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor public. More...
 
executeCommand ()
 execute command More...
 
 withReferences ()
 determines wether objects are referenced or not (got ref ids or not) More...
 
 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 More...
 
 getCreationMode ()
 get creation mode More...
 
 getAdminTabs (&$tabs_gui)
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelDeleteObject ()
 cancel deletion of object More...
 
 cancelObject ($in_rep=false)
 cancel action and go back to previous page public More...
 
 createObject ()
 create new object form More...
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 save object More...
 
 editObject ()
 edit object More...
 
 addExternalEditFormCustom (ilPropertyFormGUI $a_form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g. More...
 
 isVisible ($a_ref_id, $a_type)
 
 viewObject ()
 list childs of current object More...
 
 deleteObject ($a_error=false)
 Display deletion confirmation screen. More...
 
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI. More...
 

Static Public Member Functions

static _buildPath ($a_ref_id, $a_course_ref_id)
 build path More...
 
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot ($a_raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode ($a_ref_id, $a_cmd="frameset")
 Goto repository root. More...
 

Data Fields

 $bl_cnt = 1
 
 $multi_download_enabled = false
 
- Data Fields inherited from ilObjectGUI
const COPY_WIZARD_NEEDS_PAGE = 1
 
 $ilias
 
 $objDefinition
 
 $tpl
 
 $tree
 
 $lng
 
 $data
 
 $object
 
 $ref_id
 
 $obj_id
 
 $maxcount
 
 $formaction
 
 $return_location
 
 $target_frame
 
 $tab_target_script
 
 $actions
 
 $sub_objects
 
 $omit_locator = false
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 

Protected Member Functions

 getEditFormValues ()
 Get values for edit form. More...
 
 afterUpdate ()
 
 showPasswordInstructionObject ($a_init=true)
 Show webdav password instruction. More...
 
 initFormPasswordInstruction ()
 Init password form. More...
 
 savePasswordObject ()
 Save password. More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add file manager link. More...
 
 fileManagerLaunchObject ()
 Launch jnlp. More...
 
 initSortingForm (ilPropertyFormGUI $form, array $a_sorting_settings)
 Append sorting settings to property form. More...
 
 initSortingDirectionForm (ilContainerSortingSettings $sorting_settings, $element, $a_prefix)
 Add sorting direction. More...
 
 initManualSortingOptionForm (ilContainerSortingSettings $settings, $element, $a_prefix, $a_sorting_settings)
 Add manual sorting options. More...
 
 saveSortingSettings (ilPropertyFormGUI $form)
 Save sorting settings. More...
 
 getTreeSelectorGUI ($cmd)
 
- Protected Member Functions inherited from ilObjectGUI
 assignObject ()
 
 prepareOutput ()
 prepare output More...
 
 setTitleAndDescription ()
 called by prepare output More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction ($a_list_gui)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 showMountWebfolderIcon ()
 
 setTabs ()
 set admin tabs public More...
 
 setAdminTabs ()
 set admin tabs public More...
 
 setLocator ()
 set Locator More...
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator ($a_omit=true)
 
 addAdminLocatorItems ($a_do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 initCreationForms ($a_new_type)
 Init creation froms. More...
 
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion) More...
 
 initCreateForm ($a_new_type)
 Init object creation form. More...
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types. More...
 
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates. More...
 
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position. More...
 
 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 Init object edit form. More...
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 Get values for edit form. More...
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $a_form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 initImportForm ($a_new_type)
 Init object import form. More...
 
 importFileObject ($parent_id=null, $a_catch_errors=true)
 Import. More...
 
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook. More...
 
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command More...
 
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command More...
 
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command More...
 
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu) More...
 
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl. More...
 
 getTitlesByRefId ($a_ref_ids)
 get Titles of objects this method is used for error messages in methods cut/copy/paste More...
 
 getTabs (&$tabs_gui)
 get tabs abstract method. More...
 
 __showButton ($a_cmd, $a_text, $a_target='')
 
 hitsperpageObject ()
 
__initTableGUI ()
 
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table More...
 
 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 More...
 
 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. More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 setColumnSettings ($column_gui)
 May be overwritten in subclasses. More...
 
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error. More...
 
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission. More...
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 handleAutoRating (ilObject $a_new_obj)
 Activate rating automatically if parent container setting. More...
 

Private Member Functions

 downloadMultipleObjects ($a_ref_ids)
 

Static Private Member Functions

static recurseFolder ($refid, $title, $tmpdir)
 private functions which iterates through all folders and files and create an according file structure in a temporary directory. More...
 
static copyFile ($obj_id, $title, $tmpdir)
 

Additional Inherited Members

- Protected Attributes inherited from ilObjectGUI
 $tmp_import_dir
 

Detailed Description

Class ilContainerGUI.

This is a base GUI class for all container objects in ILIAS: root folder, course, group, category, folder

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Stefan Hecken stefa.nosp@m.n.he.nosp@m.cken@.nosp@m.conc.nosp@m.epts-.nosp@m.and-.nosp@m.train.nosp@m.ing..nosp@m.de
Version
$Id$

Definition at line 20 of file class.ilContainerGUI.php.

Member Function Documentation

◆ __showTimingsButton()

ilContainerGUI::__showTimingsButton ( $tpl)

Definition at line 703 of file class.ilContainerGUI.php.

References ilObjectGUI\$tpl, and ilObjectGUI\$tree.

704  {
705  global $tree;
706 
707  if(!$tree->checkForParentType($this->object->getRefId(),'crs'))
708  {
709  return false;
710  }
711  $tpl->setCurrentBlock("custom_button");
712  $tpl->setVariable("ADMIN_MODE_LINK",$this->ctrl->getLinkTargetByClass('ilcoursecontentgui','editTimings'));
713  $tpl->setVariable("TXT_ADMIN_MODE",$this->lng->txt('timings_edit'));
714  $tpl->parseCurrentBlock();
715  return true;
716  }

◆ _buildPath()

static ilContainerGUI::_buildPath (   $a_ref_id,
  $a_course_ref_id 
)
static

build path

Definition at line 3222 of file class.ilContainerGUI.php.

References ilObjectGUI\$data, $path, and ilObjectGUI\$tree.

3223  {
3224  global $tree;
3225 
3226  $path_arr = $tree->getPathFull($a_ref_id, $a_course_ref_id);
3227  $counter = 0;
3228  foreach($path_arr as $data)
3229  {
3230  if($counter++)
3231  {
3232  $path .= " > ";
3233  }
3234  $path .= $data['title'];
3235  }
3236 
3237  return $path;
3238  }
$path
Definition: index.php:22

◆ addHeaderRow()

ilContainerGUI::addHeaderRow ( $a_tpl,
  $a_type,
  $a_show_image = true 
)

adds a header row to a block template

Parameters
object$a_tplblock template
string$a_typeobject type private

Definition at line 1014 of file class.ilContainerGUI.php.

References ilUtil\getImagePath().

1015  {
1016  $icon = ilUtil::getImagePath("icon_".$a_type.".svg");
1017  $title = $this->lng->txt("objs_".$a_type);
1018 
1019  if ($a_show_image)
1020  {
1021  $a_tpl->setCurrentBlock("container_header_row_image");
1022  $a_tpl->setVariable("HEADER_IMG", $icon);
1023  $a_tpl->setVariable("HEADER_ALT", $title);
1024  }
1025  else
1026  {
1027  $a_tpl->setCurrentBlock("container_header_row");
1028  }
1029 
1030  $a_tpl->setVariable("BLOCK_HEADER_CONTENT", $title);
1031  $a_tpl->parseCurrentBlock();
1032  $a_tpl->touchBlock("container_row");
1033  }
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
+ Here is the call graph for this function:

◆ addMessageRow()

ilContainerGUI::addMessageRow ( $a_tpl,
  $a_message,
  $a_type 
)

add message row

Definition at line 1105 of file class.ilContainerGUI.php.

1106  {
1107  $this->cur_row_type = ($this->cur_row_type == "row_type_1")
1108  ? "row_type_2"
1109  : "row_type_1";
1110 
1111  $a_tpl->touchBlock($this->cur_row_type);
1112 
1113  $type = $this->lng->txt("obj_".$a_type);
1114  $a_message = str_replace("[type]", $type, $a_message);
1115 
1116  $a_tpl->setVariable("ROW_NBSP", " ");
1117 
1118  $a_tpl->setCurrentBlock("container_standard_row");
1119  $a_tpl->setVariable("BLOCK_ROW_CONTENT",
1120  $a_message);
1121  $a_tpl->parseCurrentBlock();
1122  $a_tpl->touchBlock("container_row");
1123  }

◆ addPageTabs()

ilContainerGUI::addPageTabs ( )

Add page tabs.

Definition at line 275 of file class.ilContainerGUI.php.

References $ilCtrl.

276  {
277  global $ilTabs, $ilCtrl;
278 
279  $ilTabs->addTarget("obj_sty",
280  $ilCtrl->getLinkTarget($this, 'editStyleProperties'), "editStyleProperties");
281  }
global $ilCtrl
Definition: ilias.php:18

◆ addStandardContainerSubTabs()

ilContainerGUI::addStandardContainerSubTabs (   $a_include_view = true)

Add standar container subtabs for view, manage, oderdering and text/media editor link.

Definition at line 1162 of file class.ilContainerGUI.php.

References $_SESSION, $ilCtrl, $ilSetting, $ilUser, ilObjectGUI\$lng, ilFrameTargetInfo\_getFrame(), and isActiveAdministrationPanel().

Referenced by ilObjOrgUnitGUI\setContentSubTabs(), setContentSubTabs(), and ilObjCourseGUI\setContentSubTabs().

1163  {
1164  global $ilTabs, $ilAccess, $lng, $ilCtrl, $ilUser, $ilSetting;
1165 
1166  if (!is_object($this->object))
1167  {
1168  return;
1169  }
1170 
1171  if ($a_include_view && $ilAccess->checkAccess("read", "", $this->object->getRefId()))
1172  {
1173  if (!$this->isActiveAdministrationPanel())
1174  {
1175  $ilTabs->addSubTab("view_content", $lng->txt("view"), $ilCtrl->getLinkTarget($this, ""));
1176  }
1177  else
1178  {
1179  $ilTabs->addSubTab("view_content", $lng->txt("view"), $ilCtrl->getLinkTarget($this, "disableAdministrationPanel"));
1180  }
1181  }
1182 
1183  if ( $ilUser->getId() != ANONYMOUS_USER_ID &&
1184  ($this->adminCommands ||
1185  (is_object($this->object) &&
1186  ($ilAccess->checkAccess("write", "", $this->object->getRefId())))
1187  ||
1188  (is_object($this->object) &&
1189  ($this->object->getHiddenFilesFound())) ||
1190  $_SESSION["clipboard"]
1191  )
1192  )
1193  {
1194  if ($this->isActiveAdministrationPanel())
1195  {
1196  $ilTabs->addSubTab("manage", $lng->txt("cntr_manage"), $ilCtrl->getLinkTarget($this, ""));
1197  }
1198  else
1199  {
1200  $ilTabs->addSubTab("manage", $lng->txt("cntr_manage"), $ilCtrl->getLinkTarget($this, "enableAdministrationPanel"));
1201  }
1202  }
1203  if ($ilUser->getId() != ANONYMOUS_USER_ID &&
1204  is_object($this->object) &&
1205  $ilAccess->checkAccess("write", "", $this->object->getRefId()) /* &&
1206  $this->object->getOrderType() == ilContainer::SORT_MANUAL */ // always on because of custom block order
1207  )
1208  {
1209  $ilTabs->addSubTab("ordering", $lng->txt("cntr_ordering"), $ilCtrl->getLinkTarget($this, "editOrder"));
1210  }
1211  if ($ilUser->getId() != ANONYMOUS_USER_ID &&
1212  is_object($this->object) &&
1213  $ilAccess->checkAccess("write", "", $this->object->getRefId())
1214  )
1215  {
1216  if ($ilSetting->get("enable_cat_page_edit"))
1217  {
1218  $ilTabs->addSubTab("page_editor", $lng->txt("cntr_text_media_editor"), $ilCtrl->getLinkTarget($this, "editPageFrame"),
1219  ilFrameTargetInfo::_getFrame("MainContent"));
1220  }
1221  }
1222  }
$_SESSION["AccountId"]
global $ilCtrl
Definition: ilias.php:18
static _getFrame($a_class, $a_type='')
Get content frame name.
global $ilUser
Definition: imgupload.php:15
global $ilSetting
Definition: privfeed.php:40
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addStandardRow()

ilContainerGUI::addStandardRow ( $a_tpl,
  $a_html,
  $a_item_ref_id = "",
  $a_item_obj_id = "",
  $a_image_type = "" 
)

adds a standard row to a block template

Parameters
object$a_tplblock template
string$a_htmlhtml code private

Definition at line 1042 of file class.ilContainerGUI.php.

References $path, ilContainer\_lookupIconPath(), ilContainerSortingSettings\_lookupSortMode(), ilUtil\getImagePath(), isActiveAdministrationPanel(), and ilContainer\SORT_MANUAL.

1044  {
1045  $this->cur_row_type = ($this->cur_row_type == "row_type_1")
1046  ? "row_type_2"
1047  : "row_type_1";
1048 
1049  $a_tpl->touchBlock($this->cur_row_type);
1050 
1051  $nbsp = true;
1052  if ($this->ilias->getSetting("icon_position_in_lists") == "item_rows")
1053  {
1054  $icon = ilUtil::getImagePath("icon_".$a_image_type.".svg");
1055  $alt = $this->lng->txt("obj_".$a_image_type);
1056 
1057  // custom icon
1058  if ($this->ilias->getSetting("custom_icons") &&
1059  in_array($a_image_type, array("cat","grp","crs")))
1060  {
1061  require_once("./Services/Container/classes/class.ilContainer.php");
1062  if (($path = ilContainer::_lookupIconPath($a_item_obj_id, "small")) != "")
1063  {
1064  $icon = $path;
1065  }
1066  }
1067 
1068  $a_tpl->setCurrentBlock("block_row_image");
1069  $a_tpl->setVariable("ROW_IMG", $icon);
1070  $a_tpl->setVariable("ROW_ALT", $alt);
1071  $a_tpl->parseCurrentBlock();
1072  $nbsp = false;
1073  }
1074 
1075  if ($this->isActiveAdministrationPanel())
1076  {
1077  $a_tpl->setCurrentBlock("block_row_check");
1078  $a_tpl->setVariable("ITEM_ID", $a_item_ref_id);
1079  $a_tpl->parseCurrentBlock();
1080  $nbsp = false;
1081  }
1082  include_once('Services/Container/classes/class.ilContainerSortingSettings.php');
1083  if($this->isActiveAdministrationPanel() &&
1085  {
1086  $a_tpl->setCurrentBlock('block_position');
1087  $a_tpl->setVariable('POS_TYPE',$a_image_type);
1088  $a_tpl->setVariable('POS_ID',$a_item_ref_id);
1089  $a_tpl->setVariable('POSITION',sprintf('%.1f',$this->current_position++));
1090  $a_tpl->parseCurrentBlock();
1091  }
1092  if ($nbsp)
1093  {
1094  $a_tpl->setVariable("ROW_NBSP", " ");
1095  }
1096  $a_tpl->setCurrentBlock("container_standard_row");
1097  $a_tpl->setVariable("BLOCK_ROW_CONTENT", $a_html);
1098  $a_tpl->parseCurrentBlock();
1099  $a_tpl->touchBlock("container_row");
1100  }
_lookupIconPath($a_id, $a_size="big")
lookup icon path
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
redirection script todo: (a better solution should control the processing via a xml file) ...
$path
Definition: index.php:22
static _lookupSortMode($a_obj_id)
lookup sort mode
+ Here is the call graph for this function:

◆ addToDeskObject()

ilContainerGUI::addToDeskObject ( )
See also
ilDesktopItemHandling::addToDesk()

Implements ilDesktopItemHandling.

Definition at line 1316 of file class.ilContainerGUI.php.

References $ilSetting, ilObjectGUI\$lng, ilDesktopItemGUI\addToDesktop(), renderObject(), and ilUtil\sendSuccess().

1317  {
1318  global $ilSetting, $lng;
1319 
1320  if((int)$ilSetting->get('disable_my_offers'))
1321  {
1322  return $this->renderObject();
1323  }
1324 
1325  include_once './Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
1327  ilUtil::sendSuccess($lng->txt("added_to_desktop"));
1328  $this->renderObject();
1329  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
renderObject()
render the object
static addToDesktop()
Add desktop item public.
global $ilSetting
Definition: privfeed.php:40
+ Here is the call graph for this function:

◆ afterUpdate()

ilContainerGUI::afterUpdate ( )
protected

Definition at line 105 of file class.ilContainerGUI.php.

References $_REQUEST, ilObjectGUI\getDidacticTemplateVar(), and ilDidacticTemplateObjSettings\lookupTemplateId().

Referenced by ilObjCategoryGUI\updateObject(), and ilObjCourseGUI\updateObject().

106  {
107  // check if template is changed
108  include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
109  $current_tpl_id = (int) ilDidacticTemplateObjSettings::lookupTemplateId(
110  $this->object->getRefId()
111  );
112  $new_tpl_id = (int) $this->getDidacticTemplateVar('dtpl');
113 
114  if($new_tpl_id != $current_tpl_id)
115  {
116  $_REQUEST['tplid'] = $new_tpl_id;
117 
118  // redirect to didactic template confirmation
119  include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
120  $this->ctrl->setReturn($this,'edit');
121  $this->ctrl->setCmdClass('ildidactictemplategui');
122  $this->ctrl->setCmd('confirmTemplateSwitch');
123  $dtpl_gui = new ilDidacticTemplateGUI($this);
124  return $this->ctrl->forwardCommand($dtpl_gui);
125  }
126  parent::afterUpdate();
127  }
static lookupTemplateId($a_ref_id)
Lookup template id ilDB $ilDB.
GUI class for didactic template settings inside repository objects.
getDidacticTemplateVar($a_type)
Get didactic template setting from creation screen.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ allowBlocksConfigure()

ilContainerGUI::allowBlocksConfigure ( )

Standard is to allow blocks configuration.

Definition at line 2918 of file class.ilContainerGUI.php.

2919  {
2920  true;
2921  }

◆ allowBlocksMoving()

ilContainerGUI::allowBlocksMoving ( )

Standard is to allow blocks moving.

Definition at line 2910 of file class.ilContainerGUI.php.

Referenced by setColumnSettings().

2911  {
2912  true;
2913  }
+ Here is the caller graph for this function:

◆ cancelMoveLinkObject()

ilContainerGUI::cancelMoveLinkObject ( )

Cancel move|link empty clipboard and return to parent.

Definition at line 2195 of file class.ilContainerGUI.php.

References $_SESSION, and $GLOBALS.

2196  {
2197  unset($_SESSION['clipboard']);
2198  $GLOBALS['ilCtrl']->returnToParent($this);
2199  }
$_SESSION["AccountId"]
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
Definition: CAS.php:276

◆ cancelPageContentObject()

ilContainerGUI::cancelPageContentObject ( )

Definition at line 910 of file class.ilContainerGUI.php.

911  {
912  $this->ctrl->redirect($this, "");
913  }

◆ clearAdminCommandsDetermination()

ilContainerGUI::clearAdminCommandsDetermination ( )

cleaer administration commands determination

Definition at line 967 of file class.ilContainerGUI.php.

968  {
969  $this->adminCommands = false;
970  }

◆ clearObject()

ilContainerGUI::clearObject ( )

clear clipboard and go back to last object

public

Definition at line 1771 of file class.ilContainerGUI.php.

References $_POST, $_SESSION, and ilUtil\sendSuccess().

Referenced by pasteObject(), and performPasteIntoMultipleObjectsObject().

1772  {
1773  unset($_SESSION["clipboard"]);
1774  unset($_SESSION["il_rep_clipboard"]);
1775 
1776  //var_dump($this->getReturnLocation("clear",$this->ctrl->getLinkTarget($this)),get_class($this));
1777 
1778  // only redirect if clipboard was cleared
1779  if (isset($_POST["cmd"]["clear"]))
1780  {
1781  ilUtil::sendSuccess($this->lng->txt("msg_clear_clipboard"),true);
1782  // fixed mantis 0018474: Clear Clipboard redirects to Subtab View, instead of Subtab "Edit Multiple"
1783  $this->ctrl->redirect($this, 'render');
1784  }
1785  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
$_SESSION["AccountId"]
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clipboardObject()

ilContainerGUI::clipboardObject ( )

Copy object(s) out from a container and write the information to clipboard It is not possible to copy multiple objects at once.

public show clipboard

Definition at line 2675 of file class.ilContainerGUI.php.

References $_SESSION, ilObjectGUI\$data, $ilCtrl, $ilErr, $ilLog, ilObjectGUI\$lng, ilObjectGUI\$ref_id, $tab, ilObjectGUI\$tpl, and ilObjectFactory\getInstanceByRefId().

2676  {
2677  global $ilErr, $ilLog, $ilTabs, $tpl, $ilToolbar, $ilCtrl, $lng;
2678 
2679  $ilTabs->activateTab("clipboard");
2680 
2681  // function should not be called if clipboard is empty
2682  if (empty($_SESSION['clipboard']) or !is_array($_SESSION['clipboard']))
2683  {
2684  $message = sprintf('%s::clipboardObject(): Illegal access. Clipboard variable is empty!', get_class($this));
2685  $ilLog->write($message,$ilLog->FATAL);
2686  $ilErr->raiseError($this->lng->txt("permission_denied"),$ilErr->WARNING);
2687  }
2688 
2689  $data = array();
2690  foreach($_SESSION["clipboard"]["ref_ids"] as $ref_id)
2691  {
2692  if(!$tmp_obj = ilObjectFactory::getInstanceByRefId($ref_id,false))
2693  {
2694  continue;
2695  }
2696 
2697  $data[] = array(
2698  "type" => $tmp_obj->getType(),
2699  "type_txt" => $this->lng->txt("obj_".$tmp_obj->getType()),
2700  "title" => $tmp_obj->getTitle(),
2701  "cmd" => ($_SESSION["clipboard"]["cmd"] == "cut") ? $this->lng->txt("move") :$this->lng->txt($_SESSION["clipboard"]["cmd"]),
2702  "ref_id" => $ref_id,
2703  "obj_id" => $tmp_obj->getId()
2704  );
2705 
2706  unset($tmp_obj);
2707  }
2708 
2709  include_once("./Services/Object/classes/class.ilObjClipboardTableGUI.php");
2710  $tab = new ilObjClipboardTableGUI($this, "clipboard");
2711  $tab->setData($data);
2712  $tpl->setContent($tab->getHTML());
2713 
2714  if (count($data) > 0)
2715  {
2716  $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
2717  $ilToolbar->addFormButton($lng->txt("insert_object_here"),
2718  "paste");
2719  $ilToolbar->addFormButton($lng->txt("clear_clipboard"),
2720  "clear");
2721  }
2722 
2723  return true;
2724  }
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
$_SESSION["AccountId"]
global $ilCtrl
Definition: ilias.php:18
+ Here is the call graph for this function:

◆ cloneAllObject()

ilContainerGUI::cloneAllObject ( )

Clone all object Overwritten method for copying container objects.

public

Definition at line 3078 of file class.ilContainerGUI.php.

References $_COOKIE, $_GET, $_POST, $_REQUEST, $ilCtrl, $ilErr, $ilLog, $ilUser, $options, ilObjectGUI\$ref_id, $result, ilObjectGUI\$tree, ilCopyWizardOptions\_isFinished(), ilObjectGUI\createObject(), ilObjectFactory\getInstanceByRefId(), ilUtil\sendFailure(), ilUtil\sendInfo(), and ilUtil\sendSuccess().

3079  {
3080  global $ilLog, $ilCtrl;
3081 
3082  include_once('./Services/Link/classes/class.ilLink.php');
3083  include_once('Services/CopyWizard/classes/class.ilCopyWizardOptions.php');
3084 
3085  global $ilAccess,$ilErr,$rbacsystem,$tree,$ilUser;
3086 
3087  $new_type = $_REQUEST['new_type'];
3088  $ref_id = (int) $_GET['ref_id'];
3089  $clone_source = (int) $_REQUEST['clone_source'];
3090 
3091  if(!$rbacsystem->checkAccess('create', $ref_id,$new_type))
3092  {
3093  $ilErr->raiseError($this->lng->txt('permission_denied'));
3094  }
3095  if(!$clone_source)
3096  {
3097  ilUtil::sendFailure($this->lng->txt('select_one'));
3098  $this->createObject();
3099  return false;
3100  }
3101  if(!$ilAccess->checkAccess('write','', $clone_source,$new_type))
3102  {
3103  $ilErr->raiseError($this->lng->txt('permission_denied'));
3104  }
3105 
3106  $options = $_POST['cp_options'] ? $_POST['cp_options'] : array();
3107  $orig = ilObjectFactory::getInstanceByRefId($clone_source);
3108  $result = $orig->cloneAllObject($_COOKIE['PHPSESSID'], $_COOKIE['ilClientId'], $new_type, $ref_id, $clone_source, $options);
3109 
3110  include_once './Services/CopyWizard/classes/class.ilCopyWizardOptions.php';
3112  {
3113  ilUtil::sendSuccess($this->lng->txt("object_duplicated"),true);
3114  $ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $result['ref_id']);
3115  $ilCtrl->redirectByClass("ilrepositorygui", "");
3116  }
3117  else
3118  {
3119  ilUtil::sendInfo($this->lng->txt("object_copy_in_progress"),true);
3120  $ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $ref_id);
3121  $ilCtrl->redirectByClass("ilrepositorygui", "");
3122  }
3123  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
$result
$_GET["client_id"]
$_COOKIE["ilClientId"]
Definition: cron.php:11
createObject()
create new object form
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static _isFinished($a_copy_id)
check if copy is finished
if(!is_array($argv)) $options
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
global $ilUser
Definition: imgupload.php:15
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ cloneNodes()

ilContainerGUI::cloneNodes (   $srcRef,
  $dstRef,
$mapping,
  $newName = null 
)

Recursively clones all nodes of the RBAC tree.

private

Parameters
integerref_id of source object
integerref_id of destination object
arraymapping new_ref_id => old_ref_id
stringthe new name of the copy (optional).
Returns
The ref_id pointing to the cloned object.

Definition at line 3157 of file class.ilContainerGUI.php.

References ilObjectGUI\$ilias, ilObjectGUI\$tree, and Monolog\Handler\error_log().

Referenced by performPasteIntoMultipleObjectsObject().

3158  {
3159  global $tree;
3160  global $ilias;
3161 
3162  // clone the source node
3163  $srcObj =& $ilias->obj_factory->getInstanceByRefId($srcRef);
3164  error_log(__METHOD__.' cloning srcRef='.$srcRef.' dstRef='.$dstRef.'...');
3165  $newRef = $srcObj->cloneObject($dstRef)->getRefId();
3166  error_log(__METHOD__.' ...cloning... newRef='.$newRef.'...');
3167 
3168  // We must immediately apply a new name to the object, to
3169  // prevent confusion of WebDAV clients about having two objects with identical
3170  // name in the repository.
3171  if (! is_null($newName))
3172  {
3173  $newObj =& $ilias->obj_factory->getInstanceByRefId($newRef);
3174  $newObj->setTitle($newName);
3175  $newObj->update();
3176  unset($newObj);
3177  }
3178  unset($srcObj);
3179  $mapping[$newRef] = $srcRef;
3180 
3181  // clone all children of the source node
3182  $children = $tree->getChilds($srcRef);
3183  foreach ($tree->getChilds($srcRef) as $child)
3184  {
3185  // Don't clone role folders, because it does not make sense to clone local roles
3186  // FIXME - Maybe it does make sense (?)
3187  if ($child["type"] != 'rolf')
3188  {
3189  $this->cloneNodes($child["ref_id"],$newRef,$mapping);
3190  }
3191  else
3192  {
3193  if (count($rolf = $tree->getChildsByType($newRef,"rolf")))
3194  {
3195  $mapping[$rolf[0]["ref_id"]] = $child["ref_id"];
3196  }
3197  }
3198  }
3199  error_log(__METHOD__.' ...cloned srcRef='.$srcRef.' dstRef='.$dstRef.' newRef='.$newRef);
3200  return $newRef;
3201  }
cloneNodes($srcRef, $dstRef, &$mapping, $newName=null)
Recursively clones all nodes of the RBAC tree.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cloneWizardPageListObject()

ilContainerGUI::cloneWizardPageListObject ( )

public

Parameters

Definition at line 2942 of file class.ilContainerGUI.php.

References cloneWizardPageObject().

2943  {
2944  $this->cloneWizardPageObject(false);
2945  }
cloneWizardPageObject($a_tree_view=true)
Show clone wizard page for container objects.
+ Here is the call graph for this function:

◆ cloneWizardPageObject()

ilContainerGUI::cloneWizardPageObject (   $a_tree_view = true)

Show clone wizard page for container objects.

public

Definition at line 2953 of file class.ilContainerGUI.php.

References $_REQUEST, $_SESSION, $html, ilObjectGUI\$tree, ilCopyWizardPageFactory\_getInstanceByType(), ilObjectGUI\createObject(), ilUtil\getImagePath(), and ilUtil\sendFailure().

Referenced by cloneWizardPageListObject(), and cloneWizardPageTreeObject().

2954  {
2955  include_once('Services/CopyWizard/classes/class.ilCopyWizardPageFactory.php');
2956 
2957  global $ilObjDataCache,$tree;
2958 
2959  if(!$_REQUEST['clone_source'])
2960  {
2961  ilUtil::sendFailure($this->lng->txt('select_one'));
2962  if(isset($_SESSION['wizard_search_title']))
2963  {
2964  $this->searchCloneSourceObject();
2965  }
2966  else
2967  {
2968  $this->createObject();
2969  }
2970  return false;
2971  }
2972  $source_id = $_REQUEST['clone_source'];
2973  $new_type = $_REQUEST['new_type'];
2974  $this->ctrl->setParameter($this,'clone_source',(int) $_REQUEST['clone_source']);
2975  $this->ctrl->setParameter($this,'new_type',$new_type);
2976 
2977 
2978  // Generell JavaScript
2979  $this->tpl->addJavaScript('./Services/CopyWizard/js/ilContainer.js');
2980  $this->tpl->setVariable('BODY_ATTRIBUTES','onload="ilDisableChilds(\'cmd\');"');
2981 
2982 
2983  $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.container_wizard_page.html',
2984  "Services/Container");
2985  $this->tpl->setVariable('FORMACTION',$this->ctrl->getFormAction($this));
2986  $this->tpl->setVariable('TYPE_IMG',ilUtil::getImagePath('icon_'.$new_type.'.svg'));
2987  $this->tpl->setVariable('ALT_IMG',$this->lng->txt('obj_'.$new_type));
2988  $this->tpl->setVariable('TXT_DUPLICATE',$this->lng->txt($new_type.'_wizard_page'));
2989  $this->tpl->setVariable('INFO_DUPLICATE',$this->lng->txt($new_type.'_copy_threads_info'));
2990  $this->tpl->setVariable('BTN_COPY',$this->lng->txt('obj_'.$new_type.'_duplicate'));
2991  $this->tpl->setVariable('BTN_BACK',$this->lng->txt('btn_back'));
2992  if(isset($_SESSION['wizard_search_title']))
2993  {
2994  $this->tpl->setVariable('CMD_BACK','searchCloneSource');
2995  }
2996  else
2997  {
2998  $this->tpl->setVariable('CMD_BACK','create');
2999  }
3000 
3001  $this->tpl->setVariable('BTN_TREE',$this->lng->txt('treeview'));
3002  $this->tpl->setVariable('BTN_LIST',$this->lng->txt('flatview'));
3003 
3004  // Fill item rows
3005  // tree view
3006  if($a_tree_view)
3007  {
3008  $first = true;
3009  $has_items = false;
3010  foreach($subnodes = $tree->getSubtree($source_node = $tree->getNodeData($source_id),true) as $node)
3011  {
3012  if($first == true)
3013  {
3014  $first = false;
3015  continue;
3016  }
3017 
3018  if($node['type'] == 'rolf')
3019  {
3020  continue;
3021  }
3022 
3023  $has_items = true;
3024 
3025  for($i = $source_node['depth'];$i < $node['depth']; $i++)
3026  {
3027  $this->tpl->touchBlock('padding');
3028  $this->tpl->touchBlock('end_padding');
3029  }
3030  // fill options
3031  $copy_wizard_page = ilCopyWizardPageFactory::_getInstanceByType($source_id,$node['type']);
3032  $copy_wizard_page->fillTreeSelection($node['ref_id'],$node['type'],$node['depth']);
3033 
3034  $this->tpl->setCurrentBlock('tree_row');
3035  $this->tpl->setVariable('TREE_IMG',ilUtil::getImagePath('icon_'.$node['type'].'.svg'));
3036  $this->tpl->setVariable('TREE_ALT_IMG',$this->lng->txt('obj_'.$node['type']));
3037  $this->tpl->setVariable('TREE_TITLE',$node['title']);
3038  $this->tpl->parseCurrentBlock();
3039  }
3040  if(!$has_items)
3041  {
3042  $this->tpl->setCurrentBlock('no_content');
3043  $this->tpl->setVariable('TXT_NO_CONTENT',$this->lng->txt('container_no_items'));
3044  $this->tpl->parseCurrentBlock();
3045  }
3046  else
3047  {
3048  $this->tpl->setCurrentBlock('tree_footer');
3049  $this->tpl->setVariable('TXT_COPY_ALL',$this->lng->txt('copy_all'));
3050  $this->tpl->setVariable('TXT_LINK_ALL',$this->lng->txt('link_all'));
3051  $this->tpl->setVariable('TXT_OMIT_ALL',$this->lng->txt('omit_all'));
3052  $this->tpl->parseCurrentBlock();
3053 
3054  }
3055  }
3056  else
3057  {
3058  foreach($tree->getSubTreeTypes($source_id,array('rolf','crs')) as $type)
3059  {
3060  $copy_wizard_page = ilCopyWizardPageFactory::_getInstanceByType($source_id,$type);
3061  if(strlen($html = $copy_wizard_page->getWizardPageBlockHTML()))
3062  {
3063  $this->tpl->setCurrentBlock('obj_row');
3064  $this->tpl->setVariable('ITEM_BLOCK',$html);
3065  $this->tpl->parseCurrentBlock();
3066  }
3067  }
3068  }
3069  }
static _getInstanceByType($a_source_id, $a_item_type)
Get instance by type.
$_SESSION["AccountId"]
createObject()
create new object form
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
$html
Definition: example_001.php:87
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cloneWizardPageTreeObject()

ilContainerGUI::cloneWizardPageTreeObject ( )

public

Parameters

Definition at line 2930 of file class.ilContainerGUI.php.

References cloneWizardPageObject().

2931  {
2932  $this->cloneWizardPageObject(true);
2933  }
cloneWizardPageObject($a_tree_view=true)
Show clone wizard page for container objects.
+ Here is the call graph for this function:

◆ confirmRemoveFromSystemObject()

ilContainerGUI::confirmRemoveFromSystemObject ( )

confirmation screen remove from system

Definition at line 3945 of file class.ilContainerGUI.php.

References $_POST, ilObjectGUI\$lng, and ilUtil\sendFailure().

3946  {
3947  global $lng;
3948  include_once("./Services/Repository/classes/class.ilRepUtilGUI.php");
3949 
3950  if(!isset($_POST["trash_id"]))
3951  {
3952  ilUtil::sendFailure($lng->txt("no_checkbox"), true);
3953  $this->ctrl->redirect($this, "trash");
3954  }
3955 
3956  $ru = new ilRepUtilGUI($this);
3957  $ru->confirmRemoveFromSystemObject($_POST["trash_id"]);
3958  }
$_POST['username']
Definition: cron.php:12
Repository GUI Utilities.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ copyFile()

static ilContainerGUI::copyFile (   $obj_id,
  $title,
  $tmpdir 
)
staticprivate

Definition at line 1679 of file class.ilContainerGUI.php.

References ilObjectGUI\$obj_id, ilObjFile\_lookupAbsolutePath(), and ilUtil\getASCIIFilename().

1680  {
1681  $newFilename = $tmpdir . DIRECTORY_SEPARATOR . ilUtil::getASCIIFilename($title);
1682 
1683  // copy to temporary directory
1684  $oldFilename = ilObjFile::_lookupAbsolutePath($obj_id);
1685  if (!copy($oldFilename, $newFilename))
1686  throw new ilFileException("Could not copy ".$oldFilename." to ".$newFilename);
1687 
1688  touch($newFilename, filectime($oldFilename));
1689  }
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
Class to report exception.
static _lookupAbsolutePath($obj_id, $a_version=null)
return absolute path for version
+ Here is the call graph for this function:

◆ copyObject()

ilContainerGUI::copyObject ( )

Copy object(s) out from a container and write the information to clipboard It is not possible to copy multiple objects at once.

public

Definition at line 1461 of file class.ilContainerGUI.php.

References $_GET, $_POST, $_SESSION, $ilCtrl, ilObjectGUI\$objDefinition, ilObjectGUI\$ref_id, ilObjectGUI\getTitlesByRefId(), initAndDisplayCopyIntoMultipleObjectsObject(), and ilUtil\sendInfo().

1462  {
1463  global $rbacsystem, $ilCtrl, $objDefinition;
1464 
1465  if ($_GET["item_ref_id"] != "")
1466  {
1467  $_POST["id"] = array($_GET["item_ref_id"]);
1468  }
1469 
1470  if (!isset($_POST["id"]))
1471  {
1472  $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
1473  }
1474 
1475  // FOR ALL OBJECTS THAT SHOULD BE COPIED
1476  $containers = 0;
1477  foreach ($_POST["id"] as $ref_id)
1478  {
1479  // GET COMPLETE NODE_DATA OF ALL SUBTREE NODES
1480  $node_data = $this->tree->getNodeData($ref_id);
1481 
1482  // count containers
1483  if ($objDefinition->isContainer($node_data["type"]))
1484  {
1485  $containers++;
1486  }
1487 
1488  $subtree_nodes = $this->tree->getSubTree($node_data);
1489 
1490  $all_node_data[] = $node_data;
1491  $all_subtree_nodes[] = $subtree_nodes;
1492 
1493  // CHECK COPY PERMISSION OF ALL OBJECTS IN ACTUAL SUBTREE
1494  foreach ($subtree_nodes as $node)
1495  {
1496  if($node['type'] == 'rolf')
1497  {
1498  continue;
1499  }
1500 
1501  if (!$rbacsystem->checkAccess('visible,read,copy',$node["ref_id"]))
1502  {
1503  $no_copy[] = $node["ref_id"];
1504  }
1505  }
1506  }
1507 
1508  if ($containers > 0 && count($_POST["id"]) > 1)
1509  {
1510  $this->ilias->raiseError($this->lng->txt("cntr_container_only_on_their_own"), $this->ilias->error_obj->MESSAGE);
1511  }
1512 
1513  // IF THERE IS ANY OBJECT WITH NO PERMISSION TO 'delete'
1514  if (count($no_copy))
1515  {
1516  $this->ilias->raiseError(
1517  $this->lng->txt("msg_no_perm_copy") . " " . implode(',',$this->getTitlesByRefId($no_copy)),
1518  $this->ilias->error_obj->MESSAGE);
1519  }
1520 
1521  // if we have a single container, set it as source id and redirect to ilObjectCopyGUI
1522  if (count($_POST["id"]) == 1)
1523  {
1524  $ilCtrl->setParameterByClass("ilobjectcopygui", "source_id", $_POST["id"][0]);
1525  $ilCtrl->redirectByClass("ilobjectcopygui", "initTargetSelection");
1526  }
1527  else
1528  {
1529  $ilCtrl->setParameterByClass("ilobjectcopygui", "source_ids", implode($_POST["id"],"_"));
1530  $ilCtrl->redirectByClass("ilobjectcopygui", "initTargetSelection");
1531  }
1532 
1533  $_SESSION["clipboard"]["parent"] = $_GET["ref_id"];
1534  $_SESSION["clipboard"]["cmd"] = $ilCtrl->getCmd();
1535  $_SESSION["clipboard"]["ref_ids"] = $_POST["id"];
1536 
1537  ilUtil::sendInfo($this->lng->txt("msg_copy_clipboard"), true);
1538 
1540  } // END COPY
$_POST['username']
Definition: cron.php:12
getTitlesByRefId($a_ref_ids)
get Titles of objects this method is used for error messages in methods cut/copy/paste ...
$_SESSION["AccountId"]
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
redirection script todo: (a better solution should control the processing via a xml file) ...
+ Here is the call graph for this function:

◆ createStyleObject()

ilContainerGUI::createStyleObject ( )

Create Style.

Definition at line 3362 of file class.ilContainerGUI.php.

References $ilCtrl.

3363  {
3364  global $ilCtrl;
3365 
3366  $ilCtrl->redirectByClass("ilobjstylesheetgui", "create");
3367  }
global $ilCtrl
Definition: ilias.php:18

◆ cutObject()

ilContainerGUI::cutObject ( )

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

public

Definition at line 1399 of file class.ilContainerGUI.php.

References $_GET, $_POST, $_SESSION, $ilCtrl, ilObjectGUI\$ref_id, ilObjectGUI\getTitlesByRefId(), initAndDisplayMoveIntoObjectObject(), and ilUtil\sendInfo().

1400  {
1401  global $rbacsystem, $ilCtrl;
1402 
1403  if ($_GET["item_ref_id"] != "")
1404  {
1405  $_POST["id"] = array($_GET["item_ref_id"]);
1406  }
1407 
1408  //$this->ilias->raiseError("move operation does not work at the moment and is disabled",$this->ilias->error_obj->MESSAGE);
1409 
1410  if (!isset($_POST["id"]))
1411  {
1412  $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
1413  }
1414 
1415  // FOR ALL OBJECTS THAT SHOULD BE COPIED
1416  foreach ($_POST["id"] as $ref_id)
1417  {
1418  // GET COMPLETE NODE_DATA OF ALL SUBTREE NODES
1419  $node_data = $this->tree->getNodeData($ref_id);
1420  $subtree_nodes = $this->tree->getSubTree($node_data);
1421 
1422  $all_node_data[] = $node_data;
1423  $all_subtree_nodes[] = $subtree_nodes;
1424 
1425  // CHECK DELETE PERMISSION OF ALL OBJECTS IN ACTUAL SUBTREE
1426  foreach ($subtree_nodes as $node)
1427  {
1428  if($node['type'] == 'rolf')
1429  {
1430  continue;
1431  }
1432 
1433  if (!$rbacsystem->checkAccess('delete',$node["ref_id"]))
1434  {
1435  $no_cut[] = $node["ref_id"];
1436  }
1437  }
1438  }
1439  // IF THERE IS ANY OBJECT WITH NO PERMISSION TO 'delete'
1440  if (count($no_cut))
1441  {
1442  $this->ilias->raiseError($this->lng->txt("msg_no_perm_cut")." ".implode(',',$this->getTitlesByRefId($no_cut)),
1443  $this->ilias->error_obj->MESSAGE);
1444  }
1445  $_SESSION["clipboard"]["parent"] = $_GET["ref_id"];
1446  $_SESSION["clipboard"]["cmd"] = $ilCtrl->getCmd();
1447  $_SESSION["clipboard"]["ref_ids"] = $_POST["id"];
1448 
1449  ilUtil::sendInfo($this->lng->txt("msg_cut_clipboard"),true);
1450 
1451  return $this->initAndDisplayMoveIntoObjectObject();
1452  } // END CUT
$_POST['username']
Definition: cron.php:12
getTitlesByRefId($a_ref_ids)
get Titles of objects this method is used for error messages in methods cut/copy/paste ...
$_SESSION["AccountId"]
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
redirection script todo: (a better solution should control the processing via a xml file) ...
+ Here is the call graph for this function:

◆ deleteStyleObject()

ilContainerGUI::deleteStyleObject ( )

Delete Style.

Definition at line 3382 of file class.ilContainerGUI.php.

References $ilCtrl.

3383  {
3384  global $ilCtrl;
3385 
3386  $ilCtrl->redirectByClass("ilobjstylesheetgui", "delete");
3387  }
global $ilCtrl
Definition: ilias.php:18

◆ disableAdministrationPanelObject()

ilContainerGUI::disableAdministrationPanelObject ( )

enable administration panel

Definition at line 1271 of file class.ilContainerGUI.php.

References $_SESSION.

1272  {
1273  $_SESSION["il_cont_admin_panel"] = false;
1274  $this->ctrl->redirect($this, "render");
1275  }
$_SESSION["AccountId"]

◆ downloadMultipleObjects()

ilContainerGUI::downloadMultipleObjects (   $a_ref_ids)
private

Definition at line 1594 of file class.ilContainerGUI.php.

References ilObjectGUI\$lng, ilObjectGUI\$object, ilObjectGUI\$ref_id, ilObject\_isInTrash(), ilUtil\delDir(), ilUtil\deliverFile(), ilUtil\ilTempnam(), ilUtil\makeDir(), ilUtil\sendInfo(), and ilUtil\zip().

Referenced by downloadObject().

1595  {
1596  global $lng, $rbacsystem, $ilAccess;
1597 
1598  include_once "./Services/Utilities/classes/class.ilUtil.php";
1599  include_once 'Modules/Folder/classes/class.ilObjFolder.php';
1600  include_once 'Modules/File/classes/class.ilObjFile.php';
1601  include_once 'Modules/File/classes/class.ilFileException.php';
1602 
1603  // create temporary file to download
1604  $zip = PATH_TO_ZIP;
1605  $tmpdir = ilUtil::ilTempnam();
1606  ilUtil::makeDir($tmpdir);
1607 
1608  try
1609  {
1610  // copy each selected object
1611  foreach ($a_ref_ids as $ref_id)
1612  {
1613  if (!$ilAccess->checkAccess("read", "", $ref_id))
1614  continue;
1615 
1616  if (ilObject::_isInTrash($ref_id))
1617  continue;
1618 
1619  // get object
1620  $object =& $this->ilias->obj_factory->getInstanceByRefId($ref_id);
1621  $obj_type = $object->getType();
1622  if ($obj_type == "fold")
1623  {
1624  // copy folder to temp directory
1625  self::recurseFolder($ref_id, $object->getTitle(), $tmpdir);
1626  }
1627  else if ($obj_type == "file")
1628  {
1629  // copy file to temp directory
1630  self::copyFile($object->getId(), $object->getTitle(), $tmpdir);
1631  }
1632  }
1633 
1634  // compress the folder
1635  $deliverFilename = ilUtil::getAsciiFilename($this->object->getTitle()) . ".zip";
1636  $tmpzipfile = ilUtil::ilTempnam() . ".zip";
1637  ilUtil::zip($tmpdir, $tmpzipfile, true);
1638  ilUtil::delDir($tmpdir);
1639  ilUtil::deliverFile($tmpzipfile, $deliverFilename, '', false, true, true);
1640  }
1641  catch (ilFileException $e)
1642  {
1643  ilUtil::sendInfo($e->getMessage(), true);
1644  }
1645  }
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Class to report exception.
redirection script todo: (a better solution should control the processing via a xml file) ...
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static zip($a_dir, $a_file, $compress_content=false)
zips given directory/file into given zip.file
_isInTrash($a_ref_id)
checks wether object is in trash
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
static ilTempnam($a_temp_path=null)
Create a temporary file in an ILIAS writable directory.
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ downloadObject()

ilContainerGUI::downloadObject ( )

Definition at line 1542 of file class.ilContainerGUI.php.

References $_GET, $_POST, $ilCtrl, ilObjectGUI\$object, ilObjectGUI\$ref_id, and downloadMultipleObjects().

1543  {
1544  global $rbacsystem, $ilCtrl;
1545 
1546  if ($_GET["item_ref_id"] != "")
1547  {
1548  $_POST["id"] = array($_GET["item_ref_id"]);
1549  }
1550 
1551  if (!isset($_POST["id"]))
1552  {
1553  $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
1554  }
1555 
1556  // FOR ALL OBJECTS THAT SHOULD BE DOWNLOADED
1557  foreach ($_POST["id"] as $ref_id)
1558  {
1559  $object =& $this->ilias->obj_factory->getInstanceByRefId($ref_id);
1560  $obj_type = $object->getType();
1561  if (!in_array($obj_type, array("fold", "file")))
1562  {
1563  $no_download[] = $object->getType();
1564  }
1565  else if (!$rbacsystem->checkAccess('read', $ref_id))
1566  {
1567  $no_perm[] = $ref_id;
1568  }
1569  }
1570 
1571  // IF THERE IS ANY OBJECT THAT CANNOT BE DOWNLOADED
1572  if (count($no_download))
1573  {
1574  $no_download = array_unique($no_download);
1575  foreach ($no_download as $type)
1576  {
1577  $txt_objs[] = $this->lng->txt("objs_".$type);
1578  }
1579  $this->ilias->raiseError(implode(', ',$txt_objs)." ".$this->lng->txt("msg_obj_no_download"),$this->ilias->error_obj->MESSAGE);
1580  }
1581 
1582  // NO ACCESS
1583  if (count($no_perm))
1584  {
1585  $this->ilias->raiseError(
1586  $this->lng->txt("msg_obj_perm_download")." ".implode(',',$no_perm),
1587  $this->ilias->error_obj->MESSAGE);
1588  }
1589 
1590  // download the objects
1591  $this->downloadMultipleObjects($_POST["id"]);
1592  }
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
redirection script todo: (a better solution should control the processing via a xml file) ...
downloadMultipleObjects($a_ref_ids)
+ Here is the call graph for this function:

◆ editOrderObject()

ilContainerGUI::editOrderObject ( )

Edit order.

Definition at line 1280 of file class.ilContainerGUI.php.

References $_SESSION, and renderObject().

1281  {
1282  global $ilTabs;
1283 
1284  $this->edit_order = true;
1285  $_SESSION["il_cont_admin_panel"] = false;
1286  $this->renderObject();
1287 
1288  $ilTabs->activateSubTab("ordering");
1289  }
$_SESSION["AccountId"]
renderObject()
render the object
+ Here is the call graph for this function:

◆ editPageContentObject()

ilContainerGUI::editPageContentObject ( )

edit page content (for repository root node and categories)

public

Definition at line 815 of file class.ilContainerGUI.php.

References $_GET, $ilCtrl, ilObjectGUI\$lng, ilObjectGUI\$obj_id, ilObjectGUI\$tpl, ilRTE\_getRTEClassname(), ilContainer\_lookupContainerSetting(), ilObject\_lookupObjectId(), ilObject\_lookupType(), ilUtil\getImagePath(), and ilUtil\prepareFormOutput().

816  {
817  global $rbacsystem, $tpl, $lng, $ilCtrl;
818 
819  if (!$rbacsystem->checkAccess("write", $this->ref_id))
820  {
821  $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
822  }
823 
824  $xpage_id = ilContainer::_lookupContainerSetting($this->object->getId(),
825  "xhtml_page");
826  if ($xpage_id > 0)
827  {
828  include_once("Services/XHTMLPage/classes/class.ilXHTMLPage.php");
829  $xpage = new ilXHTMLPage($xpage_id);
830  $content = $xpage->getContent();
831  }
832 
833  // get template
834  $tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.container_edit_page_content.html",
835  "Services/Container");
836  $tpl->setVariable("VAL_CONTENT", ilUtil::prepareFormOutput($content));
837  $tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
838  $tpl->setVariable("TXT_EDIT_PAGE_CONTENT",
839  $this->lng->txt("edit_page_content"));
840  $tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
841  $tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
842  $tpl->setVariable("TXT_MIGRATION_INFO", $lng->txt("cntr_old_editor_warning"));
843  $tpl->setVariable("TXT_MIGRATION_OPEN_STD_EDITOR", $lng->txt("cntr_old_editor_open_standard_editor"));
844  $tpl->setVariable("IMG_WARNING", ilUtil::getImagePath("icon_alert.svg"));
845  $tpl->setVariable("HREF_OPEN_STD_EDITOR", $ilCtrl->getLinkTarget($this, "switchToStdEditor"));
846  $tpl->setVariable("ALT_WARNING", $lng->txt("warning"));
847 
848  include_once("./Services/Form/classes/class.ilFormPropertyGUI.php");
849  include_once("./Services/Form/classes/class.ilTextAreaInputGUI.php");
850  //$ta = new ilTextAreaInputGUI();
851  //$tags = $ta->getRteTagSet("extended_table_img");
852 
853  // add rte support
854  include_once "./Services/RTE/classes/class.ilRTE.php";
855  $rtestring = ilRTE::_getRTEClassname();
856  include_once "./Services/RTE/classes/class.$rtestring.php";
857  $rte = new $rtestring();
858  //$rte->addPlugin("latex");
859  include_once "./Services/Object/classes/class.ilObject.php";
861  $obj_type = ilObject::_lookupType($_GET["ref_id"], TRUE);
862  $rte->addRTESupport($obj_id, $obj_type);
863  //$rte->setStyleSelect(true);
864  //$rte->addCustomRTESupport($obj_id, $obj_type, $tags);
865  }
static _getRTEClassname()
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
$_GET["client_id"]
static _lookupObjectId($a_ref_id)
lookup object id
global $ilCtrl
Definition: ilias.php:18
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
redirection script todo: (a better solution should control the processing via a xml file) ...
static _lookupType($a_id, $a_reference=false)
lookup object type
XHTML Page class.
_lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
+ Here is the call graph for this function:

◆ editPageFrameObject()

ilContainerGUI::editPageFrameObject ( )

show page editor frameset

Definition at line 780 of file class.ilContainerGUI.php.

References $_SESSION, ilContainer\_lookupContainerSetting(), and exit.

781  {
782  include_once("Services/Frameset/classes/class.ilFramesetGUI.php");
783  $fs_gui = new ilFramesetGUI();
784 
785  $fs_gui->setFramesetTitle($this->object->getTitle());
786  $fs_gui->setMainFrameName("content");
787  $fs_gui->setSideFrameName("tree");
788 
789  // old tiny stuff
790  $xpage_id = ilContainer::_lookupContainerSetting($this->object->getId(),
791  "xhtml_page");
792  if ($xpage_id > 0 && $_SESSION["il_cntr_editor"] != "std")
793  {
794  $fs_gui->setMainFrameSource(
795  $this->ctrl->getLinkTarget(
796  $this, "editPageContent"));
797  $fs_gui->setSideFrameSource(
798  $this->ctrl->getLinkTarget($this, "showLinkList"));
799  }
800  else
801  {
802  $this->ctrl->redirectByClass(array("ilcontainerpagegui"), "edit");
803  exit;
804  }
805 
806  $fs_gui->show();
807  exit;
808  }
exit
Definition: login.php:54
$_SESSION["AccountId"]
_lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
Class ilFramesetGUI.
+ Here is the call graph for this function:

◆ editStyleObject()

ilContainerGUI::editStyleObject ( )

Edit Style.

Definition at line 3372 of file class.ilContainerGUI.php.

References $ilCtrl.

3373  {
3374  global $ilCtrl;
3375 
3376  $ilCtrl->redirectByClass("ilobjstylesheetgui", "edit");
3377  }
global $ilCtrl
Definition: ilias.php:18

◆ editStylePropertiesObject()

ilContainerGUI::editStylePropertiesObject ( )

Edit style properties.

Definition at line 3247 of file class.ilContainerGUI.php.

References ilObjectGUI\$tpl, ilObjectGUI\checkPermission(), and initStylePropertiesForm().

3248  {
3249  global $ilTabs, $tpl;
3250 
3251  $this->checkPermission("write");
3252 
3253  $this->initStylePropertiesForm();
3254  $tpl->setContent($this->form->getHTML());
3255 
3256  $ilTabs->activateTab("obj_sty");
3257  }
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
initStylePropertiesForm()
Init style properties form.
+ Here is the call graph for this function:

◆ enableAdministrationPanelObject()

ilContainerGUI::enableAdministrationPanelObject ( )

enable administration panel

Definition at line 1262 of file class.ilContainerGUI.php.

References $_SESSION.

1263  {
1264  $_SESSION["il_cont_admin_panel"] = true;
1265  $this->ctrl->redirect($this, "render");
1266  }
$_SESSION["AccountId"]

◆ enableMultiDownloadObject()

ilContainerGUI::enableMultiDownloadObject ( )

Definition at line 1349 of file class.ilContainerGUI.php.

References renderObject().

1350  {
1351  $this->multi_download_enabled = true;
1352  $this->renderObject();
1353  }
renderObject()
render the object
+ Here is the call graph for this function:

◆ executeCommand()

& ilContainerGUI::executeCommand ( )

execute command note: this method is overwritten in all container objects

Definition at line 51 of file class.ilContainerGUI.php.

References $_GET, $cmd, $ret, ilObjectGUI\$tpl, forwardToPageObject(), forwardToStyleSheet(), and ilObjectGUI\prepareOutput().

52  {
53  global $tpl;
54 
55  $next_class = $this->ctrl->getNextClass();
56  $cmd = $this->ctrl->getCmd("render");
57 
58  switch($next_class)
59  {
60  // page editing
61  case "ilcontainerpagegui":
62  if ($_GET["redirectSource"] != "ilinternallinkgui")
63  {
64  $ret = $this->forwardToPageObject();
65  $tpl->setContent($ret);
66  }
67  else
68  {
69  return "";
70  }
71  break;
72 
73  case "ilobjstylesheetgui":
74  $this->forwardToStyleSheet();
75  break;
76 
77  default:
78  $this->prepareOutput();
79  $cmd .= "Object";
80  $this->$cmd();
81  break;
82  }
83  return true;
84  }
$_GET["client_id"]
$cmd
Definition: sahs_server.php:35
forwardToStyleSheet()
Forward to style object.
& forwardToPageObject()
forward command to page object
prepareOutput()
prepare output
+ Here is the call graph for this function:

◆ fileManagerLaunchObject()

ilContainerGUI::fileManagerLaunchObject ( )
protected

Launch jnlp.

Definition at line 3612 of file class.ilContainerGUI.php.

References $_COOKIE, $ilUser, ilObjectGUI\$tpl, exit, and ilFMSettings\getInstance().

3613  {
3614  global $ilUser;
3615 
3616  $tpl = new ilTemplate('tpl.fm_launch_ws.html',false,false,'Services/WebServices/FileManager');
3617  $tpl->setVariable('JNLP_URL',ILIAS_HTTP_PATH.'/Services/WebServices/FileManager/lib/dist/FileManager.jnlp');
3618  $tpl->setVariable('SESSION_ID', $_COOKIE['PHPSESSID'].'::'.CLIENT_ID);
3619  $tpl->setVariable('UID',$ilUser->getId());
3620  $tpl->setVariable('REF_ID', $this->object->getRefId());
3621  $tpl->setVariable('WSDL_URI', ILIAS_HTTP_PATH.'/webservice/soap/server.php?wsdl');
3622  $tpl->setVariable('LOCAL_FRAME', ilFMSettings::getInstance()->isLocalFSEnabled() ? 1 : 0);
3623  $tpl->setVariable('REST_URI',ILIAS_HTTP_PATH.'/Services/WebServices/Rest/server.php');
3624  $tpl->setVariable('FILE_LOCKS',0);
3625  $tpl->setVariable('UPLOAD_FILESIZE', ilFMSettings::getInstance()->getMaxFileSize());
3626 
3627  include_once("./Modules/SystemFolder/classes/class.ilObjSystemFolder.php");
3628  $header_top_title = ilObjSystemFolder::_getHeaderTitle();
3629  $tpl->setVariable('HEADER_TITLE',$header_top_title ? $header_top_title : '');
3630  echo $tpl->get();
3631  exit;
3632  }
exit
Definition: login.php:54
$_COOKIE["ilClientId"]
Definition: cron.php:11
special template class to simplify handling of ITX/PEAR
static getInstance()
Get singleton instance.
global $ilUser
Definition: imgupload.php:15
+ Here is the call graph for this function:

◆ forwardToPageObject()

& ilContainerGUI::forwardToPageObject ( )

forward command to page object

Definition at line 170 of file class.ilContainerGUI.php.

References $_GET, $cmd, $ilCtrl, ilObjectGUI\$lng, $ret, ilPageObject\_exists(), ilContainer\_lookupContainerSetting(), ilObjectGUI\checkPermission(), exit, ilObjStyleSheet\getContentStylePath(), ilObjStyleSheet\getEffectiveContentStyleId(), ilUtil\getImagePath(), and ilObjStyleSheet\getSyntaxStylePath().

Referenced by ilObjGroupGUI\executeCommand(), executeCommand(), ilObjCategoryGUI\executeCommand(), ilObjFolderGUI\executeCommand(), ilObjRootFolderGUI\executeCommand(), and ilObjCourseGUI\executeCommand().

171  {
172  global $lng, $ilTabs, $ilCtrl;
173 
174  $cmd = $ilCtrl->getCmd();
175 
176  if (in_array($cmd, array("displayMediaFullscreen", "downloadFile", "displayMedia")))
177  {
178  $this->checkPermission("read");
179  }
180  else
181  {
182  $this->checkPermission("write");
183  }
184 
185  $ilTabs->clearTargets();
186 
187  if ($_GET["redirectSource"] == "ilinternallinkgui")
188  {
189  exit;
190  }
191 
192  $xpage_id = ilContainer::_lookupContainerSetting($this->object->getId(),
193  "xhtml_page");
194  if ($xpage_id > 0)
195  {
196  $ilTabs->setBackTarget($lng->txt("cntr_back_to_old_editor"),
197  $ilCtrl->getLinkTarget($this, "switchToOldEditor"), "_top");
198  }
199  else
200  {
201  $ilTabs->setBackTarget($lng->txt("back"), "./goto.php?target=".$this->object->getType()."_".
202  $this->object->getRefId(), "_top");
203  }
204 
205  // page object
206  include_once("./Services/Container/classes/class.ilContainerPage.php");
207  include_once("./Services/Container/classes/class.ilContainerPageGUI.php");
208 
209  $lng->loadLanguageModule("content");
210 
211  include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
212  $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET",
213  ilObjStyleSheet::getContentStylePath($this->object->getStyleSheetId()));
214  $this->tpl->setCurrentBlock("SyntaxStyle");
215  $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET",
217  $this->tpl->parseCurrentBlock();
218 
219  if (!ilContainerPage::_exists("cont",
220  $this->object->getId()))
221  {
222  // doesn't exist -> create new one
223  $new_page_object = new ilContainerPage();
224  $new_page_object->setParentId($this->object->getId());
225  $new_page_object->setId($this->object->getId());
226  $new_page_object->createFromXML();
227  }
228 
229  // get page object
230  $this->ctrl->setReturnByClass("ilcontainerpagegui", "edit");
231  $page_gui = new ilContainerPageGUI($this->object->getId());
232  include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
233  $page_gui->setStyleId(ilObjStyleSheet::getEffectiveContentStyleId(
234  $this->object->getStyleSheetId(), $this->object->getType()));
235 
236  $page_gui->setTemplateTargetVar("ADM_CONTENT");
237  $page_gui->setLinkXML($link_xml);
238  $page_gui->setFileDownloadLink("");
239  $page_gui->setFullscreenLink($this->ctrl->getLinkTarget($this, "showMediaFullscreen"));
240  //$page_gui->setLinkParams($this->ctrl->getUrlParameterString()); // todo
241  $page_gui->setPresentationTitle("");
242  $page_gui->setTemplateOutput(false);
243 
244  // old editor information text
245  $xpage_id = ilContainer::_lookupContainerSetting($this->object->getId(),
246  "xhtml_page");
247  if ($xpage_id > 0)
248  {
249  $wtpl = new ilTemplate("tpl.cntr_old_editor_message.html", true,
250  true, "Services/Container");
251  $wtpl->setVariable("ALT_WARNING", $lng->txt("warning"));
252  $wtpl->setVariable("IMG_WARNING",
253  ilUtil::getImagePath("icon_alert.svg"));
254  $wtpl->setVariable("TXT_MIGRATION_INFO", $lng->txt("cntr_switch_to_new_editor_message"));
255  $wtpl->setVariable("TXT_MIGRATION_INFO", $lng->txt("cntr_switch_to_new_editor_message"));
256  $wtpl->setVariable("HREF_SWITCH_TO_NEW_EDITOR",
257  $ilCtrl->getLinkTarget($this, "useNewEditor"));
258  $wtpl->setVariable("TXT_MIGRATION_SWITCH",
259  $lng->txt("cntr_switch_to_new_editor_cmd"));
260  $page_gui->setPrependingHtml($wtpl->get());
261  }
262 
263  // style tab
264  $page_gui->setTabHook($this, "addPageTabs");
265 
266  $ret = $this->ctrl->forwardCommand($page_gui);
267 
268  //$ret =& $page_gui->executeCommand();
269  return $ret;
270  }
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
exit
Definition: login.php:54
Container page GUI class.
$_GET["client_id"]
$cmd
Definition: sahs_server.php:35
getSyntaxStylePath()
get syntax style path
global $ilCtrl
Definition: ilias.php:18
Container page object.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
special template class to simplify handling of ITX/PEAR
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
getContentStylePath($a_style_id)
get content style path
_lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ forwardToStyleSheet()

ilContainerGUI::forwardToStyleSheet ( )

Forward to style object.

Definition at line 133 of file class.ilContainerGUI.php.

References $_GET, $cmd, $ilCtrl, $ret, and ilObjectGUI\omitLocator().

Referenced by ilObjGroupGUI\executeCommand(), executeCommand(), ilObjCategoryGUI\executeCommand(), ilObjFolderGUI\executeCommand(), ilObjRootFolderGUI\executeCommand(), and ilObjCourseGUI\executeCommand().

134  {
135  global $ilCtrl, $ilTabs;
136 
137  $ilTabs->clearTargets();
138 
139  $cmd = $ilCtrl->getCmd();
140  include_once ("./Services/Style/classes/class.ilObjStyleSheetGUI.php");
141  $this->ctrl->setReturn($this, "editStyleProperties");
142  $style_gui = new ilObjStyleSheetGUI("", $this->object->getStyleSheetId(), false, false);
143  $style_gui->omitLocator();
144  if ($cmd == "create" || $_GET["new_type"]=="sty")
145  {
146  $style_gui->setCreationMode(true);
147  }
148 
149  if ($cmd == "confirmedDelete")
150  {
151  $this->object->setStyleSheetId(0);
152  $this->object->update();
153  }
154 
155  $ret = $this->ctrl->forwardCommand($style_gui);
156 
157  if ($cmd == "save" || $cmd == "copyStyle" || $cmd == "importStyle")
158  {
159  $style_id = $ret;
160  $this->object->setStyleSheetId($style_id);
161  $this->object->update();
162  $this->ctrl->redirectByClass("ilobjstylesheetgui", "edit");
163  }
164  }
$_GET["client_id"]
$cmd
Definition: sahs_server.php:35
global $ilCtrl
Definition: ilias.php:18
omitLocator($a_omit=true)
Class ilObjStyleSheetGUI.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAsynchItemListObject()

ilContainerGUI::getAsynchItemListObject ( )

Get item list command drop down asynchronously.

Definition at line 3411 of file class.ilContainerGUI.php.

References $_GET, ilObjectGUI\$data, $html, $ilCtrl, ilObjectGUI\$obj_id, ilObjectGUI\$ref_id, ilObjectListGUIFactory\_getListGUIByType(), ilObject\_lookupObjId(), ilObject\_lookupType(), exit, ilPluginAdmin\getPluginObject(), IL_COMP_SERVICE, ilUIHookPluginGUI\KEEP, and modifyItemGUI().

3412  {
3413  global $ilCtrl;
3414 
3415  $ref_id = $_GET["cmdrefid"];
3417  $type = ilObject::_lookupType($obj_id);
3418 
3419  // this should be done via container-object->getSubItem in the future
3420  $data = array("child" => $ref_id, "ref_id" => $ref_id, "obj_id" => $obj_id,
3421  "type" => $type);
3422  include_once 'Services/Object/classes/class.ilObjectListGUIFactory.php';
3423  $item_list_gui = ilObjectListGUIFactory::_getListGUIByType($type);
3424  $item_list_gui->setContainerObject($this);
3425 
3426  $item_list_gui->enableComments(true);
3427  $item_list_gui->enableNotes(true);
3428  $item_list_gui->enableTags(true);
3429 
3430  $this->modifyItemGUI($item_list_gui, $data, false);
3431  $html = $item_list_gui->getListItemHTML($ref_id,
3432  $obj_id, "", "", true, true);
3433 
3434  // include plugin slot for async item list
3435  global $ilPluginAdmin;
3436  $pl_names = $ilPluginAdmin->getActivePluginsForSlot(IL_COMP_SERVICE, "UIComponent", "uihk");
3437  foreach ($pl_names as $pl)
3438  {
3439  $ui_plugin = ilPluginAdmin::getPluginObject(IL_COMP_SERVICE, "UIComponent", "uihk", $pl);
3440  $gui_class = $ui_plugin->getUIClassInstance();
3441  $resp = $gui_class->getHTML("Services/Container", "async_item_list", array("html" => $html));
3442  if ($resp["mode"] != ilUIHookPluginGUI::KEEP)
3443  {
3444  $html = $gui_class->modifyHTML($html, $resp);
3445  }
3446  }
3447 
3448  echo $html;
3449  exit;
3450  }
exit
Definition: login.php:54
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
modifyItemGUI(&$a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container.
static _lookupObjId($a_id)
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
static _lookupType($a_id, $a_reference=false)
lookup object type
$html
Definition: example_001.php:87
const IL_COMP_SERVICE
+ Here is the call graph for this function:

◆ getContainerPageHTML()

ilContainerGUI::getContainerPageHTML ( )

Get container page HTML.

Definition at line 286 of file class.ilContainerGUI.php.

References $ilSetting, $ilUser, $lang, $ret, ilPageUtil\_existsAndNotEmpty(), ilContainer\_lookupContainerSetting(), ilObjStyleSheet\getContentStylePath(), ilObjStyleSheet\getEffectiveContentStyleId(), ilObjectTranslation\getInstance(), and ilObjStyleSheet\getSyntaxStylePath().

287  {
288  global $ilSetting, $ilUser;
289 
290  if (!$ilSetting->get("enable_cat_page_edit"))
291  {
292  return;
293  }
294 
295  // old page editor content
296  $xpage_id = ilContainer::_lookupContainerSetting($this->object->getId(),
297  "xhtml_page");
298  if ($xpage_id > 0)
299  {
300  include_once("Services/XHTMLPage/classes/class.ilXHTMLPage.php");
301  $xpage = new ilXHTMLPage($xpage_id);
302  return $xpage->getContent();
303  }
304 
305 
306  // page object
307 
308 
309  // if page does not exist, return nothing
310  include_once("./Services/COPage/classes/class.ilPageUtil.php");
311  if (!ilPageUtil::_existsAndNotEmpty("cont",
312  $this->object->getId()))
313  {
314  return "";
315  }
316  include_once("./Services/Container/classes/class.ilContainerPage.php");
317  include_once("./Services/Container/classes/class.ilContainerPageGUI.php");
318 
319  include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
320  $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET",
321  ilObjStyleSheet::getContentStylePath($this->object->getStyleSheetId()));
322  $this->tpl->setCurrentBlock("SyntaxStyle");
323  $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET",
325  $this->tpl->parseCurrentBlock();
326 
327  // get page object
328  include_once("./Services/Object/classes/class.ilObjectTranslation.php");
329  $ot = ilObjectTranslation::getInstance($this->object->getId());
330  $lang = $ot->getEffectiveContentLang($ilUser->getCurrentLanguage(), "cont");
331  $page_gui = new ilContainerPageGUI($this->object->getId(), 0, $lang);
332  include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
333  $page_gui->setStyleId(ilObjStyleSheet::getEffectiveContentStyleId(
334  $this->object->getStyleSheetId(), $this->object->getType()));
335 
336  $page_gui->setPresentationTitle("");
337  $page_gui->setTemplateOutput(false);
338  $page_gui->setHeader("");
339  $ret = $page_gui->showPage();
340 
341  //$ret = "<div style='background-color: white; padding:5px; margin-bottom: 30px;'>".$ret."</div>";
342 
343  //$ret =& $page_gui->executeCommand();
344  return $ret;
345  }
Container page GUI class.
getSyntaxStylePath()
get syntax style path
_existsAndNotEmpty($a_parent_type, $a_id, $a_lang="-")
checks whether page exists and is not empty (may return true on some empty pages) ...
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
XHTML Page class.
global $ilUser
Definition: imgupload.php:15
getContentStylePath($a_style_id)
get content style path
global $ilSetting
Definition: privfeed.php:40
static getInstance($a_obj_id)
Get instance.
_lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
+ Here is the call graph for this function:

◆ getContentGUI()

ilContainerGUI::getContentGUI ( )

Get content gui object.

Parameters

Definition at line 438 of file class.ilContainerGUI.php.

References IL_CRS_VIEW_TIMING, ilContainer\VIEW_BY_TYPE, ilContainer\VIEW_OBJECTIVE, ilContainer\VIEW_SESSIONS, and ilContainer\VIEW_SIMPLE.

Referenced by redrawListItemObject(), and renderObject().

439  {
440  switch ($this->object->getViewMode())
441  {
442  // all items in one block
444  include_once("./Services/Container/classes/class.ilContainerSimpleContentGUI.php");
445  $container_view = new ilContainerSimpleContentGUI($this);
446  break;
447 
449  include_once('./Services/Container/classes/class.ilContainerObjectiveGUI.php');
450  $container_view = new ilContainerObjectiveGUI($this);
451  break;
452 
453  // all items in one block
455  case IL_CRS_VIEW_TIMING: // not nice this workaround
456  include_once("./Services/Container/classes/class.ilContainerSessionsContentGUI.php");
457  $container_view = new ilContainerSessionsContentGUI($this);
458  break;
459 
460  // all items in one block
462  default:
463  include_once("./Services/Container/classes/class.ilContainerByTypeContentGUI.php");
464  $container_view = new ilContainerByTypeContentGUI($this);
465  break;
466  }
467 
468  return $container_view;
469  }
Shows all items grouped by type.
const IL_CRS_VIEW_TIMING
GUI class for course objective view.
+ Here is the caller graph for this function:

◆ getEditFormValues()

ilContainerGUI::getEditFormValues ( )
protected

Get values for edit form.

Returns
array

Definition at line 91 of file class.ilContainerGUI.php.

Referenced by ilObjFolderGUI\editObject().

92  {
93  $values = parent::getEditFormValues();
94 
95  include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
96  $values['didactic_type'] =
97  'dtpl_'.ilDidacticTemplateObjSettings::lookupTemplateId($this->object->getRefId());
98 
99  return $values;
100  }
+ Here is the caller graph for this function:

◆ getTabs()

ilContainerGUI::getTabs ( $tabs_gui)

common tabs for all container objects (should be called at the end of child getTabs() method

Definition at line 1229 of file class.ilContainerGUI.php.

References $_GET, $_SESSION, and $ilCtrl.

1230  {
1231  global $rbacsystem, $ilCtrl;
1232 
1233  // edit permissions
1234  if ($rbacsystem->checkAccess('edit_permission',$this->ref_id))
1235  {
1236  $tabs_gui->addTarget("perm_settings",
1237  $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
1238  array("perm","info","owner"), 'ilpermissiongui');
1239  if ($ilCtrl->getNextClass() == "ilpermissiongui")
1240  {
1241  $tabs_gui->activateTab("perm_settings");
1242  }
1243  }
1244 
1245  // show clipboard
1246  if (strtolower($_GET["baseClass"]) == "ilrepositorygui" && !empty($_SESSION["clipboard"]))
1247  {
1248  $tabs_gui->addTarget("clipboard",
1249  $this->ctrl->getLinkTarget($this, "clipboard"), "clipboard", get_class($this));
1250  }
1251 
1252  }
$_SESSION["AccountId"]
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18

◆ getTreeSelectorGUI()

ilContainerGUI::getTreeSelectorGUI (   $cmd)
protected
Parameters
$cmdstring
Returns
ilTreeExplorerGUI

Definition at line 3964 of file class.ilContainerGUI.php.

References $cmd.

Referenced by showPasteTreeObject().

3965  {
3966  include_once("./Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php");
3967  $exp = new ilRepositorySelectorExplorerGUI($this, "showPasteTree");
3968  // TODO: The study programme 'prg' is not included here, as the
3969  // ilRepositorySelectorExplorerGUI only handles static rules for
3970  // parent-child-relations and not the dynamic relationsships
3971  // required for the SP (see #16909).
3972  $exp->setTypeWhiteList(array("root", "cat", "grp", "crs", "fold"));
3973  if ($cmd == "link") {
3974  $exp->setSelectMode("nodes", true);
3975  return $exp;
3976  } else {
3977  $exp->setSelectMode("nodes[]", false);
3978  return $exp;
3979  }
3980  }
Explorer for selecting repository items.
$cmd
Definition: sahs_server.php:35
+ Here is the caller graph for this function:

◆ ilContainerGUI()

ilContainerGUI::ilContainerGUI (   $a_data,
  $a_id,
  $a_call_by_reference = true,
  $a_prepare_output = true 
)

Constructor public.

Definition at line 29 of file class.ilContainerGUI.php.

References ilObjectGUI\$lng, ilObjectGUI\$tree, and ilObjectGUI\ilObjectGUI().

Referenced by ilObjGroupGUI\__construct(), ilObjCategoryGUI\ilObjCategoryGUI(), ilObjCourseGUI\ilObjCourseGUI(), and ilObjRootFolderGUI\ilObjRootFolderGUI().

30  {
31  global $rbacsystem, $lng, $tree;
32 
33  $this->rbacsystem =& $rbacsystem;
34 
35  $lng->loadLanguageModule("cntr");
36 
37  //$this->ilObjectGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
38 
39  // Activate tree cache when rendering the container to improve performance
40  //$tree->useCache(false);
41 
42  // prepare output things should generally be made in executeCommand
43  // method (maybe dependent on current class/command
44  $this->ilObjectGUI($a_data, $a_id, $a_call_by_reference, false);
45  }
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor public.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initAndDisplayCopyIntoMultipleObjectsObject()

ilContainerGUI::initAndDisplayCopyIntoMultipleObjectsObject ( )

Definition at line 2211 of file class.ilContainerGUI.php.

References $_GET, $_SESSION, $path, ilObjectGUI\$tree, and showPasteTreeObject().

Referenced by copyObject().

2212  {
2213  global $tree;
2214 
2215  // empty session on init
2216  $_SESSION['paste_copy_repexpand'] = array();
2217 
2218  // copy opend nodes from repository explorer
2219  $_SESSION['paste_copy_repexpand'] = is_array($_SESSION['repexpand']) ? $_SESSION['repexpand'] : array();
2220 
2221  // open current position
2222  $path = $tree->getPathId((int)$_GET['ref_id']);
2223  foreach((array)$path as $node_id)
2224  {
2225  if(!in_array($node_id, $_SESSION['paste_copy_repexpand']))
2226  $_SESSION['paste_copy_repexpand'][] = $node_id;
2227  }
2228 
2229  return $this->showPasteTreeObject();
2230  }
$_SESSION["AccountId"]
$_GET["client_id"]
showPasteTreeObject()
Show paste tree.
$path
Definition: index.php:22
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initAndDisplayLinkIntoMultipleObjectsObject()

ilContainerGUI::initAndDisplayLinkIntoMultipleObjectsObject ( )

Definition at line 2063 of file class.ilContainerGUI.php.

References $_GET, $_SESSION, $path, ilObjectGUI\$tree, and showPasteTreeObject().

Referenced by linkObject().

2064  {
2065  global $tree;
2066 
2067  // empty session on init
2068  $_SESSION['paste_linked_repexpand'] = array();
2069 
2070  // copy opend nodes from repository explorer
2071  $_SESSION['paste_linked_repexpand'] = is_array($_SESSION['repexpand']) ? $_SESSION['repexpand'] : array();
2072 
2073  // open current position
2074  $path = $tree->getPathId((int)$_GET['ref_id']);
2075  foreach((array)$path as $node_id)
2076  {
2077  if(!in_array($node_id, $_SESSION['paste_linked_repexpand']))
2078  $_SESSION['paste_linked_repexpand'][] = $node_id;
2079  }
2080 
2081  return $this->showPasteTreeObject();
2082  }
$_SESSION["AccountId"]
$_GET["client_id"]
showPasteTreeObject()
Show paste tree.
$path
Definition: index.php:22
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initAndDisplayMoveIntoObjectObject()

ilContainerGUI::initAndDisplayMoveIntoObjectObject ( )

Definition at line 2280 of file class.ilContainerGUI.php.

References $_GET, $_SESSION, $path, ilObjectGUI\$tree, and showPasteTreeObject().

Referenced by cutObject().

2281  {
2282  global $tree;
2283 
2284  // empty session on init
2285  $_SESSION['paste_cut_repexpand'] = array();
2286 
2287  // copy opend nodes from repository explorer
2288  $_SESSION['paste_cut_repexpand'] = is_array($_SESSION['repexpand']) ? $_SESSION['repexpand'] : array();
2289 
2290  // open current position
2291  $path = $tree->getPathId((int)$_GET['ref_id']);
2292  foreach((array)$path as $node_id)
2293  {
2294  if(!in_array($node_id, $_SESSION['paste_cut_repexpand']))
2295  $_SESSION['paste_cut_repexpand'][] = $node_id;
2296  }
2297 
2298  return $this->showPasteTreeObject();
2299  }
$_SESSION["AccountId"]
$_GET["client_id"]
showPasteTreeObject()
Show paste tree.
$path
Definition: index.php:22
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initFormPasswordInstruction()

ilContainerGUI::initFormPasswordInstruction ( )
protected

Init password form.

Returns

Definition at line 3483 of file class.ilContainerGUI.php.

References ilFormPropertyGUI\setRequired().

Referenced by savePasswordObject(), and showPasswordInstructionObject().

3484  {
3485  include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
3486  $this->form = new ilPropertyFormGUI();
3487  $this->form->setFormAction($this->ctrl->getFormAction($this));
3488 
3489  // new password
3490  $ipass = new ilPasswordInputGUI($this->lng->txt("desired_password"), "new_password");
3491  $ipass->setRequired(true);
3492 
3493  $this->form->addItem($ipass);
3494  $this->form->addCommandButton("savePassword", $this->lng->txt("save"));
3495  $this->form->addCommandButton('cancel', $this->lng->txt('cancel'));
3496 
3497  $this->form->setTitle($this->lng->txt("chg_ilias_and_webfolder_password"));
3498  $this->form->setFormAction($this->ctrl->getFormAction($this));
3499 
3500  return $this->form;
3501  }
This class represents a property form user interface.
This class represents a password property in a property form.
setRequired($a_required)
Set Required.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initHeaderAction()

ilContainerGUI::initHeaderAction (   $a_sub_type = null,
  $a_sub_id = null 
)
protected

Add file manager link.

Parameters
<type>$a_sub_type
<type>$a_sub_id

Definition at line 3592 of file class.ilContainerGUI.php.

References $lg, and ilFMSettings\getInstance().

3593  {
3594  $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
3595 
3596  // begin-patch fm
3597  include_once './Services/WebServices/FileManager/classes/class.ilFMSettings.php';
3598  if(ilFMSettings::getInstance()->isEnabled())
3599  {
3600  if($lg instanceof ilObjectListGUI)
3601  {
3602  $lg->addCustomCommand($this->ctrl->getLinkTarget($this,'fileManagerLaunch'), 'fm_start','_blank');
3603  }
3604  }
3605  // end-patch fm
3606  return $lg;
3607  }
$lg
Definition: example_018.php:62
Class ilObjectListGUI.
static getInstance()
Get singleton instance.
+ Here is the call graph for this function:

◆ initManualSortingOptionForm()

ilContainerGUI::initManualSortingOptionForm ( ilContainerSortingSettings  $settings,
  $element,
  $a_prefix,
  $a_sorting_settings 
)
protected

Add manual sorting options.

Definition at line 3801 of file class.ilContainerGUI.php.

References ilRadioOption\addSubItem(), ilContainerSortingSettings\getSortNewItemsOrder(), ilContainerSortingSettings\getSortNewItemsPosition(), initSortingDirectionForm(), ilContainer\SORT_ACTIVATION, ilContainer\SORT_CREATION, ilContainer\SORT_NEW_ITEMS_ORDER_ACTIVATION, ilContainer\SORT_NEW_ITEMS_ORDER_CREATION, ilContainer\SORT_NEW_ITEMS_ORDER_TITLE, ilContainer\SORT_NEW_ITEMS_POSITION_BOTTOM, ilContainer\SORT_NEW_ITEMS_POSITION_TOP, and ilContainer\SORT_TITLE.

Referenced by initSortingForm().

3803  {
3804  $position = new ilRadioGroupInputGUI($this->lng->txt('sorting_new_items_position'),$a_prefix.'_new_items_position');
3805  $position->setValue($settings->getSortNewItemsPosition());
3806  $position->setRequired(TRUE);
3807 
3808  //new items insert on top
3809  $new_top = new ilRadioOption(
3810  $this->lng->txt('sorting_new_items_at_top'),
3812  );
3813 
3814  $position->addOption($new_top);
3815 
3816  //new items insert at bottom
3817  $new_bottom = new ilRadioOption(
3818  $this->lng->txt('sorting_new_items_at_bottom'),
3820  );
3821 
3822  $position->addOption($new_bottom);
3823 
3824  $element->addSubItem($position);
3825 
3826  $order = new ilRadioGroupInputGUI($this->lng->txt('sorting_new_items_order'),$a_prefix.'_new_items_order');
3827  $order->setValue($settings->getSortNewItemsOrder());
3828  $order->setRequired(TRUE);
3829 
3830  if(in_array(ilContainer::SORT_TITLE, $a_sorting_settings))
3831  {
3832  //new items sort in alphabetical order
3833  $new_title = new ilRadioOption(
3834  $this->lng->txt('sorting_title_header'),
3836  );
3837 
3838  $order->addOption($new_title);
3839  }
3840 
3841  if(in_array(ilContainer::SORT_CREATION, $a_sorting_settings))
3842  {
3843  //new items sort by creation date
3844  $new_creation = new ilRadioOption(
3845  $this->lng->txt('sorting_creation_header'),
3847  );
3848 
3849  $order->addOption($new_creation);
3850  }
3851 
3852 
3853  if(in_array(ilContainer::SORT_ACTIVATION, $a_sorting_settings))
3854  {
3855  //new items by activation
3856  $new_activation = new ilRadioOption(
3857  $this->lng->txt('crs_sort_activation'),
3859  );
3860 
3861  $order->addOption($new_activation);
3862  }
3863 
3864  $element->addSubItem($order);
3865 
3866  $this->initSortingDirectionForm($settings,$element,'manual');
3867 
3868  return $element;
3869  }
This class represents an option in a radio group.
const SORT_NEW_ITEMS_POSITION_TOP
initSortingDirectionForm(ilContainerSortingSettings $sorting_settings, $element, $a_prefix)
Add sorting direction.
const SORT_NEW_ITEMS_POSITION_BOTTOM
This class represents a property in a property form.
addSubItem($a_item)
Add Subitem.
const SORT_NEW_ITEMS_ORDER_CREATION
const SORT_NEW_ITEMS_ORDER_ACTIVATION
getSortNewItemsPosition()
GET new item position.
const SORT_NEW_ITEMS_ORDER_TITLE
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initSortingDirectionForm()

ilContainerGUI::initSortingDirectionForm ( ilContainerSortingSettings  $sorting_settings,
  $element,
  $a_prefix 
)
protected

Add sorting direction.

Parameters
ilFormPropertyGUI$element

Definition at line 3763 of file class.ilContainerGUI.php.

References $txt, ilRadioOption\addSubItem(), ilContainerSortingSettings\getSortDirection(), ilContainer\SORT_DIRECTION_ASC, and ilContainer\SORT_DIRECTION_DESC.

Referenced by initManualSortingOptionForm(), and initSortingForm().

3764  {
3765  if($a_prefix == 'manual')
3766  {
3767  $txt = $this->lng->txt('sorting_new_items_direction');
3768  }
3769  else
3770  {
3771  $txt = $this->lng->txt('sorting_direction');
3772  }
3773 
3774  $direction = new ilRadioGroupInputGUI($txt,$a_prefix.'_sorting_direction');
3775  $direction->setValue($sorting_settings->getSortDirection());
3776  $direction->setRequired(TRUE);
3777 
3778  // asc
3779  $asc = new ilRadioOption(
3780  $this->lng->txt('sorting_asc'),
3782  );
3783  $direction->addOption($asc);
3784 
3785  // desc
3786  $desc = new ilRadioOption(
3787  $this->lng->txt('sorting_desc'),
3789  );
3790  $direction->addOption($desc);
3791 
3792  $element->addSubItem($direction);
3793 
3794  return $element;
3795  }
This class represents an option in a radio group.
This class represents a property in a property form.
addSubItem($a_item)
Add Subitem.
$txt
Definition: error.php:12
const SORT_DIRECTION_DESC
const SORT_DIRECTION_ASC
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initSortingForm()

ilContainerGUI::initSortingForm ( ilPropertyFormGUI  $form,
array  $a_sorting_settings 
)
protected

Append sorting settings to property form.

Parameters
ilPropertyFormGUI$form
type$a_sorting_settings

Definition at line 3688 of file class.ilContainerGUI.php.

References ilPropertyFormGUI\addItem(), initManualSortingOptionForm(), initSortingDirectionForm(), ilContainerSortingSettings\lookupSortModeFromParentContainer(), ilRadioOption\setInfo(), ilContainer\SORT_ACTIVATION, ilContainer\SORT_CREATION, ilContainer\SORT_INHERIT, ilContainer\SORT_MANUAL, and ilContainer\SORT_TITLE.

Referenced by ilObjFolderGUI\initEditCustomForm(), ilObjRootFolderGUI\initEditForm(), ilObjCategoryGUI\initEditForm(), ilObjCourseGUI\initEditForm(), and ilObjGroupGUI\initForm().

3689  {
3690  include_once('Services/Container/classes/class.ilContainerSortingSettings.php');
3691  include_once './Services/Container/classes/class.ilContainer.php';
3692 
3693  $settings = new ilContainerSortingSettings($this->object->getId());
3694  $sort = new ilRadioGroupInputGUI($this->lng->txt('sorting_header'), "sorting");
3695 
3696  if(in_array(ilContainer::SORT_INHERIT, $a_sorting_settings))
3697  {
3698  $sort_inherit = new ilRadioOption();
3699  $sort_inherit->setTitle(
3700  $this->lng->txt('sort_inherit_prefix').
3701  ' ('.ilContainerSortingSettings::sortModeToString(
3703  $this->object->getId())).') '
3704  );
3705  $sort_inherit->setValue(ilContainer::SORT_INHERIT);
3706  $sort_inherit->setInfo($this->lng->txt('sorting_info_inherit'));
3707  $sort->addOption($sort_inherit);
3708  }
3709  if(in_array(ilContainer::SORT_TITLE,$a_sorting_settings))
3710  {
3711  $sort_title = new ilRadioOption(
3712  $this->lng->txt('sorting_title_header'),
3714  );
3715  $sort_title->setInfo($this->lng->txt('sorting_info_title'));
3716 
3717  $this->initSortingDirectionForm($settings,$sort_title,'title');
3718  $sort->addOption($sort_title);
3719  }
3720  if(in_array(ilContainer::SORT_CREATION, $a_sorting_settings))
3721  {
3722  $sort_activation = new ilRadioOption($this->lng->txt('sorting_creation_header'),ilContainer::SORT_CREATION);
3723  $sort_activation->setInfo($this->lng->txt('sorting_creation_info'));
3724  $this->initSortingDirectionForm($settings,$sort_activation,'creation');
3725  $sort->addOption($sort_activation);
3726  }
3727  if(in_array(ilContainer::SORT_ACTIVATION, $a_sorting_settings))
3728  {
3729  $sort_activation = new ilRadioOption($this->lng->txt('crs_sort_activation'),ilContainer::SORT_ACTIVATION);
3730  $sort_activation->setInfo($this->lng->txt('crs_sort_timing_info'));
3731  $this->initSortingDirectionForm($settings,$sort_activation,'activation');
3732  $sort->addOption($sort_activation);
3733  }
3734  if(in_array(ilContainer::SORT_MANUAL, $a_sorting_settings))
3735  {
3736  $sort_manual = new ilRadioOption(
3737  $this->lng->txt('sorting_manual_header'),
3739  );
3740  $sort_manual->setInfo($this->lng->txt('sorting_info_manual'));
3741  $this->initManualSortingOptionForm($settings, $sort_manual, "manual", $a_sorting_settings);
3742  $sort->addOption($sort_manual);
3743  }
3744 
3745  // Handle moved containers and there possibly invalid values
3746  if(in_array($settings->getSortMode(), $a_sorting_settings))
3747  {
3748  $sort->setValue($settings->getSortMode());
3749  }
3750  else
3751  {
3752  $sort->setValue(ilContainer::SORT_TITLE);
3753  }
3754  $form->addItem($sort);
3755 
3756  return $form;
3757  }
initManualSortingOptionForm(ilContainerSortingSettings $settings, $element, $a_prefix, $a_sorting_settings)
Add manual sorting options.
This class represents an option in a radio group.
addItem($a_item)
Add Item (Property, SectionHeader).
setInfo($a_info)
Set Info.
initSortingDirectionForm(ilContainerSortingSettings $sorting_settings, $element, $a_prefix)
Add sorting direction.
This class represents a property in a property form.
static lookupSortModeFromParentContainer($a_obj_id)
Lookup sort mode from parent container.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initStylePropertiesForm()

ilContainerGUI::initStylePropertiesForm ( )

Init style properties form.

Definition at line 3262 of file class.ilContainerGUI.php.

References $_GET, $ilCtrl, $ilSetting, ilObjectGUI\$lng, ilObjectGUI\$tpl, ilObjStyleSheet\_getStandardStyles(), ilContainer\_lookupContainerSetting(), ilObjStyleSheet\_lookupStandard(), ilObject\_lookupTitle(), ilObject\_lookupType(), ilUtil\formSelect(), ilSelectInputGUI\setOptions(), ilPageObjectGUI\setStyleId(), ilPageObjectGUI\setTabHook(), and ilNonEditableValueGUI\setValue().

Referenced by editStylePropertiesObject().

3263  {
3264  global $ilCtrl, $lng, $ilTabs, $ilSetting, $tpl;
3265 
3266  $tpl->setTreeFlatIcon("", "");
3267  $ilTabs->clearTargets();
3268  $xpage_id = ilContainer::_lookupContainerSetting($this->object->getId(),
3269  "xhtml_page");
3270  if ($xpage_id > 0)
3271  {
3272  $ilTabs->setBackTarget($lng->txt("cntr_back_to_old_editor"),
3273  $ilCtrl->getLinkTarget($this, "switchToOldEditor"), "_top");
3274  }
3275  else
3276  {
3277  $ilTabs->setBackTarget($lng->txt("back"), "./goto.php?target=".$this->object->getType()."_".
3278  $this->object->getRefId(), "_top");
3279  }
3280 
3281  include_once("./Services/Container/classes/class.ilContainerPageGUI.php");
3282  $page_gui = new ilContainerPageGUI($this->object->getId());
3283  $style_id = $this->object->getStyleSheetId();
3284  if (ilObject::_lookupType($style_id) == "sty")
3285  {
3286  $page_gui->setStyleId($style_id);
3287  }
3288  else
3289  {
3290  $style_id = 0;
3291  }
3292  $page_gui->setTabHook($this, "addPageTabs");
3293  $ilCtrl->getHTML($page_gui);
3294  $ilTabs->setTabActive("obj_sty");
3295 
3296  include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
3297  $lng->loadLanguageModule("style");
3298 
3299  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
3300  $this->form = new ilPropertyFormGUI();
3301 
3302  $fixed_style = $ilSetting->get("fixed_content_style_id");
3303 // $style_id = $this->object->getStyleSheetId();
3304 
3305  if ($fixed_style > 0)
3306  {
3307  $st = new ilNonEditableValueGUI($lng->txt("wiki_current_style"));
3308  $st->setValue(ilObject::_lookupTitle($fixed_style)." (".
3309  $this->lng->txt("global_fixed").")");
3310  $this->form->addItem($st);
3311  }
3312  else
3313  {
3314  $st_styles = ilObjStyleSheet::_getStandardStyles(true, false,
3315  $_GET["ref_id"]);
3316 
3317  $st_styles[0] = $this->lng->txt("default");
3318  ksort($st_styles);
3319 
3320  if ($style_id > 0)
3321  {
3322  // individual style
3323  if (!ilObjStyleSheet::_lookupStandard($style_id))
3324  {
3325  $st = new ilNonEditableValueGUI($lng->txt("style_current_style"));
3326  $st->setValue(ilObject::_lookupTitle($style_id));
3327  $this->form->addItem($st);
3328 
3329 //$this->ctrl->getLinkTargetByClass("ilObjStyleSheetGUI", "edit"));
3330 
3331  // delete command
3332  $this->form->addCommandButton("editStyle",
3333  $lng->txt("style_edit_style"));
3334  $this->form->addCommandButton("deleteStyle",
3335  $lng->txt("style_delete_style"));
3336 //$this->ctrl->getLinkTargetByClass("ilObjStyleSheetGUI", "delete"));
3337  }
3338  }
3339 
3340  if ($style_id <= 0 || ilObjStyleSheet::_lookupStandard($style_id))
3341  {
3342  $style_sel = ilUtil::formSelect ($style_id, "style_id",
3343  $st_styles, false, true);
3344  $style_sel = new ilSelectInputGUI($lng->txt("style_current_style"), "style_id");
3345  $style_sel->setOptions($st_styles);
3346  $style_sel->setValue($style_id);
3347  $this->form->addItem($style_sel);
3348 //$this->ctrl->getLinkTargetByClass("ilObjStyleSheetGUI", "create"));
3349  $this->form->addCommandButton("saveStyleSettings",
3350  $lng->txt("save"));
3351  $this->form->addCommandButton("createStyle",
3352  $lng->txt("sty_create_ind_style"));
3353  }
3354  }
3355  $this->form->setTitle($lng->txt("obj_sty"));
3356  $this->form->setFormAction($ilCtrl->getFormAction($this));
3357  }
This class represents a selection list property in a property form.
This class represents a property form user interface.
Container page GUI class.
$_GET["client_id"]
static _lookupTitle($a_id)
lookup object title
global $ilCtrl
Definition: ilias.php:18
static formSelect($selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
_getStandardStyles($a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
setOptions($a_options)
Set Options.
static _lookupType($a_id, $a_reference=false)
lookup object type
_lookupStandard($a_id)
Lookup standard flag.
setStyleId($a_styleid)
Set Style Id.
This class represents a non editable value in a property form.
global $ilSetting
Definition: privfeed.php:40
_lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
setTabHook($a_object, $a_function)
Set tab hook.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isActiveAdministrationPanel()

ilContainerGUI::isActiveAdministrationPanel ( )

Definition at line 2858 of file class.ilContainerGUI.php.

References $_SESSION.

Referenced by addStandardContainerSubTabs(), addStandardRow(), renderObject(), setColumnSettings(), ilObjCourseGUI\setContentSubTabs(), setPageEditorTabs(), showAdministrationPanel(), and ilObjCourseGUI\showPossibleSubObjects().

2859  {
2860  global $ilAccess;
2861 
2862  // #10081
2863  if($_SESSION["il_cont_admin_panel"] &&
2864  $this->object->getRefId() &&
2865  !$ilAccess->checkAccess("write", "", $this->object->getRefId()))
2866  {
2867  return false;
2868  }
2869 
2870  return $_SESSION["il_cont_admin_panel"];
2871  }
$_SESSION["AccountId"]
+ Here is the caller graph for this function:

◆ isActiveItemOrdering()

ilContainerGUI::isActiveItemOrdering ( )

Check if item ordering is enabled.

Returns
bool

Definition at line 1304 of file class.ilContainerGUI.php.

References ilContainerSortingSettings\_lookupSortMode(), isActiveOrdering(), and ilContainer\SORT_MANUAL.

1305  {
1306  if($this->isActiveOrdering())
1307  {
1308  return (ilContainerSortingSettings::_lookupSortMode($this->object->getId()) == ilContainer::SORT_MANUAL);
1309  }
1310  return false;
1311  }
isActiveOrdering()
Check if ordering is enabled.
static _lookupSortMode($a_obj_id)
lookup sort mode
+ Here is the call graph for this function:

◆ isActiveOrdering()

ilContainerGUI::isActiveOrdering ( )

Check if ordering is enabled.

Returns
bool

Definition at line 1295 of file class.ilContainerGUI.php.

Referenced by isActiveItemOrdering(), and showAdministrationPanel().

1296  {
1297  return $this->edit_order ? true : false;
1298  }
+ Here is the caller graph for this function:

◆ isMultiDownloadEnabled()

ilContainerGUI::isMultiDownloadEnabled ( )

Definition at line 1355 of file class.ilContainerGUI.php.

References $multi_download_enabled.

Referenced by showAdministrationPanel().

1356  {
1358  }
+ Here is the caller graph for this function:

◆ keepObjectsInClipboardObject()

ilContainerGUI::keepObjectsInClipboardObject ( )

Keep objects in the clipboard.

Definition at line 2204 of file class.ilContainerGUI.php.

References $GLOBALS, and ilUtil\sendSuccess().

2205  {
2206  ilUtil::sendSuccess($this->lng->txt("obj_inserted_clipboard"), true);
2207  $GLOBALS['ilCtrl']->returnToParent($this);
2208  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
Definition: CAS.php:276
+ Here is the call graph for this function:

◆ linkObject()

ilContainerGUI::linkObject ( )

create an new reference of an object in tree it's like a hard link of unix

public

Definition at line 1697 of file class.ilContainerGUI.php.

References $_GET, $_POST, $_SESSION, $ilCtrl, ilObjectGUI\$object, ilObjectGUI\$ref_id, initAndDisplayLinkIntoMultipleObjectsObject(), and ilUtil\sendInfo().

1698  {
1699  global $clipboard, $rbacsystem, $rbacadmin, $ilCtrl;
1700 
1701  if ($_GET["item_ref_id"] != "")
1702  {
1703  $_POST["id"] = array($_GET["item_ref_id"]);
1704  }
1705 
1706  if (!isset($_POST["id"]))
1707  {
1708  $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE);
1709  }
1710 
1711  // CHECK ACCESS
1712  foreach ($_POST["id"] as $ref_id)
1713  {
1714  if (!$rbacsystem->checkAccess('delete',$ref_id))
1715  {
1716  $no_cut[] = $ref_id;
1717  }
1718 
1719  $object =& $this->ilias->obj_factory->getInstanceByRefId($ref_id);
1720 
1721  if (!$this->objDefinition->allowLink($object->getType()))
1722  {
1723  $no_link[] = $object->getType();
1724  }
1725  }
1726 
1727  // NO ACCESS
1728  if (count($no_cut))
1729  {
1730  $this->ilias->raiseError($this->lng->txt("msg_no_perm_link")." ".
1731  implode(',',$no_cut),$this->ilias->error_obj->MESSAGE);
1732  }
1733 
1734  if (count($no_link))
1735  {
1736  //#12203
1737  $this->ilias->raiseError($this->lng->txt("msg_obj_no_link"),$this->ilias->error_obj->MESSAGE);
1738 
1739  //$this->ilias->raiseError($this->lng->txt("msg_not_possible_link")." ".
1740  // implode(',',$no_link),$this->ilias->error_obj->MESSAGE);
1741  }
1742 
1743  // WRITE TO CLIPBOARD
1744  $clipboard["parent"] = $_GET["ref_id"];
1745  $clipboard["cmd"] = $ilCtrl->getCmd();
1746 
1747  foreach ($_POST["id"] as $ref_id)
1748  {
1749  $clipboard["ref_ids"][] = $ref_id;
1750  }
1751 
1752  $_SESSION["clipboard"] = $clipboard;
1753 
1754  $suffix = 'p';
1755  if(count($clipboard["ref_ids"]) == 1)
1756  {
1757  $suffix = 's';
1758  }
1759  ilUtil::sendInfo($this->lng->txt("msg_link_clipboard_" . $suffix),true);
1760 
1762 
1763  } // END LINK
$_POST['username']
Definition: cron.php:12
$_SESSION["AccountId"]
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
redirection script todo: (a better solution should control the processing via a xml file) ...
+ Here is the call graph for this function:

◆ lockObject()

ilContainerGUI::lockObject ( )

Definition at line 1361 of file class.ilContainerGUI.php.

References $_GET, $ilUser, $result, ilObjectGUI\$tree, ilDAVServer\_isActionsVisible(), ilDAVServer\_isActive(), renderObject(), and ilUtil\sendInfo().

1362  {
1363  global $tree, $ilUser, $rbacsystem;
1364 
1365  if (!$rbacsystem->checkAccess("write",$_GET['item_ref_id']))
1366  {
1367  $this->ilErr->raiseError($this->lng->txt('err_no_permission'),$this->ilErr->MESSAGE);
1368  }
1369 
1370 
1371  require_once 'Services/WebDAV/classes/class.ilDAVServer.php';
1373  {
1374  require_once 'Services/WebDAV/classes/class.ilDAVLocks.php';
1375  $locks = new ilDAVLocks();
1376 
1377  $result = $locks->lockRef($_GET['item_ref_id'],
1378  $ilUser->getId(), $ilUser->getLogin(),
1379  'ref_'.$_GET['item_ref_id'].'_usr_'.$ilUser->getId(),
1380  time() + /*30*24*60**/60, 0, 'exclusive'
1381  );
1382 
1384  $this->lng->txt(
1385  ($result === true) ? 'object_locked' : $result
1386  ),
1387  true);
1388  }
1389  $this->renderObject();
1390  }
static _isActionsVisible()
Static getter.
$result
renderObject()
render the object
$_GET["client_id"]
static _isActive()
Static getter.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
global $ilUser
Definition: imgupload.php:15
+ Here is the call graph for this function:

◆ modifyItemGUI()

ilContainerGUI::modifyItemGUI ( $a_item_list_gui,
  $a_item_data,
  $a_show_path 
)

Modify Item ListGUI for presentation in container.

Definition at line 3207 of file class.ilContainerGUI.php.

References ilObjectGUI\$lng.

Referenced by getAsynchItemListObject().

3208  {
3209  global $lng;
3210 
3211  if($a_show_path)
3212  {
3213  $a_item_list_gui->addCustomProperty($lng->txt('path'),
3214  ilContainer::buildPath($a_item_data['ref_id'], $this->object->getRefId()),
3215  false, true);
3216  }
3217  }
+ Here is the caller graph for this function:

◆ newBlockTemplate()

& ilContainerGUI::newBlockTemplate ( )

determin admin commands

returns a new list block template

private

Returns
object block template

Definition at line 999 of file class.ilContainerGUI.php.

References ilObjectGUI\$tpl.

1000  {
1001  $tpl = new ilTemplate("tpl.container_list_block.html", true, true,
1002  "Services/Container");
1003  $this->cur_row_type = "row_type_1";
1004  return $tpl;
1005  }
special template class to simplify handling of ITX/PEAR

◆ pasteObject()

ilContainerGUI::pasteObject ( )

paste object from clipboard to current place Depending on the chosen command the object(s) are linked, copied or moved

public

Definition at line 2356 of file class.ilContainerGUI.php.

References $_GET, $_SESSION, $ilCtrl, $ilUser, ilObjectGUI\$lng, $log, ilObjectGUI\$ref_id, ilObjectGUI\$tree, ilConditionHandler\_adjustMovedObjectConditions(), ilChangeEvent\_catchupWriteEvents(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilChangeEvent\_recordWriteEvent(), clearObject(), and ilUtil\sendSuccess().

2357  {
2358  global $rbacsystem, $rbacadmin, $rbacreview, $log,$tree;
2359  global $ilUser, $lng, $ilCtrl;
2360 
2361  // BEGIN ChangeEvent: Record paste event.
2362  require_once('Services/Tracking/classes/class.ilChangeEvent.php');
2363  // END ChangeEvent: Record paste event.
2364 
2365 //var_dump($_SESSION["clipboard"]);exit;
2366  if (!in_array($_SESSION["clipboard"]["cmd"],array("cut","link","copy")))
2367  {
2368  $message = get_class($this)."::pasteObject(): cmd was neither 'cut','link' or 'copy'; may be a hack attempt!";
2369  $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING);
2370  }
2371 
2372  // this loop does all checks
2373  foreach ($_SESSION["clipboard"]["ref_ids"] as $ref_id)
2374  {
2375  $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($ref_id);
2376 
2377  // CHECK ACCESS
2378  if (!$rbacsystem->checkAccess('create',$this->object->getRefId(), $obj_data->getType()))
2379  {
2380  $no_paste[] = $ref_id;
2381  $no_paste_titles[] = $obj_data->getTitle();
2382  }
2383 
2384  // CHECK IF REFERENCE ALREADY EXISTS
2385  if ($this->object->getRefId() == $this->tree->getParentId($obj_data->getRefId()))
2386  {
2387  $exists[] = $ref_id;
2388  break;
2389  }
2390 
2391  // CHECK IF PASTE OBJECT SHALL BE CHILD OF ITSELF
2392  if ($this->tree->isGrandChild($ref_id,$this->object->getRefId()))
2393  {
2394  $is_child[] = ilObject::_lookupTitle(ilObject::_lookupObjId($ref_id));
2395  }
2396 
2397  if ($ref_id == $this->object->getRefId())
2398  {
2399  $is_child[] = ilObject::_lookupTitle(ilObject::_lookupObjId($ref_id));
2400  }
2401 
2402  // CHECK IF OBJECT IS ALLOWED TO CONTAIN PASTED OBJECT AS SUBOBJECT
2403  $obj_type = $obj_data->getType();
2404 
2405  if (!in_array($obj_type, array_keys($this->object->getPossibleSubObjects())))
2406  {
2407  $not_allowed_subobject[] = $obj_data->getType();
2408  }
2409  }
2410 
2412  // process checking results
2413  // BEGIN WebDAV: Copying an object into the same container is allowed
2414  if (count($exists) && $_SESSION["clipboard"]["cmd"] != "copy")
2415  // END WebDAV: Copying an object into the same container is allowed
2416  {
2417  $this->ilias->raiseError($this->lng->txt("msg_obj_exists"),$this->ilias->error_obj->MESSAGE);
2418  }
2419 
2420  if (count($is_child))
2421  {
2422  $this->ilias->raiseError($this->lng->txt("msg_not_in_itself")." ".implode(',',$is_child),
2423  $this->ilias->error_obj->MESSAGE);
2424  }
2425 
2426  if (count($not_allowed_subobject))
2427  {
2428  $this->ilias->raiseError($this->lng->txt("msg_may_not_contain")." ".implode(',',$not_allowed_subobject),
2429  $this->ilias->error_obj->MESSAGE);
2430  }
2431 
2432  if (count($no_paste))
2433  {
2434  $this->ilias->raiseError($this->lng->txt("msg_no_perm_paste")." ".
2435  implode(',',$no_paste),$this->ilias->error_obj->MESSAGE);
2436  }
2437 
2438  // log pasteObject call
2439  $log->write("ilObjectGUI::pasteObject(), cmd: ".$_SESSION["clipboard"]["cmd"]);
2440 
2442  // everything ok: now paste the objects to new location
2443 
2444  // to prevent multiple actions via back/reload button
2445  $ref_ids = $_SESSION["clipboard"]["ref_ids"];
2446  unset($_SESSION["clipboard"]["ref_ids"]);
2447 
2448  // BEGIN WebDAV: Support a copy command in the repository
2449  // process COPY command
2450  if ($_SESSION["clipboard"]["cmd"] == "copy")
2451  {
2452  unset($_SESSION["clipboard"]["cmd"]);
2453 
2454  // new implementation, redirects to ilObjectCopyGUI
2455  if (count($ref_ids) == 1)
2456  {
2457  $ilCtrl->setParameterByClass("ilobjectcopygui", "target", $this->object->getRefId());
2458  $ilCtrl->setParameterByClass("ilobjectcopygui", "source_id", $ref_ids[0]);
2459  $ilCtrl->redirectByClass("ilobjectcopygui", "saveTarget");
2460  }
2461  else
2462  {
2463  $ilCtrl->setParameterByClass("ilobjectcopygui", "target", $this->object->getRefId());
2464  $ilCtrl->setParameterByClass("ilobjectcopygui", "source_ids", implode($ref_ids, "_"));
2465  $ilCtrl->redirectByClass("ilobjectcopygui", "saveTarget");
2466  }
2467 
2468 
2469 
2470  /* old implementation
2471 
2472  foreach($ref_ids as $ref_id)
2473  {
2474  $revIdMapping = array();
2475 
2476  $oldNode_data = $tree->getNodeData($ref_id);
2477  if ($oldNode_data['parent'] == $this->object->getRefId())
2478  {
2479  require_once 'Modules/File/classes/class.ilObjFileAccess.php';
2480  $newTitle = ilObjFileAccess::_appendNumberOfCopyToFilename($oldNode_data['title'],null);
2481  $newRef = $this->cloneNodes($ref_id, $this->object->getRefId(), $refIdMapping, $newTitle);
2482  }
2483  else
2484  {
2485  $newRef = $this->cloneNodes($ref_id, $this->object->getRefId(), $refIdMapping, null);
2486  }
2487 
2488  // BEGIN ChangeEvent: Record copy event.
2489  $old_parent_data = $tree->getParentNodeData($ref_id);
2490  $newNode_data = $tree->getNodeData($newRef);
2491  ilChangeEvent::_recordReadEvent($oldNode_data['type'], $ref_id,
2492  $oldNode_data['obj_id'], $ilUser->getId());
2493  ilChangeEvent::_recordWriteEvent($newNode_data['obj_id'], $ilUser->getId(), 'add',
2494  $this->object->getId());
2495  ilChangeEvent::_catchupWriteEvents($newNode_data['obj_id'], $ilUser->getId());
2496  // END ChangeEvent: Record copy event.
2497  }*/
2498 
2499  $log->write("ilObjectGUI::pasteObject(), copy finished");
2500  }
2501  // END WebDAV: Support a Copy command in the repository
2502 
2503  // process CUT command
2504  if ($_SESSION["clipboard"]["cmd"] == "cut")
2505  {
2506 
2507  foreach($ref_ids as $ref_id)
2508  {
2509  // Store old parent
2510  $old_parent = $tree->getParentId($ref_id);
2511  $this->tree->moveTree($ref_id,$this->object->getRefId());
2512  $rbacadmin->adjustMovedObjectPermissions($ref_id,$old_parent);
2513 
2514  include_once('./Services/AccessControl/classes/class.ilConditionHandler.php');
2516 
2517  // BEGIN ChangeEvent: Record cut event.
2518  $node_data = $tree->getNodeData($ref_id);
2519  $old_parent_data = $tree->getNodeData($old_parent);
2520  ilChangeEvent::_recordWriteEvent($node_data['obj_id'], $ilUser->getId(), 'remove',
2521  $old_parent_data['obj_id']);
2522  ilChangeEvent::_recordWriteEvent($node_data['obj_id'], $ilUser->getId(), 'add',
2523  $this->object->getId());
2524  ilChangeEvent::_catchupWriteEvents($node_data['obj_id'], $ilUser->getId());
2525  // END PATCH ChangeEvent: Record cut event.
2526  }
2527  } // END CUT
2528 
2529  // process LINK command
2530  if ($_SESSION["clipboard"]["cmd"] == "link")
2531  {
2532  foreach ($ref_ids as $ref_id)
2533  {
2534  // get node data
2535  $top_node = $this->tree->getNodeData($ref_id);
2536 
2537  // get subnodes of top nodes
2538  $subnodes[$ref_id] = $this->tree->getSubtree($top_node);
2539  }
2540 
2541  // now move all subtrees to new location
2542  foreach ($subnodes as $key => $subnode)
2543  {
2544  // first paste top_node....
2545  $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($key);
2546  $new_ref_id = $obj_data->createReference();
2547  $obj_data->putInTree($_GET["ref_id"]);
2548  $obj_data->setPermissions($_GET["ref_id"]);
2549 
2550  // BEGIN ChangeEvent: Record link event.
2551  $node_data = $tree->getNodeData($new_ref_id);
2552  ilChangeEvent::_recordWriteEvent($node_data['obj_id'], $ilUser->getId(), 'add',
2553  $this->object->getId());
2554  ilChangeEvent::_catchupWriteEvents($node_data['obj_id'], $ilUser->getId());
2555  // END PATCH ChangeEvent: Record link event.
2556  }
2557 
2558  $log->write("ilObjectGUI::pasteObject(), link finished");
2559 
2560  // inform other objects in hierarchy about link operation
2561  //$this->object->notify("link",$this->object->getRefId(),$_SESSION["clipboard"]["parent_non_rbac_id"],$this->object->getRefId(),$subnodes);
2562  } // END LINK
2563 
2564  // save cmd for correct message output after clearing the clipboard
2565  $last_cmd = $_SESSION["clipboard"]["cmd"];
2566 
2567 
2568  // clear clipboard
2569  $this->clearObject();
2570 
2571  if ($last_cmd == "cut")
2572  {
2573  ilUtil::sendSuccess($this->lng->txt("msg_cut_copied"),true);
2574  }
2575  // BEGIN WebDAV: Support a copy command in repository
2576  else if ($last_cmd == "copy")
2577  {
2578  ilUtil::sendSuccess($this->lng->txt("msg_cloned"),true);
2579  }
2580  else if ($last_cmd == 'link')
2581  // END WebDAV: Support copy command in repository
2582  {
2583  ilUtil::sendSuccess($this->lng->txt("msg_linked"),true);
2584  }
2585 
2586  $this->ctrl->returnToParent($this);
2587 
2588  } // END PASTE
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
clearObject()
clear clipboard and go back to last object
$_SESSION["AccountId"]
$_GET["client_id"]
static _lookupTitle($a_id)
lookup object title
global $ilCtrl
Definition: ilias.php:18
static _lookupObjId($a_id)
redirection script todo: (a better solution should control the processing via a xml file) ...
global $ilUser
Definition: imgupload.php:15
static _adjustMovedObjectConditions($a_ref_id)
In the moment it is not allowed to create preconditions on objects that are located outside of a cour...
_catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
_recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
+ Here is the call graph for this function:

◆ performPasteIntoMultipleObjectsObject()

ilContainerGUI::performPasteIntoMultipleObjectsObject ( )

Definition at line 1787 of file class.ilContainerGUI.php.

References $_POST, $_SESSION, $GLOBALS, $ilUser, $log, ilObjectGUI\$ref_id, ilObjectGUI\$tree, ilConditionHandler\_adjustMovedObjectConditions(), ilObjFileAccess\_appendNumberOfCopyToFilename(), ilChangeEvent\_catchupWriteEvents(), ilLink\_getLink(), ilChangeEvent\_recordReadEvent(), ilChangeEvent\_recordWriteEvent(), ilRbacLog\add(), clearObject(), cloneNodes(), ilRbacLog\gatherFaPa(), ilObjectFactory\getInstanceByRefId(), ilRbacLog\isActive(), ilRbacLog\LINK_OBJECT, ilUtil\sendFailure(), ilUtil\sendSuccess(), and showPasteTreeObject().

Referenced by ilObjOrgUnitGUI\executeCommand(), and ilObjOrgUnitGUI\performPaste().

1788  {
1789  global $rbacsystem, $rbacadmin, $rbacreview, $log, $tree, $ilObjDataCache, $ilUser;
1790 
1791  $command = $_SESSION['clipboard']['cmd'];
1792  if(!in_array($command, array('cut', 'link', 'copy')))
1793  {
1794  $message = __METHOD__.": cmd was neither 'cut', 'link' nor 'copy'; may be a hack attempt!";
1795  $this->ilias->raiseError($message, $this->ilias->error_obj->WARNING);
1796  }
1797 
1798  if($command == 'cut')
1799  {
1800  if(isset($_POST['node']) && (int)$_POST['node'])
1801  $_POST['nodes'] = array($_POST['node']);
1802  }
1803 
1804  if(!is_array($_POST['nodes']) || !count($_POST['nodes']))
1805  {
1806  ilUtil::sendFailure($this->lng->txt('select_at_least_one_object'));
1807  switch ($command)
1808  {
1809  case 'cut':
1810  $this->showPasteTreeObject();
1811  break;
1812  case 'copy':
1813  $this->showPasteTreeObject();
1814  break;
1815  case 'link':
1816  $this->showPasteTreeObject();
1817  break;
1818  }
1819  return;
1820  }
1821 
1822  // this loop does all checks
1823  $folder_objects_cache = array();
1824  foreach($_SESSION['clipboard']['ref_ids'] as $ref_id)
1825  {
1826  $obj_data = ilObjectFactory::getInstanceByRefId($ref_id);
1827  $current_parent_id = $tree->getParentId($obj_data->getRefId());
1828 
1829  foreach($_POST['nodes'] as $folder_ref_id)
1830  {
1831  if(!array_key_exists($folder_ref_id, $folder_objects_cache))
1832  {
1833  $folder_objects_cache[$folder_ref_id] = ilObjectFactory::getInstanceByRefId($folder_ref_id);
1834  }
1835 
1836  // CHECK ACCESS
1837  if(!$rbacsystem->checkAccess('create', $folder_ref_id, $obj_data->getType()))
1838  {
1839  $no_paste[] = sprintf($this->lng->txt('msg_no_perm_paste_object_in_folder'), $obj_data->getTitle().' ['.$obj_data->getRefId().']', $folder_objects_cache[$folder_ref_id]->getTitle().' ['.$folder_objects_cache[$folder_ref_id]->getRefId().']');
1840  }
1841 
1842  // CHECK IF REFERENCE ALREADY EXISTS
1843  if($folder_ref_id == $current_parent_id)
1844  {
1845  $exists[] = sprintf($this->lng->txt('msg_obj_exists_in_folder'), $obj_data->getTitle().' ['.$obj_data->getRefId().']', $folder_objects_cache[$folder_ref_id]->getTitle().' ['.$folder_objects_cache[$folder_ref_id]->getRefId().']');
1846  }
1847 
1848  // CHECK IF PASTE OBJECT SHALL BE CHILD OF ITSELF
1849  if ($tree->isGrandChild($ref_id, $folder_ref_id) ||
1850  $ref_id == $folder_ref_id)
1851  {
1852  $is_child[] = sprintf($this->lng->txt('msg_paste_object_not_in_itself'), $obj_data->getTitle().' ['.$obj_data->getRefId().']');
1853  }
1854 
1855  // CHECK IF OBJECT IS ALLOWED TO CONTAIN PASTED OBJECT AS SUBOBJECT
1856  if(!in_array($obj_data->getType(), array_keys($folder_objects_cache[$folder_ref_id]->getPossibleSubObjects())))
1857  {
1858  $not_allowed_subobject[] = sprintf($this->lng->txt('msg_obj_may_not_contain_objects_of_type'), $folder_objects_cache[$folder_ref_id]->getTitle().' ['.$folder_objects_cache[$folder_ref_id]->getRefId().']',
1859  $GLOBALS['lng']->txt('obj_'.$obj_data->getType()));
1860  }
1861  }
1862  }
1863 
1865  // process checking results
1866  if(count($exists) && $command != "copy")
1867  {
1868  $error .= implode('<br />', $exists);
1869  }
1870 
1871  if(count($is_child))
1872  {
1873  $error .= $error != '' ? '<br />' : '';
1874  $error .= implode('<br />', $is_child);
1875  }
1876 
1877  if(count($not_allowed_subobject))
1878  {
1879  $error .= $error != '' ? '<br />' : '';
1880  $error .= implode('<br />', $not_allowed_subobject);
1881  }
1882 
1883  if(count($no_paste))
1884  {
1885  $error .= $error != '' ? '<br />' : '';
1886  $error .= implode('<br />', $no_paste);
1887  }
1888 
1889  if($error != '')
1890  {
1891  ilUtil::sendFailure($error);
1892  switch ($command)
1893  {
1894  case 'cut':
1895  $this->showPasteTreeObject();
1896  break;
1897  case 'copy':
1898  $this->showPasteTreeObject();
1899  break;
1900  case 'link':
1901  $this->showPasteTreeObject();
1902  break;
1903  }
1904  return;
1905  }
1906 
1907  // log pasteObject call
1908  $log->write(__METHOD__.", cmd: ".$command);
1909 
1911  // everything ok: now paste the objects to new location
1912 
1913  // to prevent multiple actions via back/reload button
1914  $ref_ids = $_SESSION['clipboard']['ref_ids'];
1915  unset($_SESSION['clipboard']['ref_ids']);
1916 
1917  // BEGIN ChangeEvent: Record paste event.
1918  require_once('Services/Tracking/classes/class.ilChangeEvent.php');
1919  // END ChangeEvent: Record paste event.
1920 
1921  // process COPY command
1922  if($command == 'copy')
1923  {
1924  foreach($_POST['nodes'] as $folder_ref_id)
1925  {
1926  foreach($ref_ids as $ref_id)
1927  {
1928  $revIdMapping = array();
1929 
1930  $oldNode_data = $tree->getNodeData($ref_id);
1931  if ($oldNode_data['parent'] == $folder_ref_id)
1932  {
1933  require_once 'Modules/File/classes/class.ilObjFileAccess.php';
1934  $newTitle = ilObjFileAccess::_appendNumberOfCopyToFilename($oldNode_data['title'],null);
1935  $newRef = $this->cloneNodes($ref_id, $folder_ref_id, $refIdMapping, $newTitle);
1936  }
1937  else
1938  {
1939  $newRef = $this->cloneNodes($ref_id, $folder_ref_id, $refIdMapping, null);
1940  }
1941 
1942  // BEGIN ChangeEvent: Record copy event.
1943  $old_parent_data = $tree->getParentNodeData($ref_id);
1944  $newNode_data = $tree->getNodeData($newRef);
1945  ilChangeEvent::_recordReadEvent($oldNode_data['type'], $ref_id,
1946  $oldNode_data['obj_id'], $ilUser->getId());
1947  ilChangeEvent::_recordWriteEvent($newNode_data['obj_id'], $ilUser->getId(), 'add',
1948  $ilObjDataCache->lookupObjId($folder_ref_id));
1949  ilChangeEvent::_catchupWriteEvents($newNode_data['obj_id'], $ilUser->getId());
1950  // END PATCH ChangeEvent: Record cut event.
1951  }
1952  }
1953 
1954  ilUtil::sendSuccess($this->lng->txt('msg_cloned'), true);
1955  } // END COPY
1956 
1957  // process CUT command
1958  if($command == 'cut')
1959  {
1960  foreach($_POST['nodes'] as $folder_ref_id)
1961  {
1962  foreach($ref_ids as $ref_id)
1963  {
1964  // Store old parent
1965  $old_parent = $tree->getParentId($ref_id);
1966  $tree->moveTree($ref_id, $folder_ref_id);
1967  $rbacadmin->adjustMovedObjectPermissions($ref_id, $old_parent);
1968 
1969  include_once('./Services/AccessControl/classes/class.ilConditionHandler.php');
1971 
1972  // BEGIN ChangeEvent: Record cut event.
1973  $node_data = $tree->getNodeData($ref_id);
1974  $old_parent_data = $tree->getNodeData($old_parent);
1975  ilChangeEvent::_recordWriteEvent($node_data['obj_id'], $ilUser->getId(), 'remove',
1976  $old_parent_data['obj_id']);
1977  ilChangeEvent::_recordWriteEvent($node_data['obj_id'], $ilUser->getId(), 'add',
1978  $ilObjDataCache->lookupObjId($folder_ref_id));
1979  ilChangeEvent::_catchupWriteEvents($node_data['obj_id'], $ilUser->getId());
1980  // END PATCH ChangeEvent: Record cut event.
1981  }
1982 
1983  // prevent multiple iterations for cut cmommand
1984  break;
1985  }
1986 
1987  ilUtil::sendSuccess($this->lng->txt('msg_cut_copied'), true);
1988  } // END CUT
1989 
1990  // process LINK command
1991  if($command == 'link')
1992  {
1993  $linked_to_folders = array();
1994 
1995  include_once "Services/AccessControl/classes/class.ilRbacLog.php";
1996  $rbac_log_active = ilRbacLog::isActive();
1997 
1998  foreach($_POST['nodes'] as $folder_ref_id)
1999  {
2000  $linked_to_folders[$folder_ref_id] = $ilObjDataCache->lookupTitle($ilObjDataCache->lookupObjId($folder_ref_id));
2001 
2002  foreach($ref_ids as $ref_id)
2003  {
2004  // get node data
2005  $top_node = $tree->getNodeData($ref_id);
2006 
2007  // get subnodes of top nodes
2008  $subnodes[$ref_id] = $tree->getSubtree($top_node);
2009  }
2010 
2011  // now move all subtrees to new location
2012  foreach($subnodes as $key => $subnode)
2013  {
2014  // first paste top_node....
2015  $obj_data = ilObjectFactory::getInstanceByRefId($key);
2016  $new_ref_id = $obj_data->createReference();
2017  $obj_data->putInTree($folder_ref_id);
2018  $obj_data->setPermissions($folder_ref_id);
2019 
2020  // rbac log
2021  if($rbac_log_active)
2022  {
2023  $rbac_log_roles = $rbacreview->getParentRoleIds($new_ref_id, false);
2024  $rbac_log = ilRbacLog::gatherFaPa($new_ref_id, array_keys($rbac_log_roles), true);
2025  ilRbacLog::add(ilRbacLog::LINK_OBJECT, $new_ref_id, $rbac_log, $key);
2026  }
2027 
2028  // BEGIN ChangeEvent: Record link event.
2029  $node_data = $tree->getNodeData($new_ref_id);
2030  ilChangeEvent::_recordWriteEvent($node_data['obj_id'], $ilUser->getId(), 'add',
2031  $ilObjDataCache->lookupObjId($folder_ref_id));
2032  ilChangeEvent::_catchupWriteEvents($node_data['obj_id'], $ilUser->getId());
2033  // END PATCH ChangeEvent: Record link event.
2034  }
2035 
2036  $log->write(__METHOD__.', link finished');
2037  }
2038 
2039  $linked_targets = array();
2040  if(count($linked_to_folders))
2041  {
2042  require_once 'Services/Link/classes/class.ilLink.php';
2043  foreach($linked_to_folders as $ref_id => $title)
2044  {
2045  $linked_targets[] = '<a href="' . ilLink::_getLink($ref_id) . '">' . $title . '</a>';
2046  }
2047  }
2048 
2049  $suffix = 'p';
2050  if(count($ref_ids) == 1)
2051  {
2052  $suffix = 's';
2053  }
2054  ilUtil::sendSuccess(sprintf($this->lng->txt('mgs_objects_linked_to_the_following_folders_' . $suffix), implode(', ', $linked_targets)), true);
2055  } // END LINK
2056 
2057  // clear clipboard
2058  $this->clearObject();
2059 
2060  $this->ctrl->returnToParent($this);
2061  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
clearObject()
clear clipboard and go back to last object
$_POST['username']
Definition: cron.php:12
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
$_SESSION["AccountId"]
static _appendNumberOfCopyToFilename($a_file_name, $nth_copy=null, $a_handle_extension=false)
Appends the text " - Copy" to a filename in the language of the current user.
static isActive()
static gatherFaPa($a_ref_id, array $a_role_ids, $a_add_action=false)
showPasteTreeObject()
Show paste tree.
redirection script todo: (a better solution should control the processing via a xml file) ...
const LINK_OBJECT
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
_recordReadEvent($a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
global $ilUser
Definition: imgupload.php:15
static _adjustMovedObjectConditions($a_ref_id)
In the moment it is not allowed to create preconditions on objects that are located outside of a cour...
static add($a_action, $a_ref_id, array $a_diff, $a_source_ref_id=false)
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
Definition: CAS.php:276
_catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
cloneNodes($srcRef, $dstRef, &$mapping, $newName=null)
Recursively clones all nodes of the RBAC tree.
_recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ prepareOutput()

ilContainerGUI::prepareOutput (   $a_show_subobjects = true)

prepare output

Definition at line 350 of file class.ilContainerGUI.php.

References ilObjectGUI\getCreationMode(), ilMemberViewGUI\showMemberViewSwitch(), and showTreeFlatIcon().

351  {
352  if (parent::prepareOutput()) // return false in admin mode
353  {
354  if ($this->getCreationMode() != true && $a_show_subobjects)
355  {
356  // This method is called directly from ilContainerGUI::renderObject
357  #$this->showPossibleSubObjects();
358  $this->showTreeFlatIcon();
359 
360  // Member view
361  include_once './Services/Container/classes/class.ilMemberViewGUI.php';
362  ilMemberViewGUI::showMemberViewSwitch($this->object->getRefId());
363  }
364  }
365  }
static showMemberViewSwitch($a_ref_id)
Show member view switch.
getCreationMode()
get creation mode
+ Here is the call graph for this function:

◆ recurseFolder()

static ilContainerGUI::recurseFolder (   $refid,
  $title,
  $tmpdir 
)
staticprivate

private functions which iterates through all folders and files and create an according file structure in a temporary directory.

This function works recursive.

Parameters
integer$refidreference it
tmpdictory$tmpdir
Returns
returns first created directory

Definition at line 1655 of file class.ilContainerGUI.php.

References ilObjectGUI\$tree, ilObject\_isInTrash(), ilUtil\getASCIIFilename(), and ilUtil\makeDir().

1656  {
1657  global $rbacsystem, $tree, $ilAccess;
1658 
1659  $tmpdir = $tmpdir . DIRECTORY_SEPARATOR . ilUtil::getASCIIFilename($title);
1660  ilUtil::makeDir($tmpdir);
1661 
1662  $subtree = $tree->getChildsByTypeFilter($refid, array("fold","file"));
1663 
1664  foreach ($subtree as $child)
1665  {
1666  if (!$ilAccess->checkAccess("read", "", $child["ref_id"]))
1667  continue;
1668 
1669  if (ilObject::_isInTrash($child["ref_id"]))
1670  continue;
1671 
1672  if ($child["type"] == "fold")
1673  self::recurseFolder($child["ref_id"], $child["title"], $tmpdir);
1674  else
1675  self::copyFile($child["obj_id"], $child["title"], $tmpdir);
1676  }
1677  }
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
_isInTrash($a_ref_id)
checks wether object is in trash
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
+ Here is the call graph for this function:

◆ redrawListItemObject()

ilContainerGUI::redrawListItemObject ( )

Redraw a list item (ajax)

Parameters

Definition at line 3529 of file class.ilContainerGUI.php.

References $_GET, $html, ilObjectGUI\$tpl, ilEventItems\_getItemsOfContainer(), exit, getContentGUI(), and ilObjectActivation\getItemsByEvent().

3530  {
3531  global $tpl;
3532 
3533  $html = null;
3534 
3535  $item_data = $this->object->getSubItems(false, false, (int) $_GET["child_ref_id"]);
3536  $container_view = $this->getContentGUI();
3537 
3538  // list item is session material (not part of "_all"-items - see below)
3539  include_once './Modules/Session/classes/class.ilEventItems.php';
3540  $event_items = ilEventItems::_getItemsOfContainer($this->object->getRefId());
3541  if(in_array((int)$_GET["child_ref_id"], $event_items))
3542  {
3543  include_once('./Services/Object/classes/class.ilObjectActivation.php');
3544  foreach ($this->object->items["sess"] as $id)
3545  {
3546  $items = ilObjectActivation::getItemsByEvent($id['obj_id']);
3547  foreach($items as $event_item)
3548  {
3549  if ($event_item["child"] == (int)$_GET["child_ref_id"])
3550  {
3551  // sessions
3552  if((int)$_GET["parent_ref_id"])
3553  {
3554  $event_item["parent"] = (int)$_GET["parent_ref_id"];
3555  }
3556  $html = $container_view->renderItem($event_item);
3557  }
3558  }
3559  }
3560  }
3561 
3562  // "normal" list item
3563  if(!$html)
3564  {
3565  foreach ($this->object->items["_all"] as $id)
3566  {
3567  if ($id["child"] == (int) $_GET["child_ref_id"])
3568  {
3569  $html = $container_view->renderItem($id);
3570  }
3571  }
3572  }
3573 
3574  if($html)
3575  {
3576  echo $html;
3577 
3578  // we need to add onload code manually (rating, comments, etc.)
3579  echo $tpl->getOnLoadCodeForAsynch();
3580  }
3581 
3582  exit;
3583  }
getContentGUI()
Get content gui object.
exit
Definition: login.php:54
static getItemsByEvent($a_event_id)
Get session material / event items.
$_GET["client_id"]
_getItemsOfContainer($a_ref_id)
$html
Definition: example_001.php:87
+ Here is the call graph for this function:

◆ removeFromDeskObject()

ilContainerGUI::removeFromDeskObject ( )
See also
ilDesktopItemHandling::removeFromDesk()

Implements ilDesktopItemHandling.

Definition at line 1334 of file class.ilContainerGUI.php.

References $ilSetting, ilObjectGUI\$lng, ilDesktopItemGUI\removeFromDesktop(), renderObject(), and ilUtil\sendSuccess().

1335  {
1336  global $ilSetting, $lng;
1337 
1338  if((int)$ilSetting->get('disable_my_offers'))
1339  {
1340  return $this->renderObject();
1341  }
1342 
1343  include_once './Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
1345  ilUtil::sendSuccess($lng->txt("removed_from_desktop"));
1346  $this->renderObject();
1347  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
renderObject()
render the object
static removeFromDesktop()
Remove item from personal desktop public.
global $ilSetting
Definition: privfeed.php:40
+ Here is the call graph for this function:

◆ removeFromSystemObject()

ilContainerGUI::removeFromSystemObject ( )

remove objects from trash bin and all entries therefore every object needs a specific deleteObject() method

public

Definition at line 3921 of file class.ilContainerGUI.php.

References $_POST, ilObjectGUI\$lng, and $log.

3922  {
3923  global $log, $ilAppEventHandler, $lng;
3924 
3925  include_once("./Services/Repository/classes/class.ilRepUtilGUI.php");
3926  $ru = new ilRepUtilGUI($this);
3927  $ru->removeObjectsFromSystem($_POST["trash_id"]);
3928  $this->ctrl->redirect($this, "trash");
3929  }
$_POST['username']
Definition: cron.php:12
Repository GUI Utilities.

◆ renderObject()

ilContainerGUI::renderObject ( )

render the object

Definition at line 476 of file class.ilContainerGUI.php.

References $_GET, $ilCtrl, $ilDB, $ilSetting, ilObjectGUI\$tpl, getContentGUI(), isActiveAdministrationPanel(), setContentSubTabs(), showAdministrationPanel(), showPermanentLink(), and showPossibleSubObjects().

Referenced by addToDeskObject(), editOrderObject(), enableMultiDownloadObject(), lockObject(), and removeFromDeskObject().

477  {
478  global $ilDB, $tpl, $ilTabs, $ilCtrl, $ilSetting;
479 
480  $container_view = $this->getContentGUI();
481 
482  $this->setContentSubTabs();
483  if ($this->isActiveAdministrationPanel())
484  {
485  $ilTabs->activateSubTab("manage");
486  }
487  else
488  {
489  $ilTabs->activateSubTab("view_content");
490  }
491 
492  $container_view->setOutput();
493 
494  $this->adminCommands = $container_view->adminCommands;
495 
496  // it is important not to show the subobjects/admin panel here, since
497  // we will create nested forms in case, e.g. a news/calendar item is added
498  if ($ilCtrl->getNextClass() != "ilcolumngui")
499  {
500  $this->showAdministrationPanel($tpl);
501  $this->showPossibleSubObjects();
502  }
503 
504  $this->showPermanentLink($tpl);
505 
506  // add tree updater javascript
507  if ((int) $_GET["ref_id"] > 1 && $ilSetting->get("rep_tree_synchronize"))
508  {
509  $ilCtrl->setParameter($this, "active_node", (int) $_GET["ref_id"]);
510  /*$tpl->addOnloadCode("
511  if (parent && parent.tree && parent.tree.updater)
512  {
513  parent.tree.updater('tree_div', '".
514  $ilCtrl->getLinkTarget($this, "showTree", "", true, false)
515  ."');
516  }");*/
517  }
518  }
getContentGUI()
Get content gui object.
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
showPermanentLink(&$tpl)
show permanent link
showPossibleSubObjects()
show possible sub objects selection list
setContentSubTabs()
Set content sub tabs.
global $ilSetting
Definition: privfeed.php:40
global $ilDB
showAdministrationPanel(&$tpl)
show administration panel
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetRowType()

ilContainerGUI::resetRowType ( )

Definition at line 1125 of file class.ilContainerGUI.php.

1126  {
1127  $this->cur_row_type = "";
1128  }

◆ savePageContentObject()

ilContainerGUI::savePageContentObject ( )

Definition at line 867 of file class.ilContainerGUI.php.

References $_POST, $text, ilRTE\_cleanupMediaObjectUsage(), ilObjAdvancedEditing\_getUsedHTMLTagsAsString(), ilContainer\_lookupContainerSetting(), ilContainer\_writeContainerSetting(), ilUtil\sendSuccess(), and ilUtil\stripSlashes().

868  {
869  include_once("Services/XHTMLPage/classes/class.ilXHTMLPage.php");
870  include_once "./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
871  $xpage_id = ilContainer::_lookupContainerSetting($this->object->getId(),
872  "xhtml_page");
873 
874  /*include_once("./Services/Form/classes/class.ilFormPropertyGUI.php");
875  include_once("./Services/Form/classes/class.ilTextAreaInputGUI.php");
876  $ta = new ilTextAreaInputGUI();
877  $ta->setRteTagSet("extended_table_img");
878  $tags = $ta->getRteTagString();*/
879 
880  //$text = ilUtil::stripSlashes($_POST["page_content"],
881  // true,
882  // $tags);
883 
884  $text = ilUtil::stripSlashes($_POST["page_content"],
885  true,
887  if ($xpage_id > 0)
888  {
889  $xpage = new ilXHTMLPage($xpage_id);
890  $xpage->setContent($text);
891  $xpage->save();
892  }
893  else
894  {
895  $xpage = new ilXHTMLPage();
896  $xpage->setContent($text);
897  $xpage->save();
898  ilContainer::_writeContainerSetting($this->object->getId(),
899  "xhtml_page", $xpage->getId());
900  }
901 
902  include_once("Services/RTE/classes/class.ilRTE.php");
903  ilRTE::_cleanupMediaObjectUsage($text, $this->object->getType().":html",
904  $this->object->getId());
905 
906  ilUtil::sendSuccess($this->lng->txt("msg_obj_modified"), true);
907  $this->ctrl->redirect($this, "");
908  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
& _getUsedHTMLTagsAsString($a_module="")
Returns a string of all allowed HTML tags for text editing.
_writeContainerSetting($a_id, $a_keyword, $a_value)
_cleanupMediaObjectUsage($a_text, $a_usage_type, $a_usage_id)
synchronises appearances of media objects in $a_text with media object usage table ...
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
XHTML Page class.
_lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
$text
+ Here is the call graph for this function:

◆ savePasswordObject()

ilContainerGUI::savePasswordObject ( )
protected

Save password.

Returns

Definition at line 3507 of file class.ilContainerGUI.php.

References $ilUser, initFormPasswordInstruction(), ilUtil\sendSuccess(), and showPasswordInstructionObject().

3508  {
3509  global $ilUser;
3510 
3511  $form = $this->initFormPasswordInstruction();
3512  if($form->checkInput())
3513  {
3514  $ilUser->resetPassword($this->form->getInput('new_password'),$this->form->getInput('new_password'));
3515  ilUtil::sendSuccess($this->lng->txt('webdav_pwd_instruction_success'),true);
3516  $this->showPasswordInstructionObject(false);
3517  return true;
3518  }
3519  $form->setValuesByPost();
3521  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
showPasswordInstructionObject($a_init=true)
Show webdav password instruction.
initFormPasswordInstruction()
Init password form.
global $ilUser
Definition: imgupload.php:15
+ Here is the call graph for this function:

◆ saveSortingObject()

ilContainerGUI::saveSortingObject ( )

Save Sorting.

public

Parameters

Definition at line 3133 of file class.ilContainerGUI.php.

References $_POST, ilContainerSorting\_getInstance(), and ilUtil\sendSuccess().

3134  {
3135  include_once('Services/Container/classes/class.ilContainerSorting.php');
3136  $sorting = ilContainerSorting::_getInstance($this->object->getId());
3137 
3138  // Allow comma
3139  $positions = str_replace(',','.',$_POST['position']);
3140 
3141  $sorting->savePost($positions);
3142  ilUtil::sendSuccess($this->lng->txt('cntr_saved_sorting'), true);
3143  $this->ctrl->redirect($this, "editOrder");
3144  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static _getInstance($a_obj_id)
get instance by obj_id
+ Here is the call graph for this function:

◆ saveSortingSettings()

ilContainerGUI::saveSortingSettings ( ilPropertyFormGUI  $form)
protected

Save sorting settings.

Parameters
ilPropertyFormGUI$form

Definition at line 3875 of file class.ilContainerGUI.php.

References ilPropertyFormGUI\getInput(), ilContainerSortingSettings\setSortMode(), ilContainer\SORT_ACTIVATION, ilContainer\SORT_CREATION, ilContainer\SORT_MANUAL, and ilContainer\SORT_TITLE.

Referenced by ilObjFolderGUI\updateCustom(), ilObjRootFolderGUI\updateObject(), ilObjGroupGUI\updateObject(), ilObjCategoryGUI\updateObject(), and ilObjCourseGUI\updateObject().

3876  {
3877  include_once('Services/Container/classes/class.ilContainerSortingSettings.php');
3878  $settings = new ilContainerSortingSettings($this->object->getId());
3879  $settings->setSortMode($form->getInput("sorting"));
3880 
3881  switch($form->getInput('sorting'))
3882  {
3884  $settings->setSortDirection($form->getInput('title_sorting_direction'));
3885  break;
3887  $settings->setSortDirection($form->getInput('activation_sorting_direction'));
3888  break;
3890  $settings->setSortDirection($form->getInput('creation_sorting_direction'));
3891  break;
3893  $settings->setSortNewItemsPosition($form->getInput('manual_new_items_position'));
3894  $settings->setSortNewItemsOrder($form->getInput('manual_new_items_order'));
3895  $settings->setSortDirection($form->getInput('manual_sorting_direction'));
3896  break;
3897  }
3898 
3899  $settings->update();
3900  }
getInput($a_post_var, $ensureValidation=true)
Returns the value of a HTTP-POST variable, identified by the passed id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveStyleSettingsObject()

ilContainerGUI::saveStyleSettingsObject ( )

Save style settings.

Definition at line 3392 of file class.ilContainerGUI.php.

References $_POST, $ilSetting, ilObjStyleSheet\_lookupStandard(), ilUtil\sendSuccess(), and ilUtil\stripSlashes().

3393  {
3394  global $ilSetting;
3395 
3396  include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
3397  if ($ilSetting->get("fixed_content_style_id") <= 0 &&
3398  (ilObjStyleSheet::_lookupStandard($this->object->getStyleSheetId())
3399  || $this->object->getStyleSheetId() == 0))
3400  {
3401  $this->object->setStyleSheetId(ilUtil::stripSlashes($_POST["style_id"]));
3402  $this->object->update();
3403  ilUtil::sendSuccess($this->lng->txt("msg_obj_modified"), true);
3404  }
3405  $this->ctrl->redirect($this, "editStyleProperties");
3406  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
_lookupStandard($a_id)
Lookup standard flag.
global $ilSetting
Definition: privfeed.php:40
+ Here is the call graph for this function:

◆ setColumnSettings()

ilContainerGUI::setColumnSettings (   $column_gui)

May be overwritten in subclasses.

Definition at line 2876 of file class.ilContainerGUI.php.

References allowBlocksMoving(), and isActiveAdministrationPanel().

2877  {
2878  global $ilAccess;
2879  parent::setColumnSettings($column_gui);
2880 
2881  if ($ilAccess->checkAccess("write", "", $this->object->getRefId()) &&
2882  $this->isActiveAdministrationPanel() &&
2883  $this->allowBlocksMoving())
2884  {
2885  $column_gui->setEnableMovement(true);
2886  }
2887 
2888  $column_gui->setRepositoryItems(
2889  $this->object->getSubItems($this->isActiveAdministrationPanel(), true));
2890 
2891  //if ($ilAccess->checkAccess("write", "", $this->object->getRefId())
2892  // && $this->allowBlocksConfigure())
2893  if ($ilAccess->checkAccess("write", "", $this->object->getRefId()))
2894  {
2895  $column_gui->setBlockProperty("news", "settings", true);
2896  //$column_gui->setBlockProperty("news", "public_notifications_option", true);
2897  $column_gui->setBlockProperty("news", "default_visibility_option", true);
2898  $column_gui->setBlockProperty("news", "hide_news_block_option", true);
2899  }
2900 
2901  if ($this->isActiveAdministrationPanel())
2902  {
2903  $column_gui->setAdminCommands(true);
2904  }
2905  }
allowBlocksMoving()
Standard is to allow blocks moving.
+ Here is the call graph for this function:

◆ setContentSubTabs()

ilContainerGUI::setContentSubTabs ( )

Set content sub tabs.

Definition at line 523 of file class.ilContainerGUI.php.

References addStandardContainerSubTabs().

Referenced by renderObject().

524  {
526  }
addStandardContainerSubTabs($a_include_view=true)
Add standar container subtabs for view, manage, oderdering and text/media editor link.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setPageEditorTabs()

ilContainerGUI::setPageEditorTabs ( )

Add page editor tabs.

Definition at line 1134 of file class.ilContainerGUI.php.

References ilObjectGUI\$lng, ilFrameTargetInfo\_getFrame(), and isActiveAdministrationPanel().

1135  {
1136  global $lng;
1137 
1138  if (!$this->isActiveAdministrationPanel()
1139  || strtolower($this->ctrl->getCmdClass()) != "ilcontainerpagegui")
1140  {
1141  return;
1142  }
1143 
1144  $lng->loadLanguageModule("content");
1145  //$tabs_gui = new ilTabsGUI();
1146  //$tabs_gui->setSubTabs();
1147 
1148  // back to upper context
1149  $this->tabs_gui->setBackTarget($this->lng->txt("obj_cat"),
1150  $this->ctrl->getLinkTarget($this, "frameset"),
1151  ilFrameTargetInfo::_getFrame("MainContent"));
1152 
1153  $this->tabs_gui->addTarget("edit", $this->ctrl->getLinkTargetByClass("ilcontainerpagegui", "view")
1154  , array("", "view"), "ilcontainerpagegui");
1155 
1156  //$this->tpl->setTabs($tabs_gui->getHTML());
1157  }
static _getFrame($a_class, $a_type='')
Get content frame name.
+ Here is the call graph for this function:

◆ setTitleAndDescription()

ilContainerGUI::setTitleAndDescription ( )

called by prepare output

Definition at line 393 of file class.ilContainerGUI.php.

References ilObjectGUI\$ilias, $path, ilObject\_getIcon(), ilObjectListGUIFactory\_getListGUIByType(), ilContainer\_lookupContainerSetting(), and ilContainer\_lookupIconPath().

394  {
395  global $ilias;
396 
397  if (!ilContainer::_lookupContainerSetting($this->object->getId(), "hide_header_icon_and_title"))
398  {
399  $this->tpl->setTitle($this->object->getTitle());
400  $this->tpl->setDescription($this->object->getLongDescription());
401 
402  // set tile icon
403  $icon = ilObject::_getIcon($this->object->getId(), "big", $this->object->getType());
404  if ($ilias->getSetting("custom_icons") &&
405  in_array($this->object->getType(), array("cat","grp","crs", "root")))
406  {
407  require_once("./Services/Container/classes/class.ilContainer.php");
408  if (($path = ilContainer::_lookupIconPath($this->object->getId(), "big")) != "")
409  {
410  $icon = $path;
411  }
412  }
413  $this->tpl->setTitleIcon($icon, $this->lng->txt("obj_".$this->object->getType()));
414 
415  include_once './Services/Object/classes/class.ilObjectListGUIFactory.php';
416  $lgui = ilObjectListGUIFactory::_getListGUIByType($this->object->getType());
417  $lgui->initItem($this->object->getRefId(), $this->object->getId());
418  $this->tpl->setAlertProperties($lgui->getAlertProperties());
419  }
420  }
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
_lookupIconPath($a_id, $a_size="big")
lookup icon path
$path
Definition: index.php:22
_lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
+ Here is the call graph for this function:

◆ showAdministrationPanel()

ilContainerGUI::showAdministrationPanel ( $tpl)

show administration panel

Definition at line 531 of file class.ilContainerGUI.php.

References $_SESSION, $GLOBALS, ilObjectGUI\$lng, ilUtil\getImagePath(), isActiveAdministrationPanel(), isActiveOrdering(), and isMultiDownloadEnabled().

Referenced by renderObject(), and ilObjOrgUnitGUI\updateSettings().

532  {
533  global $ilAccess, $lng;
534 
535  $lng->loadLanguageModule('cntr');
536 
537  if ($this->isActiveAdministrationPanel())
538  {
539  // #11545
540  $GLOBALS['tpl']->setPageFormAction($this->ctrl->getFormAction($this));
541 
542  include_once './Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
543  $toolbar = new ilToolbarGUI();
544  $this->ctrl->setParameter($this, "type", "");
545  $this->ctrl->setParameter($this, "item_ref_id", "");
546 
547  if (!$_SESSION["clipboard"])
548  {
549  if ($this->object->gotItems())
550  {
551  $toolbar->setLeadingImage(
552  ilUtil::getImagePath("arrow_upright.svg"),
553  $lng->txt("actions")
554  );
555  $toolbar->addFormButton(
556  $this->lng->txt('delete_selected_items'),
557  'delete'
558  );
559  $toolbar->addFormButton(
560  $this->lng->txt('move_selected_items'),
561  'cut'
562  );
563  $toolbar->addFormButton(
564  $this->lng->txt('copy_selected_items'),
565  'copy'
566  );
567  $toolbar->addFormButton(
568  $this->lng->txt('link_selected_items'),
569  'link'
570  );
571  // add download button if multi download enabled
572  $folder_set = new ilSetting("fold");
573  if ($folder_set->get("enable_multi_download") == true)
574  {
575  $toolbar->addSeparator();
576  $toolbar->addFormButton(
577  $this->lng->txt('download_selected_items'),
578  'download'
579  );
580  }
581  }
582  if($this->object->getType() == 'crs' or $this->object->getType() == 'grp')
583  {
584  if($this->object->gotItems())
585  {
586  $toolbar->addSeparator();
587  }
588 
589  $toolbar->addButton(
590  $this->lng->txt('cntr_adopt_content'),
591  $this->ctrl->getLinkTargetByClass(
592  'ilObjectCopyGUI',
593  'adoptContent')
594  );
595  }
596  }
597  else
598  {
599  //$GLOBALS["tpl"]->addAdminPanelCommand("paste",
600  // $this->lng->txt("paste_clipboard_items"));
601 
602  $toolbar->addFormButton(
603  $this->lng->txt('paste_clipboard_items'),
604  'paste'
605  );
606 
607  if($_SESSION["clipboard"]["cmd"] == "link")
608  {
609  //$GLOBALS["tpl"]->addAdminPanelCommand("initAndDisplayLinkIntoMultipleObjects",
610  // $this->lng->txt("paste_clipboard_items_into_multiple_objects"));
611  /*$toolbar->addFormButton(
612  $this->lng->txt('paste_clipboard_items_into_multiple_objects'),
613  'initAndDisplayLinkIntoMultipleObjects'
614  );*/
615  }
616 
617  $toolbar->addFormButton(
618  $this->lng->txt('clear_clipboard'),
619  'clear'
620  );
621 
622  if ($this->isMultiDownloadEnabled())
623  {
624  $toolbar->addSeparator();
625  $toolbar->addFormButton(
626  $this->lng->txt('download_selected_items'),
627  'download'
628  );
629  }
630  }
631 
632  $GLOBALS['tpl']->addAdminPanelToolbar(
633  $toolbar,
634  ($this->object->gotItems() && !$_SESSION["clipboard"]) ? true : false,
635  ($this->object->gotItems() && !$_SESSION["clipboard"]) ? true : false
636  );
637 
638  // form action needed, see http://www.ilias.de/mantis/view.php?id=9630
639  if ($this->object->gotItems())
640  {
641  $GLOBALS['tpl']->setPageFormAction($this->ctrl->getFormAction($this));
642  }
643  }
644  else
645  {
646  if ($this->edit_order)
647  {
648  if($this->object->gotItems() and $ilAccess->checkAccess("write", "", $this->object->getRefId()))
649  {
650  include_once('./Services/Container/classes/class.ilContainer.php');
651 
652  if ($this->isActiveOrdering())
653  {
654  // #11843
655  $GLOBALS['tpl']->setPageFormAction($this->ctrl->getFormAction($this));
656 
657  include_once './Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
658  $toolbar = new ilToolbarGUI();
659  $this->ctrl->setParameter($this, "type", "");
660  $this->ctrl->setParameter($this, "item_ref_id", "");
661 
662  $toolbar->addFormButton(
663  $this->lng->txt('sorting_save'),
664  'saveSorting'
665  );
666 
667  $GLOBALS['tpl']->addAdminPanelToolbar($toolbar, true, false);
668 
669  /*
670  $GLOBALS["tpl"]->addAdminPanelCommand("saveSorting",
671  $this->lng->txt('sorting_save'));
672 
673  // button should appear at bottom, too
674  $GLOBALS["tpl"]->admin_panel_bottom = true;
675  */
676  }
677  }
678  }
679  else if ($this->isMultiDownloadEnabled())
680  {
681  // #11843
682  $GLOBALS['tpl']->setPageFormAction($this->ctrl->getFormAction($this));
683 
684  include_once './Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
685  $toolbar = new ilToolbarGUI();
686  $this->ctrl->setParameter($this, "type", "");
687  $this->ctrl->setParameter($this, "item_ref_id", "");
688 
689  $toolbar->addFormButton(
690  $this->lng->txt('download_selected_items'),
691  'download'
692  );
693 
694  $GLOBALS['tpl']->addAdminPanelToolbar(
695  $toolbar,
696  $this->object->gotItems() ? true : false,
697  $this->object->gotItems() ? true : false
698  );
699  }
700  }
701  }
ILIAS Setting Class.
$_SESSION["AccountId"]
isActiveOrdering()
Check if ordering is enabled.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
Definition: CAS.php:276
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showCustomIconsEditing()

ilContainerGUI::showCustomIconsEditing (   $a_input_colspan = 1,
ilPropertyFormGUI  $a_form = null,
  $a_as_section = true 
)

show edit section of custom icons for container

Definition at line 2731 of file class.ilContainerGUI.php.

Referenced by ilObjCourseGUI\initCourseIconsForm(), ilObjRootFolderGUI\initEditForm(), ilObjGroupGUI\initGroupIconsForm(), ilObjFolderGUI\initIconsForm(), and ilObjCategoryGUI\initIconsForm().

2732  {
2733  if ($this->ilias->getSetting("custom_icons"))
2734  {
2735  if(!$a_form)
2736  {
2737  /*
2738  $this->tpl->addBlockFile("CONTAINER_ICONS", "container_icon_settings",
2739  "tpl.container_icon_settings.html", "Services/Container");
2740 
2741  if (($big_icon = $this->object->getBigIconPath()) != "")
2742  {
2743  $this->tpl->setCurrentBlock("big_icon");
2744  $this->tpl->setVariable("SRC_BIG_ICON", $big_icon);
2745  $this->tpl->parseCurrentBlock();
2746  }
2747  if ($this->object->getType() != "root")
2748  {
2749  if (($small_icon = $this->object->getSmallIconPath()) != "")
2750  {
2751  $this->tpl->setCurrentBlock("small_icon");
2752  $this->tpl->setVariable("SRC_SMALL_ICON", $small_icon);
2753  $this->tpl->parseCurrentBlock();
2754  }
2755  $this->tpl->setCurrentBlock("small_icon_row");
2756  $this->tpl->setVariable("SMALL_ICON", $this->lng->txt("standard_icon"));
2757  $this->tpl->setVariable("SMALL_SIZE", "(".
2758  $this->ilias->getSetting("custom_icon_small_width")."x".
2759  $this->ilias->getSetting("custom_icon_small_height").")");
2760  $this->tpl->setVariable("TXT_REMOVE_S", $this->lng->txt("remove"));
2761  $this->tpl->parseCurrentBlock();
2762  }
2763  if (($tiny_icon = $this->object->getTinyIconPath()) != "")
2764  {
2765  $this->tpl->setCurrentBlock("tiny_icon");
2766  $this->tpl->setVariable("SRC_TINY_ICON", $tiny_icon);
2767  $this->tpl->parseCurrentBlock();
2768  }
2769  $this->tpl->setCurrentBlock("container_icon_settings");
2770  $this->tpl->setVariable("SPAN_TITLE", $a_input_colspan + 1);
2771  $this->tpl->setVariable("SPAN_INPUT", $a_input_colspan);
2772  $this->tpl->setVariable("ICON_SETTINGS", $this->lng->txt("icon_settings"));
2773  $this->tpl->setVariable("BIG_ICON", $this->lng->txt("big_icon"));
2774  $this->tpl->setVariable("TINY_ICON", $this->lng->txt("tiny_icon"));
2775  $this->tpl->setVariable("BIG_SIZE", "(".
2776  $this->ilias->getSetting("custom_icon_big_width")."x".
2777  $this->ilias->getSetting("custom_icon_big_height").")");
2778  $this->tpl->setVariable("TINY_SIZE", "(".
2779  $this->ilias->getSetting("custom_icon_tiny_width")."x".
2780  $this->ilias->getSetting("custom_icon_tiny_height").")");
2781  $this->tpl->setVariable("TXT_REMOVE", $this->lng->txt("remove"));
2782  $this->tpl->parseCurrentBlock();
2783  */
2784  }
2785  else
2786  {
2787  //$big_icon = $this->object->getBigIconPath();
2788  $custom_icon = $this->object->getCustomIconPath();
2789  //$tiny_icon = $this->object->getTinyIconPath();
2790 
2791  if($a_as_section)
2792  {
2793  $title = new ilFormSectionHeaderGUI();
2794  $title->setTitle($this->lng->txt("icon_settings"));
2795  }
2796  else
2797  {
2798  $title = new ilCustomInputGUI($this->lng->txt("icon_settings"), "");
2799  }
2800  $a_form->addItem($title);
2801 
2802  // big
2803  /*
2804  $caption = $this->lng->txt("big_icon")." (".
2805  $this->ilias->getSetting("custom_icon_big_width")."x".
2806  $this->ilias->getSetting("custom_icon_big_height").")";
2807  $icon = new ilImageFileInputGUI($caption, "cont_big_icon");
2808  $icon->setImage($big_icon);
2809  if($a_as_section)
2810  {
2811  $a_form->addItem($icon);
2812  }
2813  else
2814  {
2815  $title->addSubItem($icon);
2816  }*/
2817 
2818  // small/standard
2819  //if ($this->object->getType() != "root")
2820  //{
2821  /*$caption = $this->lng->txt("standard_icon")." (".
2822  $this->ilias->getSetting("custom_icon_small_width")."x".
2823  $this->ilias->getSetting("custom_icon_small_height").")";*/
2824  $caption = $this->lng->txt("cont_custom_icon");
2825  $icon = new ilImageFileInputGUI($caption, "cont_icon");
2826  $icon->setSuffixes(array("svg"));
2827  $icon->setImage($custom_icon);
2828  if($a_as_section)
2829  {
2830  $a_form->addItem($icon);
2831  }
2832  else
2833  {
2834  $title->addSubItem($icon);
2835  }
2836  //}
2837 
2838  // tiny
2839  /*
2840  $caption = $this->lng->txt("tiny_icon")." (".
2841  $this->ilias->getSetting("custom_icon_tiny_width")."x".
2842  $this->ilias->getSetting("custom_icon_tiny_height").")";
2843  $icon = new ilImageFileInputGUI($caption, "cont_tiny_icon");
2844  $icon->setImage($tiny_icon);
2845  if($a_as_section)
2846  {
2847  $a_form->addItem($icon);
2848  }
2849  else
2850  {
2851  $title->addSubItem($icon);
2852  }
2853  */
2854  }
2855  }
2856  }
This class represents a section header in a property form.
addItem($a_item)
Add Item (Property, SectionHeader).
redirection script todo: (a better solution should control the processing via a xml file) ...
This class represents an image file property in a property form.
This class represents a custom property in a property form.
+ Here is the caller graph for this function:

◆ showLinkListObject()

ilContainerGUI::showLinkListObject ( )

Definition at line 915 of file class.ilContainerGUI.php.

References $_GET, ilObjectGUI\$lng, ilObjectGUI\$tpl, ilObjectGUI\$tree, exit, and ilUtil\getStyleSheetLocation().

916  {
917  global $lng, $tree;
918 
919  $tpl = new ilTemplate("tpl.container_link_help.html", true, true,
920  "Services/Container");
921 
922  $type_ordering = array(
923  "cat", "fold", "crs", "grp", "chat", "frm", "lres",
924  "glo", "webr", "file", "exc",
925  "tst", "svy", "mep", "qpl", "spl");
926 
927  $childs = $tree->getChilds($_GET["ref_id"]);
928  foreach($childs as $child)
929  {
930  if (in_array($child["type"], array("lm", "dbk", "sahs", "htlm")))
931  {
932  $cnt["lres"]++;
933  }
934  else
935  {
936  $cnt[$child["type"]]++;
937  }
938  }
939 
940  $tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
941  $tpl->setVariable("TXT_HELP_HEADER", $lng->txt("help"));
942  foreach($type_ordering as $type)
943  {
944  $tpl->setCurrentBlock("row");
945  $tpl->setVariable("ROWCOL", "tblrow".((($i++)%2)+1));
946  if ($type != "lres")
947  {
948  $tpl->setVariable("TYPE", $lng->txt("objs_".$type).
949  " (".((int)$cnt[$type]).")");
950  }
951  else
952  {
953  $tpl->setVariable("TYPE", $lng->txt("learning_resources").
954  " (".((int)$cnt["lres"]).")");
955  }
956  $tpl->setVariable("TXT_LINK", "[list-".$type."]");
957  $tpl->parseCurrentBlock();
958  }
959  $tpl->show();
960  exit;
961 
962  }
exit
Definition: login.php:54
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
$_GET["client_id"]
special template class to simplify handling of ITX/PEAR
+ Here is the call graph for this function:

◆ showPasswordInstructionObject()

ilContainerGUI::showPasswordInstructionObject (   $a_init = true)
protected

Show webdav password instruction.

Returns

Definition at line 3456 of file class.ilContainerGUI.php.

References ilObjectGUI\$tpl, ilDAVServer\getInstance(), initFormPasswordInstruction(), and ilUtil\sendInfo().

Referenced by savePasswordObject().

3457  {
3458  global $tpl,$ilToolbar;
3459 
3460  if($a_init)
3461  {
3462  ilUtil::sendInfo($this->lng->txt('webdav_pwd_instruction'));
3463  $this->initFormPasswordInstruction();
3464  }
3465 
3466  include_once ('Services/WebDAV/classes/class.ilDAVServer.php');
3467  $davServer = ilDAVServer::getInstance();
3468  $ilToolbar->addButton(
3469  $this->lng->txt('mount_webfolder'),
3470  $davServer->getMountURI($this->object->getRefId()),
3471  '_blank',
3472  '',
3473  $davServer->getFolderURI($this->object->getRefId())
3474  );
3475 
3476  $tpl->setContent($this->form->getHTML());
3477  }
initFormPasswordInstruction()
Init password form.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getInstance()
Get singelton iunstance.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showPasteTreeObject()

ilContainerGUI::showPasteTreeObject ( )

Show paste tree.

Definition at line 2087 of file class.ilContainerGUI.php.

References $_SESSION, $cmd, $t, ilUtil\getImagePath(), ilSubmitButton\getInstance(), and getTreeSelectorGUI().

Referenced by initAndDisplayCopyIntoMultipleObjectsObject(), initAndDisplayLinkIntoMultipleObjectsObject(), initAndDisplayMoveIntoObjectObject(), and performPasteIntoMultipleObjectsObject().

2088  {
2089  global $ilTabs, $ilToolbar;
2090 
2091  $ilTabs->setTabActive('view_content');
2092 
2093  if(!in_array($_SESSION['clipboard']['cmd'], array('link', 'copy', 'cut')))
2094  {
2095  $message = __METHOD__.": Unknown action.";
2096  $this->ilias->raiseError($message, $this->ilias->error_obj->WARNING);
2097  }
2098  $cmd = $_SESSION['clipboard']['cmd'];
2099 
2100  //
2101  $exp = $this->getTreeSelectorGUI($cmd);
2102  if ($exp->handleCommand())
2103  {
2104  return;
2105  }
2106  $output = $exp->getHTML();
2107 
2108  $txt_var = ($cmd == "copy")
2109  ? "copy"
2110  : "paste";
2111 
2112  // toolbars
2113  $t = new ilToolbarGUI();
2114  $t->setFormAction($this->ctrl->getFormAction($this, "performPasteIntoMultipleObjects"));
2115 
2116  include_once("./Services/UIComponent/Button/classes/class.ilSubmitButton.php");
2118  $b->setCaption($txt_var);
2119  $b->setCommand("performPasteIntoMultipleObjects");
2120 
2121  //$t->addFormButton($this->lng->txt($txt_var), "performPasteIntoMultipleObjects");
2122  $t->addStickyItem($b);
2123 
2124  $t->addSeparator();
2125  $this->lng->loadLanguageModule('obj');
2126  $t->addFormButton($this->lng->txt("obj_insert_into_clipboard"), "keepObjectsInClipboard");
2127 
2128  $t->addFormButton($this->lng->txt("cancel"), "cancelMoveLink");
2129  $t->setCloseFormTag(false);
2130  $t->setLeadingImage(ilUtil::getImagePath("arrow_upright.svg"), " ");
2131  $output = $t->getHTML().$output;
2132  $t->setLeadingImage(ilUtil::getImagePath("arrow_downright.svg"), " ");
2133  $t->setCloseFormTag(true);
2134  $t->setOpenFormTag(false);
2135  $output.= "<br />".$t->getHTML();
2136 
2137  $this->tpl->setContent($output);
2138  }
$_SESSION["AccountId"]
$cmd
Definition: sahs_server.php:35
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
redirection script todo: (a better solution should control the processing via a xml file) ...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showPermanentLink()

ilContainerGUI::showPermanentLink ( $tpl)

show permanent link

Definition at line 720 of file class.ilContainerGUI.php.

References $GLOBALS.

Referenced by renderObject().

721  {
722  $GLOBALS["tpl"]->setPermanentLink($this->object->getType(),
723  $this->object->getRefId(), "", "_top");
724  }
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
Definition: CAS.php:276
+ Here is the caller graph for this function:

◆ showPossibleSubObjects()

ilContainerGUI::showPossibleSubObjects ( )

show possible sub objects selection list

Definition at line 425 of file class.ilContainerGUI.php.

References ilObjectAddNewItemGUI\render().

Referenced by renderObject().

426  {
427  include_once "Services/Object/classes/class.ilObjectAddNewItemGUI.php";
428  $gui = new ilObjectAddNewItemGUI($this->object->getRefId());
429  $gui->render();
430  }
Render add new item selector.
render()
Add new item selection to current page incl.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showRepTree()

ilContainerGUI::showRepTree ( )

Show tree.

Definition at line 3638 of file class.ilContainerGUI.php.

References $_GET, $_SESSION, $ilCtrl, $ilSetting, $ilUser, and ilObjectGUI\$tpl.

Referenced by ilObjGroupGUI\executeCommand(), ilObjCategoryGUI\executeCommand(), ilObjFolderGUI\executeCommand(), ilObjRootFolderGUI\executeCommand(), ilObjStudyProgrammeGUI\executeCommand(), and ilObjCourseGUI\executeCommand().

3639  {
3640  global $tpl, $ilUser, $ilSetting, $ilCtrl;
3641 
3642  // set current repository view mode
3643  if (!empty($_GET["set_mode"]))
3644  {
3645  $_SESSION["il_rep_mode"] = $_GET["set_mode"];
3646  if ($ilUser->getId() != ANONYMOUS_USER_ID)
3647  {
3648  $ilUser->writePref("il_rep_mode", $_GET["set_mode"]);
3649  }
3650  }
3651 
3652  // get user setting
3653  if ($_SESSION["il_rep_mode"] == "")
3654  {
3655  if ($ilUser->getId() != ANONYMOUS_USER_ID)
3656  {
3657  $_SESSION["il_rep_mode"] = $ilUser->getPref("il_rep_mode");
3658  }
3659  }
3660 
3661  // if nothing set, get default view
3662  if ($_SESSION["il_rep_mode"] == "")
3663  {
3664  $_SESSION["il_rep_mode"] = $ilSetting->get("default_repository_view");
3665  }
3666 
3667  $mode = ($_SESSION["il_rep_mode"] != "")
3668  ? $_SESSION["il_rep_mode"]
3669  : "flat";
3670 
3671  // check for administration context, see #0016312
3672  if ($mode == "tree" && (strtolower($_GET["baseClass"]) != "iladministrationgui"))
3673  {
3674  include_once("./Services/Repository/classes/class.ilRepositoryExplorerGUI.php");
3675  $exp = new ilRepositoryExplorerGUI($this, "showRepTree");
3676  if (!$exp->handleCommand())
3677  {
3678  $tpl->setLeftNavContent($exp->getHTML());
3679  }
3680  }
3681  }
$_SESSION["AccountId"]
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
Repository explorer GUI class.
global $ilUser
Definition: imgupload.php:15
global $ilSetting
Definition: privfeed.php:40
+ Here is the caller graph for this function:

◆ showTreeFlatIcon()

ilContainerGUI::showTreeFlatIcon ( )

Definition at line 367 of file class.ilContainerGUI.php.

References $_GET, $_SESSION, ilObjectGUI\$tpl, and ilMemberViewSettings\getInstance().

Referenced by prepareOutput().

368  {
369  global $tpl;
370 
371  // dont show icon, if role (permission gui->rolegui) is edited
372  if ($_GET["obj_id"] != "")
373  {
374  return;
375  }
376  // hide for member view
377  include_once './Services/Container/classes/class.ilMemberViewSettings.php';
378  if(ilMemberViewSettings::getInstance()->isActive())
379  {
380  return;
381  }
382 
383  $mode = ($_SESSION["il_rep_mode"] == "flat")
384  ? "tree"
385  : "flat";
386  $link = "ilias.php?baseClass=ilRepositoryGUI&amp;cmd=frameset&amp;set_mode=".$mode."&amp;ref_id=".$this->object->getRefId();
387  $tpl->setTreeFlatIcon($link, $mode);
388  }
$_SESSION["AccountId"]
$_GET["client_id"]
static getInstance()
Get instance.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ switchToOldEditorObject()

ilContainerGUI::switchToOldEditorObject ( )

Switch to old page editor.

Definition at line 740 of file class.ilContainerGUI.php.

References $_SESSION, and $ilCtrl.

741  {
742  global $ilCtrl;
743 
744  $_SESSION["il_cntr_editor"] = "old";
745  $ilCtrl->redirect($this, "editPageFrame");
746  }
$_SESSION["AccountId"]
global $ilCtrl
Definition: ilias.php:18

◆ switchToStdEditorObject()

ilContainerGUI::switchToStdEditorObject ( )

Switch to standard page editor.

Definition at line 729 of file class.ilContainerGUI.php.

References $_SESSION, and $ilCtrl.

730  {
731  global $ilCtrl;
732 
733  $_SESSION["il_cntr_editor"] = "std";
734  $ilCtrl->redirect($this, "editPageFrame");
735  }
$_SESSION["AccountId"]
global $ilCtrl
Definition: ilias.php:18

◆ trashObject()

ilContainerGUI::trashObject ( )

Show trash content of object.

public

Definition at line 3907 of file class.ilContainerGUI.php.

References $_GET, and ilObjectGUI\$tpl.

3908  {
3909  global $tpl;
3910 
3911  include_once("./Services/Repository/classes/class.ilRepUtilGUI.php");
3912  $ru = new ilRepUtilGUI($this);
3913  $ru->showTrashTable($_GET["ref_id"]);
3914  }
$_GET["client_id"]
Repository GUI Utilities.

◆ undeleteObject()

ilContainerGUI::undeleteObject ( )

Get objects back from trash.

Definition at line 3934 of file class.ilContainerGUI.php.

References $_GET, and $_POST.

3935  {
3936  include_once("./Services/Repository/classes/class.ilRepUtilGUI.php");
3937  $ru = new ilRepUtilGUI($this);
3938  $ru->restoreObjects($_GET["ref_id"], $_POST["trash_id"]);
3939  $this->ctrl->redirect($this, "trash");
3940  }
$_POST['username']
Definition: cron.php:12
$_GET["client_id"]
Repository GUI Utilities.

◆ useNewEditorObject()

ilContainerGUI::useNewEditorObject ( )

Use new editor (-> delete xhtml content page)

Definition at line 751 of file class.ilContainerGUI.php.

References $ilCtrl, ilObjectGUI\$lng, ilContainer\_writeContainerSetting(), and ilUtil\sendSuccess().

752  {
753  global $ilCtrl, $ilAccess, $lng, $ilCtrl;
754 
755  if ($ilAccess->checkAccess("write", "", $this->object->getRefId()))
756  {
757  include_once("./Services/XHTMLPage/classes/class.ilXHTMLPage.php");
758 
759  /* keep old page content for now...
760  $xpage_id = ilContainer::_lookupContainerSetting($this->object->getId(),
761  "xhtml_page");
762  if ($xpage_id)
763  {
764  $xpage = new ilXHTMLPage($xpage_id);
765  }
766  */
767 
768  ilContainer::_writeContainerSetting($this->object->getId(),
769  "xhtml_page", 0);
770 
771  ilUtil::sendSuccess($lng->txt("cntr_switched_editor"), true);
772  }
773 
774  $ilCtrl->redirect($this, "editPageFrame");
775  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
_writeContainerSetting($a_id, $a_keyword, $a_value)
global $ilCtrl
Definition: ilias.php:18
+ Here is the call graph for this function:

Field Documentation

◆ $bl_cnt

ilContainerGUI::$bl_cnt = 1

Definition at line 22 of file class.ilContainerGUI.php.

◆ $multi_download_enabled

ilContainerGUI::$multi_download_enabled = false

Definition at line 23 of file class.ilContainerGUI.php.

Referenced by isMultiDownloadEnabled().


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