4require_once
"./Services/Object/classes/class.ilObjectGUI.php";
5require_once
"./Services/Container/classes/class.ilContainer.php";
6include_once
'./Services/PersonalDesktop/interfaces/interface.ilDesktopItemHandling.php';
29 function __construct($a_data, $a_id, $a_call_by_reference =
true, $a_prepare_output =
true)
31 global $rbacsystem,
$lng;
33 $this->rbacsystem = $rbacsystem;
35 $lng->loadLanguageModule(
"cntr");
36 $lng->loadLanguageModule(
'cont');
45 parent::__construct($a_data, $a_id, $a_call_by_reference,
false);
56 $next_class = $this->ctrl->getNextClass();
57 $cmd = $this->ctrl->getCmd(
"render");
62 case "ilcontainerpagegui":
63 if (
$_GET[
"redirectSource"] !=
"ilinternallinkgui")
66 $tpl->setContent(
$ret);
74 case "ilobjstylesheetgui":
94 $values = parent::getEditFormValues();
96 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
97 $values[
'didactic_type'] =
98 'dtpl_'.ilDidacticTemplateObjSettings::lookupTemplateId($this->object->getRefId());
109 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
111 $this->object->getRefId()
115 if($new_tpl_id != $current_tpl_id)
117 $_REQUEST[
'tplid'] = $new_tpl_id;
120 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
121 $this->ctrl->setReturn($this,
'edit');
122 $this->ctrl->setCmdClass(
'ildidactictemplategui');
123 $this->ctrl->setCmd(
'confirmTemplateSwitch');
125 return $this->ctrl->forwardCommand($dtpl_gui);
127 parent::afterUpdate();
138 $ilTabs->clearTargets();
141 include_once (
"./Services/Style/Content/classes/class.ilObjStyleSheetGUI.php");
142 $this->ctrl->setReturn($this,
"editStyleProperties");
143 $style_gui =
new ilObjStyleSheetGUI(
"", $this->object->getStyleSheetId(),
false,
false);
144 $style_gui->omitLocator();
145 if (
$cmd ==
"create" ||
$_GET[
"new_type"]==
"sty")
147 $style_gui->setCreationMode(
true);
150 if (
$cmd ==
"confirmedDelete")
152 $this->
object->setStyleSheetId(0);
153 $this->
object->update();
156 $ret = $this->ctrl->forwardCommand($style_gui);
158 if (
$cmd ==
"save" ||
$cmd ==
"copyStyle" ||
$cmd ==
"importStyle")
161 $this->
object->setStyleSheetId($style_id);
162 $this->
object->update();
163 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
177 if (in_array(
$cmd, array(
"displayMediaFullscreen",
"downloadFile",
"displayMedia")))
186 $ilTabs->clearTargets();
188 if (
$_GET[
"redirectSource"] ==
"ilinternallinkgui")
197 $ilTabs->setBackTarget(
$lng->txt(
"cntr_back_to_old_editor"),
198 $ilCtrl->getLinkTarget($this,
"switchToOldEditor"),
"_top");
202 $ilTabs->setBackTarget(
$lng->txt(
"back"),
"./goto.php?target=".$this->object->getType().
"_".
203 $this->object->getRefId(),
"_top");
207 include_once(
"./Services/Container/classes/class.ilContainerPage.php");
208 include_once(
"./Services/Container/classes/class.ilContainerPageGUI.php");
210 $lng->loadLanguageModule(
"content");
212 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
213 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
215 $this->tpl->setCurrentBlock(
"SyntaxStyle");
216 $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
218 $this->tpl->parseCurrentBlock();
221 $this->object->getId()))
225 $new_page_object->setParentId($this->object->getId());
226 $new_page_object->setId($this->object->getId());
227 $new_page_object->createFromXML();
231 $this->ctrl->setReturnByClass(
"ilcontainerpagegui",
"edit");
233 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
235 $this->object->getStyleSheetId(), $this->object->getType()));
237 $page_gui->setTemplateTargetVar(
"ADM_CONTENT");
238 $page_gui->setFileDownloadLink(
"");
239 $page_gui->setFullscreenLink($this->ctrl->getLinkTarget($this,
"showMediaFullscreen"));
241 $page_gui->setPresentationTitle(
"");
242 $page_gui->setTemplateOutput(
false);
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",
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());
264 $page_gui->setTabHook($this,
"addPageTabs");
266 $ret = $this->ctrl->forwardCommand($page_gui);
279 $ilTabs->addTarget(
"obj_sty",
280 $ilCtrl->getLinkTarget($this,
'editStyleProperties'),
"editStyleProperties");
300 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
302 return $xpage->getContent();
310 include_once(
"./Services/COPage/classes/class.ilPageUtil.php");
312 $this->object->getId()))
316 include_once(
"./Services/Container/classes/class.ilContainerPage.php");
317 include_once(
"./Services/Container/classes/class.ilContainerPageGUI.php");
319 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
320 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
322 $this->tpl->setCurrentBlock(
"SyntaxStyle");
323 $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
325 $this->tpl->parseCurrentBlock();
328 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
330 $lang = $ot->getEffectiveContentLang(
$ilUser->getCurrentLanguage(),
"cont");
332 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
334 $this->object->getStyleSheetId(), $this->object->getType()));
336 $page_gui->setPresentationTitle(
"");
337 $page_gui->setTemplateOutput(
false);
338 $page_gui->setHeader(
"");
339 $ret = $page_gui->showPage();
352 if (parent::prepareOutput($a_show_subobjects))
357 #$this->showPossibleSubObjects();
361 include_once
'./Services/Container/classes/class.ilMemberViewGUI.php';
372 if (
$_GET[
"obj_id"] !=
"")
377 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
383 $mode = (
$_SESSION[
"il_rep_mode"] ==
"flat")
386 $link =
"ilias.php?baseClass=ilRepositoryGUI&cmd=frameset&set_mode=".$mode.
"&ref_id=".$this->
object->getRefId();
387 $tpl->setTreeFlatIcon($link, $mode);
399 $this->tpl->setTitle($this->object->getTitle());
400 $this->tpl->setDescription($this->object->getLongDescription());
404 if (
$ilias->getSetting(
"custom_icons") &&
405 in_array($this->object->getType(), array(
"cat",
"grp",
"crs",
"root")))
407 require_once(
"./Services/Container/classes/class.ilContainer.php");
413 $this->tpl->setTitleIcon($icon, $this->lng->txt(
"obj_".$this->object->getType()));
415 include_once
'./Services/Object/classes/class.ilObjectListGUIFactory.php';
417 $lgui->initItem($this->object->getRefId(), $this->object->getId());
418 $this->tpl->setAlertProperties($lgui->getAlertProperties());
427 include_once
"Services/Object/classes/class.ilObjectAddNewItemGUI.php";
440 switch ($this->object->getViewMode())
444 include_once(
"./Services/Container/classes/class.ilContainerSimpleContentGUI.php");
449 include_once(
'./Services/Container/classes/class.ilContainerObjectiveGUI.php');
456 include_once(
"./Services/Container/classes/class.ilContainerSessionsContentGUI.php");
463 include_once(
"./Services/Container/classes/class.ilContainerByTypeContentGUI.php");
468 return $container_view;
485 $ilTabs->activateSubTab(
"manage");
489 $ilTabs->activateSubTab(
"view_content");
492 $container_view->setOutput();
494 $this->adminCommands = $container_view->adminCommands;
498 if (
$ilCtrl->getNextClass() !=
"ilcolumngui")
507 if ((
int)
$_GET[
"ref_id"] > 1 &&
$ilSetting->get(
"rep_tree_synchronize"))
509 $ilCtrl->setParameter($this,
"active_node", (
int)
$_GET[
"ref_id"]);
533 global $ilAccess,
$lng;
535 $lng->loadLanguageModule(
'cntr');
540 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
542 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
544 $this->ctrl->setParameter($this,
"type",
"");
545 $this->ctrl->setParameter($this,
"item_ref_id",
"");
549 if ($this->object->gotItems())
551 $toolbar->setLeadingImage(
555 $toolbar->addFormButton(
556 $this->lng->txt(
'delete_selected_items'),
559 $toolbar->addFormButton(
560 $this->lng->txt(
'move_selected_items'),
563 $toolbar->addFormButton(
564 $this->lng->txt(
'copy_selected_items'),
567 $toolbar->addFormButton(
568 $this->lng->txt(
'link_selected_items'),
573 if ($folder_set->get(
"enable_multi_download") ==
true)
575 $toolbar->addSeparator();
577 if(!$folder_set->get(
"bgtask_download", 0))
579 $toolbar->addFormButton(
580 $this->lng->txt(
'download_selected_items'),
586 $GLOBALS[
'tpl']->addJavaScript(
"Services/BackgroundTask/js/BgTask.js");
587 $GLOBALS[
'tpl']->addOnLoadCode(
"il.BgTask.initMultiForm('ilFolderDownloadBackgroundTaskHandler');");
589 include_once
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
591 $button->setCaption(
"download_selected_items");
592 $button->addCSSClass(
"ilbgtasksubmit");
593 $button->setCommand(
"download");
594 $toolbar->addButtonInstance($button);
598 if($this->object->getType() ==
'crs' or $this->object->getType() ==
'grp')
600 if($this->object->gotItems())
602 $toolbar->addSeparator();
606 $this->lng->txt(
'cntr_adopt_content'),
607 $this->ctrl->getLinkTargetByClass(
618 $toolbar->addFormButton(
619 $this->lng->txt(
'paste_clipboard_items'),
623 if(
$_SESSION[
"clipboard"][
"cmd"] ==
"link")
633 $toolbar->addFormButton(
634 $this->lng->txt(
'clear_clipboard'),
640 $toolbar->addSeparator();
641 $toolbar->addFormButton(
642 $this->lng->txt(
'download_selected_items'),
648 $GLOBALS[
'tpl']->addAdminPanelToolbar(
650 ($this->object->gotItems() && !
$_SESSION[
"clipboard"]) ?
true :
false,
651 ($this->object->gotItems() && !
$_SESSION[
"clipboard"]) ?
true :
false
655 if ($this->object->gotItems())
657 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
662 if ($this->edit_order)
664 if($this->object->gotItems() and $ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
666 include_once(
'./Services/Container/classes/class.ilContainer.php');
671 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
673 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
675 $this->ctrl->setParameter($this,
"type",
"");
676 $this->ctrl->setParameter($this,
"item_ref_id",
"");
678 $toolbar->addFormButton(
679 $this->lng->txt(
'sorting_save'),
683 $GLOBALS[
'tpl']->addAdminPanelToolbar($toolbar,
true,
false);
701 if(count($children_of_type_file) != 0)
704 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
706 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
708 $this->ctrl->setParameter($this,
"type",
"");
709 $this->ctrl->setParameter($this,
"item_ref_id",
"");
711 $toolbar->addFormButton(
712 $this->lng->txt(
'download_selected_items'),
716 $GLOBALS[
'tpl']->addAdminPanelToolbar(
718 $this->object->gotItems() ?
true :
false,
719 $this->object->gotItems() ?
true :
false
739 $sibling_files = $this->tree->getChildsByType(
$ref_id,
"file");
741 foreach ($sibling_files as $sibling_course)
743 array_push(
$files, $sibling_course);
747 foreach ($categories as $category)
749 $category_ref_id = $category[
"ref_id"];
750 $nested_files = $this->tree->getChildsByType($category_ref_id,
"file");
752 foreach ($nested_files as $nested_course)
754 array_push(
$files, $nested_course);
768 $categories = $this->tree->getChildsByType(
$ref_id,
"cat");
770 $num_categories = count($categories);
772 for ($i = 0; $i < $num_categories; $i ++)
774 $category_ref_id = $categories[$i][
"ref_id"];
776 $new_categories = $this->tree->getChildsByType($category_ref_id,
"cat");
777 if ($new_categories != NULL)
779 foreach ($new_categories as $new_category)
782 array_push($categories, $new_category);
784 $num_categories = count($categories);
795 if(!
$tree->checkForParentType($this->object->getRefId(),
'crs'))
799 $tpl->setCurrentBlock(
"custom_button");
800 $tpl->setVariable(
"ADMIN_MODE_LINK",$this->ctrl->getLinkTargetByClass(
'ilcoursecontentgui',
'editTimings'));
801 $tpl->setVariable(
"TXT_ADMIN_MODE",$this->lng->txt(
'timings_edit'));
802 $tpl->parseCurrentBlock();
810 $GLOBALS[
"tpl"]->setPermanentLink($this->object->getType(),
811 $this->object->getRefId(),
"",
"_top");
822 $ilCtrl->redirect($this,
"editPageFrame");
833 $ilCtrl->redirect($this,
"editPageFrame");
843 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
845 include_once(
"./Services/XHTMLPage/classes/class.ilXHTMLPage.php");
862 $ilCtrl->redirect($this,
"editPageFrame");
873 if ($xpage_id > 0 &&
$_SESSION[
"il_cntr_editor"] !=
"std")
875 $this->ctrl->redirect($this,
"editPageContent");
879 $this->ctrl->redirectByClass(array(
"ilcontainerpagegui"),
"edit");
892 if (!$rbacsystem->checkAccess(
"write", $this->ref_id))
894 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
901 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
903 $content = $xpage->getContent();
907 $tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.container_edit_page_content.html",
908 "Services/Container");
910 $tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
911 $tpl->setVariable(
"TXT_EDIT_PAGE_CONTENT",
912 $this->lng->txt(
"edit_page_content"));
913 $tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
914 $tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
915 $tpl->setVariable(
"TXT_MIGRATION_INFO",
$lng->txt(
"cntr_old_editor_warning"));
916 $tpl->setVariable(
"TXT_MIGRATION_OPEN_STD_EDITOR",
$lng->txt(
"cntr_old_editor_open_standard_editor"));
918 $tpl->setVariable(
"HREF_OPEN_STD_EDITOR",
$ilCtrl->getLinkTarget($this,
"switchToStdEditor"));
919 $tpl->setVariable(
"ALT_WARNING",
$lng->txt(
"warning"));
921 include_once(
"./Services/Form/classes/class.ilFormPropertyGUI.php");
922 include_once(
"./Services/Form/classes/class.ilTextAreaInputGUI.php");
927 include_once
"./Services/RTE/classes/class.ilRTE.php";
929 include_once
"./Services/RTE/classes/class.$rtestring.php";
930 $rte =
new $rtestring();
932 include_once
"./Services/Object/classes/class.ilObject.php";
935 $rte->addRTESupport(
$obj_id, $obj_type);
942 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
943 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
963 $xpage->setContent(
$text);
969 $xpage->setContent(
$text);
972 "xhtml_page", $xpage->getId());
975 include_once(
"Services/RTE/classes/class.ilRTE.php");
977 $this->object->getId());
980 $this->ctrl->redirect($this,
"");
985 $this->ctrl->redirect($this,
"");
993 "Services/Container");
995 $type_ordering = array(
996 "cat",
"fold",
"crs",
"grp",
"chat",
"frm",
"lres",
997 "glo",
"webr",
"file",
"exc",
998 "tst",
"svy",
"mep",
"qpl",
"spl");
1001 foreach($childs as $child)
1003 if (in_array($child[
"type"], array(
"lm",
"sahs",
"htlm")))
1009 $cnt[$child[
"type"]]++;
1014 $tpl->setVariable(
"TXT_HELP_HEADER",
$lng->txt(
"help"));
1015 foreach($type_ordering as $type)
1017 $tpl->setCurrentBlock(
"row");
1018 $tpl->setVariable(
"ROWCOL",
"tblrow".((($i++)%2)+1));
1019 if ($type !=
"lres")
1021 $tpl->setVariable(
"TYPE",
$lng->txt(
"objs_".$type).
1022 " (".((int)$cnt[$type]).
")");
1026 $tpl->setVariable(
"TYPE",
$lng->txt(
"learning_resources").
1027 " (".((int)$cnt[
"lres"]).
")");
1029 $tpl->setVariable(
"TXT_LINK",
"[list-".$type.
"]");
1030 $tpl->parseCurrentBlock();
1042 $this->adminCommands =
false;
1074 $tpl =
new ilTemplate(
"tpl.container_list_block.html",
true,
true,
1075 "Services/Container");
1076 $this->cur_row_type =
"row_type_1";
1094 $a_tpl->setCurrentBlock(
"container_header_row_image");
1095 $a_tpl->setVariable(
"HEADER_IMG", $icon);
1096 $a_tpl->setVariable(
"HEADER_ALT",
$title);
1100 $a_tpl->setCurrentBlock(
"container_header_row");
1103 $a_tpl->setVariable(
"BLOCK_HEADER_CONTENT",
$title);
1104 $a_tpl->parseCurrentBlock();
1105 $a_tpl->touchBlock(
"container_row");
1118 $this->cur_row_type = ($this->cur_row_type ==
"row_type_1")
1122 $a_tpl->touchBlock($this->cur_row_type);
1125 if ($this->
ilias->getSetting(
"icon_position_in_lists") ==
"item_rows")
1128 $alt = $this->lng->txt(
"obj_".$a_image_type);
1131 if ($this->
ilias->getSetting(
"custom_icons") &&
1132 in_array($a_image_type, array(
"cat",
"grp",
"crs")))
1134 require_once(
"./Services/Container/classes/class.ilContainer.php");
1141 $a_tpl->setCurrentBlock(
"block_row_image");
1142 $a_tpl->setVariable(
"ROW_IMG", $icon);
1143 $a_tpl->setVariable(
"ROW_ALT", $alt);
1144 $a_tpl->parseCurrentBlock();
1150 $a_tpl->setCurrentBlock(
"block_row_check");
1151 $a_tpl->setVariable(
"ITEM_ID", $a_item_ref_id);
1152 $a_tpl->parseCurrentBlock();
1155 include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
1159 $a_tpl->setCurrentBlock(
'block_position');
1160 $a_tpl->setVariable(
'POS_TYPE',$a_image_type);
1161 $a_tpl->setVariable(
'POS_ID',$a_item_ref_id);
1162 $a_tpl->setVariable(
'POSITION',
sprintf(
'%.1f',$this->current_position++));
1163 $a_tpl->parseCurrentBlock();
1167 $a_tpl->setVariable(
"ROW_NBSP",
" ");
1169 $a_tpl->setCurrentBlock(
"container_standard_row");
1170 $a_tpl->setVariable(
"BLOCK_ROW_CONTENT", $a_html);
1171 $a_tpl->parseCurrentBlock();
1172 $a_tpl->touchBlock(
"container_row");
1180 $this->cur_row_type = ($this->cur_row_type ==
"row_type_1")
1184 $a_tpl->touchBlock($this->cur_row_type);
1186 $type = $this->lng->txt(
"obj_".
$a_type);
1187 $a_message = str_replace(
"[type]", $type, $a_message);
1189 $a_tpl->setVariable(
"ROW_NBSP",
" ");
1191 $a_tpl->setCurrentBlock(
"container_standard_row");
1192 $a_tpl->setVariable(
"BLOCK_ROW_CONTENT",
1194 $a_tpl->parseCurrentBlock();
1195 $a_tpl->touchBlock(
"container_row");
1200 $this->cur_row_type =
"";
1212 || strtolower($this->ctrl->getCmdClass()) !=
"ilcontainerpagegui")
1217 $lng->loadLanguageModule(
"content");
1222 $this->tabs_gui->setBackTarget($this->lng->txt(
"obj_cat"),
1223 $this->ctrl->getLinkTarget($this,
"frameset"),
1226 $this->tabs_gui->addTarget(
"edit", $this->ctrl->getLinkTargetByClass(
"ilcontainerpagegui",
"view")
1227 , array(
"",
"view"),
"ilcontainerpagegui");
1239 if (!is_object($this->
object))
1244 if ($a_include_view && $ilAccess->checkAccess(
"read",
"", $this->object->getRefId()))
1248 $ilTabs->addSubTab(
"view_content",
$lng->txt(
"view"),
$ilCtrl->getLinkTarget($this,
"view"));
1252 $ilTabs->addSubTab(
"view_content",
$lng->txt(
"view"),
$ilCtrl->getLinkTarget($this,
"disableAdministrationPanel"));
1256 if (
$ilUser->getId() != ANONYMOUS_USER_ID &&
1257 ($this->adminCommands ||
1258 (is_object($this->
object) &&
1259 ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())))
1261 (is_object($this->
object) &&
1262 ($this->object->getHiddenFilesFound())) ||
1269 $ilTabs->addSubTab(
"manage",
$lng->txt(
"cntr_manage"),
$ilCtrl->getLinkTarget($this,
""));
1273 $ilTabs->addSubTab(
"manage",
$lng->txt(
"cntr_manage"),
$ilCtrl->getLinkTarget($this,
"enableAdministrationPanel"));
1276 if (
$ilUser->getId() != ANONYMOUS_USER_ID &&
1277 is_object($this->
object) &&
1278 $ilAccess->checkAccess(
"write",
"", $this->object->getRefId())
1282 $ilTabs->addSubTab(
"ordering",
$lng->txt(
"cntr_ordering"),
$ilCtrl->getLinkTarget($this,
"editOrder"));
1284 if (
$ilUser->getId() != ANONYMOUS_USER_ID &&
1285 is_object($this->
object) &&
1286 $ilAccess->checkAccess(
"write",
"", $this->object->getRefId())
1291 $ilTabs->addSubTab(
"page_editor",
$lng->txt(
"cntr_text_media_editor"),
$ilCtrl->getLinkTarget($this,
"editPageFrame"),
1307 if ($rbacsystem->checkAccess(
'edit_permission',$this->ref_id))
1309 $this->tabs_gui->addTarget(
"perm_settings",
1310 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"),
1311 array(
"perm",
"info",
"owner"),
'ilpermissiongui');
1312 if (
$ilCtrl->getNextClass() ==
"ilpermissiongui")
1314 $this->tabs_gui->activateTab(
"perm_settings");
1319 if (strtolower(
$_GET[
"baseClass"]) ==
"ilrepositorygui" && !empty(
$_SESSION[
"clipboard"]))
1321 $this->tabs_gui->addTarget(
"clipboard",
1322 $this->ctrl->getLinkTarget($this,
"clipboard"),
"clipboard", get_class($this));
1337 $_SESSION[
"il_cont_admin_panel"] =
true;
1338 $this->ctrl->redirect($this,
"render");
1346 $_SESSION[
"il_cont_admin_panel"] =
false;
1347 $this->ctrl->redirect($this,
"render");
1357 $this->edit_order =
true;
1358 $_SESSION[
"il_cont_admin_panel"] =
false;
1361 $ilTabs->activateSubTab(
"ordering");
1370 return $this->edit_order ? true :
false;
1393 if((
int)
$ilSetting->get(
'disable_my_offers'))
1398 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
1411 if((
int)
$ilSetting->get(
'disable_my_offers'))
1416 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
1424 $this->multi_download_enabled =
true;
1438 if (!$rbacsystem->checkAccess(
"write",
$_GET[
'item_ref_id']))
1440 $this->ilErr->raiseError($this->lng->txt(
'err_no_permission'),$this->ilErr->MESSAGE);
1444 require_once (
'Services/WebDAV/classes/class.ilDAVActivationChecker.php');
1447 require_once
'Services/WebDAV/classes/class.ilDAVServer.php';
1450 require_once
'Services/WebDAV/classes/class.ilDAVLocks.php';
1455 'ref_'.$_GET[
'item_ref_id'].
'_usr_'.
$ilUser->getId(),
1456 time() + 60, 0,
'exclusive'
1480 if (
$_GET[
"item_ref_id"] !=
"")
1487 if (!isset(
$_POST[
"id"]))
1489 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1496 $node_data = $this->tree->getNodeData(
$ref_id);
1497 $subtree_nodes = $this->tree->getSubTree($node_data);
1499 $all_node_data[] = $node_data;
1500 $all_subtree_nodes[] = $subtree_nodes;
1503 foreach ($subtree_nodes as $node)
1505 if($node[
'type'] ==
'rolf')
1510 if (!$rbacsystem->checkAccess(
'delete',$node[
"ref_id"]))
1512 $no_cut[] = $node[
"ref_id"];
1520 foreach((array) $no_cut as $cut_id)
1524 $this->
ilias->raiseError(
1525 $this->lng->txt(
"msg_no_perm_cut").
" ".implode(
',',(array) $titles),
1526 $this->
ilias->error_obj->MESSAGE
1530 $_SESSION[
"clipboard"][
"cmd"] = $ilCtrl->getCmd();
1549 if (
$_GET[
"item_ref_id"] !=
"")
1554 if (!isset(
$_POST[
"id"]))
1556 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1564 $node_data = $this->tree->getNodeData(
$ref_id);
1572 $subtree_nodes = $this->tree->getSubTree($node_data);
1574 $all_node_data[] = $node_data;
1575 $all_subtree_nodes[] = $subtree_nodes;
1578 foreach ($subtree_nodes as $node)
1580 if($node[
'type'] ==
'rolf')
1585 if (!$rbacsystem->checkAccess(
'visible,read,copy',$node[
"ref_id"]))
1587 $no_copy[] = $node[
"ref_id"];
1592 if ($containers > 0 && count(
$_POST[
"id"]) > 1)
1594 $this->
ilias->raiseError($this->lng->txt(
"cntr_container_only_on_their_own"), $this->ilias->error_obj->MESSAGE);
1598 if (count($no_copy))
1601 foreach((array) $no_copy as $copy_id)
1605 $this->
ilias->raiseError(
1606 $this->lng->txt(
"msg_no_perm_copy") .
" " . implode(
',',$titles),
1607 $this->
ilias->error_obj->MESSAGE);
1611 if (count(
$_POST[
"id"]) == 1)
1613 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"source_id",
$_POST[
"id"][0]);
1614 $ilCtrl->redirectByClass(
"ilobjectcopygui",
"initTargetSelection");
1618 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"source_ids", implode(
$_POST[
"id"],
"_"));
1619 $ilCtrl->redirectByClass(
"ilobjectcopygui",
"initTargetSelection");
1635 if (
$_GET[
"item_ref_id"] !=
"")
1640 if (!isset(
$_POST[
"id"]))
1642 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1648 $object =& $this->
ilias->obj_factory->getInstanceByRefId($ref_id);
1649 $obj_type =
$object->getType();
1650 if (!in_array($obj_type, array(
"fold",
"file")))
1652 $no_download[] =
$object->getType();
1654 else if (!$rbacsystem->checkAccess(
'read',
$ref_id))
1661 if (count($no_download))
1663 $no_download = array_unique($no_download);
1664 foreach ($no_download as $type)
1666 $txt_objs[] = $this->lng->txt(
"objs_".$type);
1668 $this->
ilias->raiseError(implode(
', ',$txt_objs).
" ".$this->lng->txt(
"msg_obj_no_download"),$this->ilias->error_obj->MESSAGE);
1672 if (count($no_perm))
1674 $this->
ilias->raiseError(
1675 $this->lng->txt(
"msg_obj_perm_download").
" ".implode(
',',$no_perm),
1676 $this->
ilias->error_obj->MESSAGE);
1685 global
$lng, $rbacsystem, $ilAccess;
1687 include_once
'Modules/Folder/classes/class.ilObjFolder.php';
1688 include_once
'Modules/File/classes/class.ilObjFile.php';
1689 include_once
'Modules/File/classes/class.ilFileException.php';
1699 foreach ($a_ref_ids as
$ref_id)
1701 if (!$ilAccess->checkAccess(
"read",
"",
$ref_id))
1708 $object =& $this->
ilias->obj_factory->getInstanceByRefId($ref_id);
1709 $obj_type =
$object->getType();
1710 if ($obj_type ==
"fold")
1715 else if ($obj_type ==
"file")
1723 $deliverFilename = ilUtil::getAsciiFilename($this->object->getTitle()) .
".zip";
1745 global $rbacsystem,
$tree, $ilAccess;
1750 $subtree =
$tree->getChildsByTypeFilter($refid, array(
"fold",
"file"));
1752 foreach ($subtree as $child)
1754 if (!$ilAccess->checkAccess(
"read",
"", $child[
"ref_id"]))
1760 if ($child[
"type"] ==
"fold")
1773 if (!copy($oldFilename, $newFilename))
1774 throw new ilFileException(
"Could not copy ".$oldFilename.
" to ".$newFilename);
1776 touch($newFilename, filectime($oldFilename));
1787 global $clipboard, $rbacsystem, $rbacadmin,
$ilCtrl;
1789 if (
$_GET[
"item_ref_id"] !=
"")
1794 if (!isset(
$_POST[
"id"]))
1796 $this->
ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1802 if (!$rbacsystem->checkAccess(
'delete',
$ref_id))
1807 $object =& $this->
ilias->obj_factory->getInstanceByRefId($ref_id);
1809 if (!$this->objDefinition->allowLink(
$object->getType()))
1811 $no_link[] =
$object->getType();
1818 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_link").
" ".
1819 implode(
',',$no_cut),$this->
ilias->error_obj->MESSAGE);
1822 if (count($no_link))
1825 $this->
ilias->raiseError($this->lng->txt(
"msg_obj_no_link"),$this->ilias->error_obj->MESSAGE);
1832 $clipboard[
"parent"] =
$_GET[
"ref_id"];
1833 $clipboard[
"cmd"] =
$ilCtrl->getCmd();
1837 $clipboard[
"ref_ids"][] =
$ref_id;
1843 if(count($clipboard[
"ref_ids"]) == 1)
1867 if (isset(
$_POST[
"cmd"][
"clear"]))
1871 $this->ctrl->redirect($this,
'render');
1877 global $rbacsystem, $rbacadmin, $rbacreview,
$log,
$tree, $ilObjDataCache,
$ilUser;
1879 $command =
$_SESSION[
'clipboard'][
'cmd'];
1880 if(!in_array($command, array(
'cut',
'link',
'copy')))
1882 $message = __METHOD__.
": cmd was neither 'cut', 'link' nor 'copy'; may be a hack attempt!";
1883 $this->
ilias->raiseError($message, $this->
ilias->error_obj->WARNING);
1886 if($command ==
'cut')
1892 if(!is_array(
$_POST[
'nodes']) || !count(
$_POST[
'nodes']))
1911 $folder_objects_cache = array();
1915 $current_parent_id =
$tree->getParentId($obj_data->getRefId());
1917 foreach(
$_POST[
'nodes'] as $folder_ref_id)
1919 if(!array_key_exists($folder_ref_id, $folder_objects_cache))
1925 if(!$rbacsystem->checkAccess(
'create', $folder_ref_id, $obj_data->getType()))
1927 $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().
']');
1931 if($folder_ref_id == $current_parent_id)
1933 $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().
']');
1940 $is_child[] =
sprintf($this->lng->txt(
'msg_paste_object_not_in_itself'), $obj_data->getTitle().
' ['.$obj_data->getRefId().
']');
1944 if(!in_array($obj_data->getType(), array_keys($folder_objects_cache[$folder_ref_id]->getPossibleSubObjects())))
1946 $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().
']',
1947 $GLOBALS[
'lng']->txt(
'obj_'.$obj_data->getType()));
1954 if(count($exists) && $command !=
"copy")
1956 $error .= implode(
'<br />', $exists);
1959 if(count($is_child))
1962 $error .= implode(
'<br />', $is_child);
1965 if(count($not_allowed_subobject))
1968 $error .= implode(
'<br />', $not_allowed_subobject);
1971 if(count($no_paste))
1974 $error .= implode(
'<br />', $no_paste);
1996 $log->write(__METHOD__.
", cmd: ".$command);
2002 $ref_ids =
$_SESSION[
'clipboard'][
'ref_ids'];
2003 unset(
$_SESSION[
'clipboard'][
'ref_ids']);
2006 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
2010 if($command ==
'copy')
2012 foreach(
$_POST[
'nodes'] as $folder_ref_id)
2016 $revIdMapping = array();
2019 if ($oldNode_data[
'parent'] == $folder_ref_id)
2021 require_once
'Modules/File/classes/class.ilObjFileAccess.php';
2023 $newRef = $this->
cloneNodes($ref_id, $folder_ref_id, $refIdMapping, $newTitle);
2027 $newRef = $this->
cloneNodes($ref_id, $folder_ref_id, $refIdMapping,
null);
2032 $newNode_data =
$tree->getNodeData($newRef);
2034 $oldNode_data[
'obj_id'],
$ilUser->getId());
2036 $ilObjDataCache->lookupObjId($folder_ref_id));
2046 if($command ==
'cut')
2048 foreach(
$_POST[
'nodes'] as $folder_ref_id)
2055 $rbacadmin->adjustMovedObjectPermissions(
$ref_id, $old_parent);
2057 include_once(
'./Services/AccessControl/classes/class.ilConditionHandler.php');
2062 $old_parent_data =
$tree->getNodeData($old_parent);
2064 $old_parent_data[
'obj_id']);
2066 $ilObjDataCache->lookupObjId($folder_ref_id));
2079 if($command ==
'link')
2081 $linked_to_folders = array();
2083 include_once
"Services/AccessControl/classes/class.ilRbacLog.php";
2086 foreach(
$_POST[
'nodes'] as $folder_ref_id)
2088 $linked_to_folders[$folder_ref_id] = $ilObjDataCache->lookupTitle($ilObjDataCache->lookupObjId($folder_ref_id));
2100 foreach($subnodes as $key => $subnode)
2104 $new_ref_id = $obj_data->createReference();
2105 $obj_data->putInTree($folder_ref_id);
2106 $obj_data->setPermissions($folder_ref_id);
2109 if($rbac_log_active)
2111 $rbac_log_roles = $rbacreview->getParentRoleIds($new_ref_id,
false);
2117 $node_data =
$tree->getNodeData($new_ref_id);
2119 $ilObjDataCache->lookupObjId($folder_ref_id));
2124 $log->write(__METHOD__.
', link finished');
2127 $linked_targets = array();
2128 if(count($linked_to_folders))
2130 require_once
'Services/Link/classes/class.ilLink.php';
2138 if(count($ref_ids) == 1)
2142 ilUtil::sendSuccess(
sprintf($this->lng->txt(
'mgs_objects_linked_to_the_following_folders_' . $suffix), implode(
', ', $linked_targets)),
true);
2148 $this->ctrl->returnToParent($this);
2156 $_SESSION[
'paste_linked_repexpand'] = array();
2163 foreach((array)
$path as $node_id)
2165 if(!in_array($node_id,
$_SESSION[
'paste_linked_repexpand']))
2166 $_SESSION[
'paste_linked_repexpand'][] = $node_id;
2177 global $ilTabs, $ilToolbar;
2179 $ilTabs->setTabActive(
'view_content');
2181 if(!in_array(
$_SESSION[
'clipboard'][
'cmd'], array(
'link',
'copy',
'cut')))
2183 $message = __METHOD__.
": Unknown action.";
2184 $this->
ilias->raiseError($message, $this->
ilias->error_obj->WARNING);
2190 if ($exp->handleCommand())
2196 $txt_var = (
$cmd ==
"copy")
2202 $t->setFormAction($this->ctrl->getFormAction($this,
"performPasteIntoMultipleObjects"));
2204 include_once(
"./Services/UIComponent/Button/classes/class.ilSubmitButton.php");
2206 $b->setCaption($txt_var);
2207 $b->setCommand(
"performPasteIntoMultipleObjects");
2210 $t->addStickyItem($b);
2213 $this->lng->loadLanguageModule(
'obj');
2214 $t->addFormButton($this->lng->txt(
"obj_insert_into_clipboard"),
"keepObjectsInClipboard");
2216 $t->addFormButton($this->lng->txt(
"cancel"),
"cancelMoveLink");
2217 $t->setCloseFormTag(
false);
2221 $t->setCloseFormTag(
true);
2222 $t->setOpenFormTag(
false);
2223 $output.=
"<br />".$t->getHTML();
2225 $this->tpl->setContent(
$output);
2286 $GLOBALS[
'ilCtrl']->returnToParent($this);
2295 $GLOBALS[
'ilCtrl']->returnToParent($this);
2304 $_SESSION[
'paste_copy_repexpand'] = array();
2311 foreach((array)
$path as $node_id)
2313 if(!in_array($node_id,
$_SESSION[
'paste_copy_repexpand']))
2314 $_SESSION[
'paste_copy_repexpand'][] = $node_id;
2373 $_SESSION[
'paste_cut_repexpand'] = array();
2380 foreach((array)
$path as $node_id)
2382 if(!in_array($node_id,
$_SESSION[
'paste_cut_repexpand']))
2383 $_SESSION[
'paste_cut_repexpand'][] = $node_id;
2446 global $rbacsystem, $rbacadmin, $rbacreview,
$log,
$tree;
2450 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
2454 if (!in_array(
$_SESSION[
"clipboard"][
"cmd"],array(
"cut",
"link",
"copy")))
2456 $message = get_class($this).
"::pasteObject(): cmd was neither 'cut','link' or 'copy'; may be a hack attempt!";
2457 $this->
ilias->raiseError($message,$this->
ilias->error_obj->WARNING);
2463 $obj_data =& $this->
ilias->obj_factory->getInstanceByRefId($ref_id);
2466 if (!$rbacsystem->checkAccess(
'create',$this->object->getRefId(), $obj_data->getType()))
2469 $no_paste_titles[] = $obj_data->getTitle();
2473 if ($this->object->getRefId() == $this->tree->getParentId($obj_data->getRefId()))
2480 if ($this->tree->isGrandChild(
$ref_id,$this->object->getRefId()))
2485 if (
$ref_id == $this->object->getRefId())
2491 $obj_type = $obj_data->getType();
2493 if (!in_array($obj_type, array_keys($this->object->getPossibleSubObjects())))
2495 $not_allowed_subobject[] = $obj_data->getType();
2502 if (count($exists) &&
$_SESSION[
"clipboard"][
"cmd"] !=
"copy")
2505 $this->
ilias->raiseError($this->lng->txt(
"msg_obj_exists"),$this->ilias->error_obj->MESSAGE);
2508 if (count($is_child))
2510 $this->
ilias->raiseError($this->lng->txt(
"msg_not_in_itself").
" ".implode(
',',$is_child),
2511 $this->
ilias->error_obj->MESSAGE);
2514 if (count($not_allowed_subobject))
2516 $this->
ilias->raiseError($this->lng->txt(
"msg_may_not_contain").
" ".implode(
',',$not_allowed_subobject),
2517 $this->
ilias->error_obj->MESSAGE);
2520 if (count($no_paste))
2522 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_paste").
" ".
2523 implode(
',',$no_paste),$this->
ilias->error_obj->MESSAGE);
2527 $log->write(
"ilObjectGUI::pasteObject(), cmd: ".
$_SESSION[
"clipboard"][
"cmd"]);
2533 $ref_ids =
$_SESSION[
"clipboard"][
"ref_ids"];
2534 unset(
$_SESSION[
"clipboard"][
"ref_ids"]);
2538 if (
$_SESSION[
"clipboard"][
"cmd"] ==
"copy")
2543 if (count($ref_ids) == 1)
2545 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"target", $this->object->getRefId());
2546 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"source_id", $ref_ids[0]);
2547 $ilCtrl->redirectByClass(
"ilobjectcopygui",
"saveTarget");
2551 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"target", $this->object->getRefId());
2552 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"source_ids", implode($ref_ids,
"_"));
2553 $ilCtrl->redirectByClass(
"ilobjectcopygui",
"saveTarget");
2587 $log->write(
"ilObjectGUI::pasteObject(), copy finished");
2592 if (
$_SESSION[
"clipboard"][
"cmd"] ==
"cut")
2599 $this->tree->moveTree(
$ref_id,$this->object->getRefId());
2600 $rbacadmin->adjustMovedObjectPermissions(
$ref_id,$old_parent);
2602 include_once(
'./Services/AccessControl/classes/class.ilConditionHandler.php');
2607 $old_parent_data =
$tree->getNodeData($old_parent);
2609 $old_parent_data[
'obj_id']);
2611 $this->object->getId());
2618 if (
$_SESSION[
"clipboard"][
"cmd"] ==
"link")
2623 $top_node = $this->tree->getNodeData(
$ref_id);
2626 $subnodes[
$ref_id] = $this->tree->getSubtree($top_node);
2630 foreach ($subnodes as $key => $subnode)
2633 $obj_data =& $this->
ilias->obj_factory->getInstanceByRefId($key);
2634 $new_ref_id = $obj_data->createReference();
2635 $obj_data->putInTree(
$_GET[
"ref_id"]);
2636 $obj_data->setPermissions(
$_GET[
"ref_id"]);
2639 $node_data =
$tree->getNodeData($new_ref_id);
2641 $this->object->getId());
2646 $log->write(
"ilObjectGUI::pasteObject(), link finished");
2651 $last_cmd =
$_SESSION[
"clipboard"][
"cmd"];
2657 if ($last_cmd ==
"cut")
2662 else if ($last_cmd ==
"copy")
2666 else if ($last_cmd ==
'link')
2672 $this->ctrl->returnToParent($this);
2684 $ilTabs->activateTab(
"clipboard");
2689 $message =
sprintf(
'%s::clipboardObject(): Illegal access. Clipboard variable is empty!', get_class($this));
2691 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->WARNING);
2703 "type" => $tmp_obj->getType(),
2704 "type_txt" => $this->lng->txt(
"obj_".$tmp_obj->getType()),
2705 "title" => $tmp_obj->getTitle(),
2706 "cmd" => (
$_SESSION[
"clipboard"][
"cmd"] ==
"cut") ? $this->lng->txt(
"move") :$this->lng->txt(
$_SESSION[
"clipboard"][
"cmd"]),
2708 "obj_id" => $tmp_obj->getId()
2714 include_once(
"./Services/Object/classes/class.ilObjClipboardTableGUI.php");
2719 if (count(
$data) > 0)
2721 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
2722 $ilToolbar->addFormButton(
$lng->txt(
"insert_object_here"),
2724 $ilToolbar->addFormButton(
$lng->txt(
"clear_clipboard"),
2738 if ($this->
ilias->getSetting(
"custom_icons"))
2793 $custom_icon = $this->
object->getCustomIconPath();
2799 $title->setTitle($this->lng->txt(
"icon_settings"));
2805 $a_form->addItem(
$title);
2829 $caption = $this->lng->txt(
"cont_custom_icon");
2831 $icon->setSuffixes(array(
"svg"));
2832 $icon->setImage($custom_icon);
2835 $a_form->addItem($icon);
2839 $title->addSubItem($icon);
2869 $this->object->getRefId() &&
2870 !$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
2875 return $_SESSION[
"il_cont_admin_panel"];
2884 parent::setColumnSettings($column_gui);
2886 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()) &&
2887 $this->isActiveAdministrationPanel() &&
2888 $this->allowBlocksMoving())
2894 $this->object->getSubItems($this->isActiveAdministrationPanel(),
true));
2898 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
2960 include_once(
'Services/CopyWizard/classes/class.ilCopyWizardPageFactory.php');
2962 global $ilObjDataCache,
$tree;
2964 if(!$_REQUEST[
'clone_source'])
2967 if(isset(
$_SESSION[
'wizard_search_title']))
2969 $this->searchCloneSourceObject();
2977 $source_id = $_REQUEST[
'clone_source'];
2978 $new_type = $_REQUEST[
'new_type'];
2979 $this->ctrl->setParameter($this,
'clone_source',(
int) $_REQUEST[
'clone_source']);
2980 $this->ctrl->setParameter($this,
'new_type',$new_type);
2984 $this->tpl->addJavaScript(
'./Services/CopyWizard/js/ilContainer.js');
2985 $this->tpl->setVariable(
'BODY_ATTRIBUTES',
'onload="ilDisableChilds(\'cmd\');"');
2988 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.container_wizard_page.html',
2989 "Services/Container");
2990 $this->tpl->setVariable(
'FORMACTION',$this->ctrl->getFormAction($this));
2992 $this->tpl->setVariable(
'ALT_IMG',$this->lng->txt(
'obj_'.$new_type));
2993 $this->tpl->setVariable(
'TXT_DUPLICATE',$this->lng->txt($new_type.
'_wizard_page'));
2994 $this->tpl->setVariable(
'INFO_DUPLICATE',$this->lng->txt($new_type.
'_copy_threads_info'));
2995 $this->tpl->setVariable(
'BTN_COPY',$this->lng->txt(
'obj_'.$new_type.
'_duplicate'));
2996 $this->tpl->setVariable(
'BTN_BACK',$this->lng->txt(
'btn_back'));
2997 if(isset(
$_SESSION[
'wizard_search_title']))
2999 $this->tpl->setVariable(
'CMD_BACK',
'searchCloneSource');
3003 $this->tpl->setVariable(
'CMD_BACK',
'create');
3006 $this->tpl->setVariable(
'BTN_TREE',$this->lng->txt(
'treeview'));
3007 $this->tpl->setVariable(
'BTN_LIST',$this->lng->txt(
'flatview'));
3015 foreach($subnodes =
$tree->getSubtree($source_node =
$tree->getNodeData($source_id),
true) as $node)
3023 if($node[
'type'] ==
'rolf')
3030 for($i = $source_node[
'depth'];$i < $node[
'depth']; $i++)
3032 $this->tpl->touchBlock(
'padding');
3033 $this->tpl->touchBlock(
'end_padding');
3037 $copy_wizard_page->fillTreeSelection($node[
'ref_id'],$node[
'type'],$node[
'depth']);
3039 $this->tpl->setCurrentBlock(
'tree_row');
3041 $this->tpl->setVariable(
'TREE_ALT_IMG',$this->lng->txt(
'obj_'.$node[
'type']));
3042 $this->tpl->setVariable(
'TREE_TITLE',$node[
'title']);
3043 $this->tpl->parseCurrentBlock();
3047 $this->tpl->setCurrentBlock(
'no_content');
3048 $this->tpl->setVariable(
'TXT_NO_CONTENT',$this->lng->txt(
'container_no_items'));
3049 $this->tpl->parseCurrentBlock();
3053 $this->tpl->setCurrentBlock(
'tree_footer');
3054 $this->tpl->setVariable(
'TXT_COPY_ALL',$this->lng->txt(
'copy_all'));
3055 $this->tpl->setVariable(
'TXT_LINK_ALL',$this->lng->txt(
'link_all'));
3056 $this->tpl->setVariable(
'TXT_OMIT_ALL',$this->lng->txt(
'omit_all'));
3057 $this->tpl->parseCurrentBlock();
3063 foreach(
$tree->getSubTreeTypes($source_id,array(
'rolf',
'crs')) as $type)
3066 if(strlen(
$html = $copy_wizard_page->getWizardPageBlockHTML()))
3068 $this->tpl->setCurrentBlock(
'obj_row');
3069 $this->tpl->setVariable(
'ITEM_BLOCK',
$html);
3070 $this->tpl->parseCurrentBlock();
3087 include_once(
'./Services/Link/classes/class.ilLink.php');
3088 include_once(
'Services/CopyWizard/classes/class.ilCopyWizardOptions.php');
3092 $new_type = $_REQUEST[
'new_type'];
3094 $clone_source = (int) $_REQUEST[
'clone_source'];
3096 if(!$rbacsystem->checkAccess(
'create',
$ref_id,$new_type))
3098 $ilErr->raiseError($this->lng->txt(
'permission_denied'));
3106 if(!$ilAccess->checkAccess(
'write',
'', $clone_source,$new_type))
3108 $ilErr->raiseError($this->lng->txt(
'permission_denied'));
3115 include_once
'./Services/CopyWizard/classes/class.ilCopyWizardOptions.php';
3119 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$result[
'ref_id']);
3120 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
3125 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$ref_id);
3126 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
3140 include_once(
'Services/Container/classes/class.ilContainerSorting.php');
3144 $positions = str_replace(
',',
'.',
$_POST[
'position']);
3146 $sorting->savePost($positions);
3148 $this->ctrl->redirect($this,
"editOrder");
3168 $srcObj =&
$ilias->obj_factory->getInstanceByRefId($srcRef);
3169 error_log(__METHOD__.
' cloning srcRef='.$srcRef.
' dstRef='.$dstRef.
'...');
3170 $newRef = $srcObj->cloneObject($dstRef)->getRefId();
3171 error_log(__METHOD__.
' ...cloning... newRef='.$newRef.
'...');
3176 if (! is_null($newName))
3178 $newObj =&
$ilias->obj_factory->getInstanceByRefId($newRef);
3179 $newObj->setTitle($newName);
3184 $mapping[$newRef] = $srcRef;
3187 $children =
$tree->getChilds($srcRef);
3188 foreach (
$tree->getChilds($srcRef) as $child)
3192 if ($child[
"type"] !=
'rolf')
3194 $this->
cloneNodes($child[
"ref_id"],$newRef,$mapping);
3198 if (count($rolf =
$tree->getChildsByType($newRef,
"rolf")))
3200 $mapping[$rolf[0][
"ref_id"]] = $child[
"ref_id"];
3204 error_log(__METHOD__.
' ...cloned srcRef='.$srcRef.
' dstRef='.$dstRef.
' newRef='.$newRef);
3222 $a_item_list_gui->addCustomProperty(
$lng->txt(
'path'),
3223 ilContainer::buildPath($a_item_data[
'ref_id'], $this->object->getRefId()),
3235 $path_arr =
$tree->getPathFull($a_ref_id, $a_course_ref_id);
3237 foreach($path_arr as
$data)
3258 global $ilTabs,
$tpl;
3263 $tpl->setContent($this->form->getHTML());
3265 $ilTabs->activateTab(
"obj_sty");
3275 $tpl->setTreeFlatIcon(
"",
"");
3276 $ilTabs->clearTargets();
3281 $ilTabs->setBackTarget(
$lng->txt(
"cntr_back_to_old_editor"),
3282 $ilCtrl->getLinkTarget($this,
"switchToOldEditor"),
"_top");
3286 $ilTabs->setBackTarget(
$lng->txt(
"back"),
"./goto.php?target=".$this->object->getType().
"_".
3287 $this->object->getRefId(),
"_top");
3290 include_once(
"./Services/Container/classes/class.ilContainerPageGUI.php");
3292 $style_id = $this->
object->getStyleSheetId();
3295 $page_gui->setStyleId($style_id);
3301 $page_gui->setTabHook($this,
"addPageTabs");
3303 $ilTabs->setTabActive(
"obj_sty");
3305 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
3306 $lng->loadLanguageModule(
"style");
3308 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
3311 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
3314 if ($fixed_style > 0)
3318 $this->lng->txt(
"global_fixed").
")");
3319 $this->form->addItem($st);
3326 $st_styles[0] = $this->lng->txt(
"default");
3336 $this->form->addItem($st);
3341 $this->form->addCommandButton(
"editStyle",
3342 $lng->txt(
"style_edit_style"));
3343 $this->form->addCommandButton(
"deleteStyle",
3344 $lng->txt(
"style_delete_style"));
3352 $st_styles,
false,
true);
3354 $style_sel->setOptions($st_styles);
3355 $style_sel->setValue($style_id);
3356 $this->form->addItem($style_sel);
3358 $this->form->addCommandButton(
"saveStyleSettings",
3360 $this->form->addCommandButton(
"createStyle",
3361 $lng->txt(
"sty_create_ind_style"));
3364 $this->form->setTitle(
$lng->txt(
"obj_sty"));
3365 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
3375 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
3385 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
3395 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
3405 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
3406 if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
3408 || $this->object->getStyleSheetId() == 0))
3411 $this->
object->update();
3414 $this->ctrl->redirect($this,
"editStyleProperties");
3431 include_once
'Services/Object/classes/class.ilObjectListGUIFactory.php';
3433 $item_list_gui->setContainerObject($this);
3435 $item_list_gui->enableComments(
true);
3436 $item_list_gui->enableNotes(
true);
3437 $item_list_gui->enableTags(
true);
3444 global $ilPluginAdmin;
3445 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
3446 foreach ($pl_names as $pl)
3449 $gui_class = $ui_plugin->getUIClassInstance();
3450 $resp = $gui_class->getHTML(
"Services/Container",
"async_item_list", array(
"html" =>
$html));
3453 $html = $gui_class->modifyHTML(
$html, $resp);
3467 global
$tpl,$ilToolbar;
3475 include_once (
'Services/WebDAV/classes/class.ilDAVServer.php');
3477 $ilToolbar->addButton(
3478 $this->lng->txt(
'mount_webfolder'),
3479 $davServer->getMountURI($this->object->getRefId()),
3482 $davServer->getFolderURI($this->object->getRefId())
3485 $tpl->setContent($this->form->getHTML());
3494 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3496 $this->form->setFormAction($this->ctrl->getFormAction($this));
3499 $ipass =
new ilPasswordInputGUI($this->lng->txt(
"desired_password"),
"new_password");
3500 $ipass->setRequired(
true);
3502 $this->form->addItem($ipass);
3503 $this->form->addCommandButton(
"savePassword", $this->lng->txt(
"save"));
3504 $this->form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
3506 $this->form->setTitle($this->lng->txt(
"chg_ilias_and_webfolder_password"));
3507 $this->form->setFormAction($this->ctrl->getFormAction($this));
3521 if($form->checkInput())
3523 $ilUser->resetPassword($this->form->getInput(
'new_password'),$this->form->getInput(
'new_password'));
3528 $form->setValuesByPost();
3544 $item_data = $this->
object->getSubItems(
false,
false, (
int)
$_GET[
"child_ref_id"]);
3548 include_once
'./Modules/Session/classes/class.ilEventItems.php';
3550 if(in_array((
int)
$_GET[
"child_ref_id"], $event_items))
3552 include_once(
'./Services/Object/classes/class.ilObjectActivation.php');
3553 foreach ($this->object->items[
"sess"] as $id)
3556 foreach($items as $event_item)
3558 if ($event_item[
"child"] == (
int)
$_GET[
"child_ref_id"])
3561 if((
int)
$_GET[
"parent_ref_id"])
3563 $event_item[
"parent"] = (int)
$_GET[
"parent_ref_id"];
3565 $html = $container_view->renderItem($event_item);
3574 foreach ($this->object->items[
"_all"] as $id)
3576 if ($id[
"child"] == (
int)
$_GET[
"child_ref_id"])
3578 $html = $container_view->renderItem($id);
3588 echo
$tpl->getOnLoadCodeForAsynch();
3603 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
3606 include_once
'./Services/WebServices/FileManager/classes/class.ilFMSettings.php';
3611 $lg->addCustomCommand($this->ctrl->getLinkTarget($this,
'fileManagerLaunch'),
'fm_start',
'_blank');
3625 $tpl =
new ilTemplate(
'tpl.fm_launch_ws.html',
false,
false,
'Services/WebServices/FileManager');
3626 $tpl->setVariable(
'JNLP_URL',ILIAS_HTTP_PATH.
'/Services/WebServices/FileManager/lib/dist/FileManager.jnlp');
3627 $tpl->setVariable(
'SESSION_ID',
$_COOKIE[
'PHPSESSID'].
'::'.CLIENT_ID);
3629 $tpl->setVariable(
'REF_ID', $this->object->getRefId());
3630 $tpl->setVariable(
'WSDL_URI', ILIAS_HTTP_PATH.
'/webservice/soap/server.php?wsdl');
3632 $tpl->setVariable(
'REST_URI',ILIAS_HTTP_PATH.
'/Services/WebServices/Rest/server.php');
3633 $tpl->setVariable(
'FILE_LOCKS',0);
3636 include_once(
"./Modules/SystemFolder/classes/class.ilObjSystemFolder.php");
3637 $header_top_title = ilObjSystemFolder::_getHeaderTitle();
3638 $tpl->setVariable(
'HEADER_TITLE',$header_top_title ? $header_top_title :
'');
3652 if (!empty(
$_GET[
"set_mode"]))
3655 if (
$ilUser->getId() != ANONYMOUS_USER_ID)
3664 if (
$ilUser->getId() != ANONYMOUS_USER_ID)
3676 $mode = (
$_SESSION[
"il_rep_mode"] !=
"")
3681 if ($mode ==
"tree" && (strtolower(
$_GET[
"baseClass"]) !=
"iladministrationgui"))
3683 include_once(
"./Services/Repository/classes/class.ilRepositoryExplorerGUI.php");
3685 if (!$exp->handleCommand())
3687 $tpl->setLeftNavContent($exp->getHTML());
3699 include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
3700 include_once
'./Services/Container/classes/class.ilContainer.php';
3708 $sort_inherit->setTitle(
3709 $this->lng->txt(
'sort_inherit_prefix').
3710 ' ('.ilContainerSortingSettings::sortModeToString(
3712 $this->object->getId())).
') '
3715 $sort_inherit->setInfo($this->lng->txt(
'sorting_info_inherit'));
3716 $sort->addOption($sort_inherit);
3721 $this->lng->txt(
'sorting_title_header'),
3724 $sort_title->setInfo($this->lng->txt(
'sorting_info_title'));
3727 $sort->addOption($sort_title);
3732 $sort_activation->setInfo($this->lng->txt(
'sorting_creation_info'));
3734 $sort->addOption($sort_activation);
3739 $sort_activation->setInfo($this->lng->txt(
'crs_sort_timing_info'));
3741 $sort->addOption($sort_activation);
3746 $this->lng->txt(
'sorting_manual_header'),
3749 $sort_manual->setInfo($this->lng->txt(
'sorting_info_manual'));
3751 $sort->addOption($sort_manual);
3755 if(in_array($settings->getSortMode(), $a_sorting_settings))
3757 $sort->setValue($settings->getSortMode());
3774 if($a_prefix ==
'manual')
3776 $txt = $this->lng->txt(
'sorting_new_items_direction');
3780 $txt = $this->lng->txt(
'sorting_direction');
3785 $direction->setRequired(TRUE);
3789 $this->lng->txt(
'sorting_asc'),
3792 $direction->addOption($asc);
3796 $this->lng->txt(
'sorting_desc'),
3799 $direction->addOption($desc);
3801 $element->addSubItem($direction);
3811 $a_sorting_settings)
3813 $position =
new ilRadioGroupInputGUI($this->lng->txt(
'sorting_new_items_position'),$a_prefix.
'_new_items_position');
3815 $position->setRequired(TRUE);
3819 $this->lng->txt(
'sorting_new_items_at_top'),
3823 $position->addOption($new_top);
3827 $this->lng->txt(
'sorting_new_items_at_bottom'),
3831 $position->addOption($new_bottom);
3833 $element->addSubItem($position);
3835 $order =
new ilRadioGroupInputGUI($this->lng->txt(
'sorting_new_items_order'),$a_prefix.
'_new_items_order');
3837 $order->setRequired(TRUE);
3843 $this->lng->txt(
'sorting_title_header'),
3847 $order->addOption($new_title);
3854 $this->lng->txt(
'sorting_creation_header'),
3858 $order->addOption($new_creation);
3866 $this->lng->txt(
'crs_sort_activation'),
3870 $order->addOption($new_activation);
3873 $element->addSubItem($order);
3886 include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
3888 $settings->setSortMode($form->
getInput(
"sorting"));
3893 $settings->setSortDirection($form->
getInput(
'title_sorting_direction'));
3896 $settings->setSortDirection($form->
getInput(
'activation_sorting_direction'));
3899 $settings->setSortDirection($form->
getInput(
'creation_sorting_direction'));
3902 $settings->setSortNewItemsPosition($form->
getInput(
'manual_new_items_position'));
3903 $settings->setSortNewItemsOrder($form->
getInput(
'manual_new_items_order'));
3904 $settings->setSortDirection($form->
getInput(
'manual_sorting_direction'));
3908 $settings->update();
3920 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3922 $ru->showTrashTable(
$_GET[
"ref_id"]);
3932 global
$log, $ilAppEventHandler,
$lng;
3934 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3936 $ru->removeObjectsFromSystem(
$_POST[
"trash_id"]);
3937 $this->ctrl->redirect($this,
"trash");
3945 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3947 $ru->restoreObjects(
$_GET[
"ref_id"],
$_POST[
"trash_id"]);
3948 $this->ctrl->redirect($this,
"trash");
3957 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3959 if(!isset(
$_POST[
"trash_id"]))
3962 $this->ctrl->redirect($this,
"trash");
3966 $ru->confirmRemoveFromSystemObject(
$_POST[
"trash_id"]);
3975 include_once(
"./Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php");
3981 $exp->setTypeWhiteList(array(
"root",
"cat",
"grp",
"crs",
"fold"));
3982 if (
$cmd ==
"link") {
3983 $exp->setSelectMode(
"nodes",
true);
3986 $exp->setSelectMode(
"nodes[]",
false);
3996 $this->ctrl->setReturn($this,
"");
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
static _catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static _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.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
Column user interface class.
setBlockProperty($a_block_type, $a_property, $a_value)
This function is supposed to be used for block type specific properties, that should be passed to ilB...
setEnableMovement($a_enablemovement)
Set Enable Movement.
setRepositoryItems($a_repositoryitems)
Set Repository Items.
setAdminCommands($a_admincommands)
Set Administration Commmands.
static _adjustMovedObjectConditions($a_ref_id)
In the moment it is not allowed to create preconditions on objects that are located outside of a cour...
Shows all items grouped by type.
downloadMultipleObjects($a_ref_ids)
clearObject()
clear clipboard and go back to last object
saveSortingObject()
Save Sorting.
afterUpdate()
Post (successful) object update hook.
editPageFrameObject()
show page editor frameset
showAdministrationPanel(&$tpl)
show administration panel
clipboardObject()
show clipboard
initAndDisplayMoveIntoObjectObject()
getAsynchItemListObject()
Get item list command drop down asynchronously.
isActiveAdministrationPanel()
savePasswordObject()
Save password.
cloneWizardPageTreeObject()
@access public
setContentSubTabs()
Set content sub tabs.
setSideColumnReturn()
Set return point for side column actions.
initFormPasswordInstruction()
Init password form.
addStandardRow(&$a_tpl, $a_html, $a_item_ref_id="", $a_item_obj_id="", $a_image_type="")
adds a standard row to a block template
& forwardToPageObject()
forward command to page object
getEditFormValues()
Get values for edit form.
getAllNestedCategories($ref_id)
disableAdministrationPanelObject()
enable administration panel
trashObject()
Show trash content of object.
initAndDisplayCopyIntoMultipleObjectsObject()
static _buildPath($a_ref_id, $a_course_ref_id)
build path
initStylePropertiesForm()
Init style properties form.
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
cutObject()
cut object(s) out from a container and write the information to clipboard
confirmRemoveFromSystemObject()
confirmation screen remove from system
showPasteTreeObject()
Show paste tree.
getContentGUI()
Get content gui object.
enableMultiDownloadObject()
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
performPasteIntoMultipleObjectsObject()
addHeaderRow(&$a_tpl, $a_type, $a_show_image=true)
adds a header row to a block template
cancelMoveLinkObject()
Cancel move|link empty clipboard and return to parent.
allowBlocksConfigure()
Standard is to allow blocks configuration.
isActiveOrdering()
Check if ordering is enabled.
cloneNodes($srcRef, $dstRef, &$mapping, $newName=null)
Recursively clones all nodes of the RBAC tree.
getContainerPageHTML()
Get container page HTML.
initManualSortingOptionForm(ilContainerSortingSettings $settings, $element, $a_prefix, $a_sorting_settings)
Add manual sorting options.
clearAdminCommandsDetermination()
cleaer administration commands determination
switchToOldEditorObject()
Switch to old page editor.
addStandardContainerSubTabs($a_include_view=true)
Add standar container subtabs for view, manage, oderdering and text/media editor link.
static copyFile($obj_id, $title, $tmpdir)
& newBlockTemplate()
determin admin commands
redrawListItemObject()
Redraw a list item (ajax)
undeleteObject()
Get objects back from trash.
prepareOutput($a_show_subobjects=true)
prepare output
showPasswordInstructionObject($a_init=true)
Show webdav password instruction.
fileManagerLaunchObject()
Launch jnlp.
pasteObject()
paste object from clipboard to current place Depending on the chosen command the object(s) are linked...
editStylePropertiesObject()
Edit style properties.
__showTimingsButton(&$tpl)
editStyleObject()
Edit Style.
saveStyleSettingsObject()
Save style settings.
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify list gui for presentation in container @global type $lng.
setPageEditorTabs()
Add page editor tabs.
useNewEditorObject()
Use new editor (-> delete xhtml content page)
initSortingDirectionForm(ilContainerSortingSettings $sorting_settings, $element, $a_prefix)
Add sorting direction.
renderObject()
render the object
addPageTabs()
Add page tabs.
showPermanentLink(&$tpl)
show permanent link
cloneWizardPageObject($a_tree_view=true)
Show clone wizard page for container objects.
initAndDisplayLinkIntoMultipleObjectsObject()
addMessageRow(&$a_tpl, $a_message, $a_type)
add message row
editOrderObject()
Edit order.
setTitleAndDescription()
called by prepare output
initHeaderAction($a_sub_type=null, $a_sub_id=null)
Add file manager link.
forwardToStyleSheet()
Forward to style object.
showCustomIconsEditing($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
show edit section of custom icons for container
isActiveItemOrdering()
Check if item ordering is enabled.
cancelPageContentObject()
allowBlocksMoving()
Standard is to allow blocks moving.
enableAdministrationPanelObject()
enable administration panel
copyObject()
Copy object(s) out from a container and write the information to clipboard It is not possible to copy...
setColumnSettings(ilColumnGUI $column_gui)
May be overwritten in subclasses.
showPossibleSubObjects()
show possible sub objects selection list
linkObject()
create an new reference of an object in tree it's like a hard link of unix
deleteStyleObject()
Delete Style.
cloneWizardPageListObject()
@access public
switchToStdEditorObject()
Switch to standard page editor.
createStyleObject()
Create Style.
editPageContentObject()
edit page content (for repository root node and categories)
keepObjectsInClipboardObject()
Keep objects in the clipboard.
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
removeFromSystemObject()
remove objects from trash bin and all entries therefore every object needs a specific deleteObject() ...
executeCommand()
execute command note: this method is overwritten in all container objects
cloneAllObject()
Clone all object Overwritten method for copying container objects.
getAllNestedFiles($ref_id)
Get all files that are nested in the category whose ref_id is passed to this function or are nested i...
static recurseFolder($refid, $title, $tmpdir)
private functions which iterates through all folders and files and create an according file structure...
getTabs()
common tabs for all container objects (should be called at the end of child getTabs() method
GUI class for course objective view.
Container page GUI class.
Shows all items in one block.
Shows all items in one block.
static lookupSortModeFromParentContainer($a_obj_id)
Lookup sort mode from parent container.
getSortNewItemsPosition()
GET new item position.
getSortNewItemsOrder()
GET new item order.
static _lookupSortMode($a_obj_id)
lookup sort mode
getSortDirection()
Get sort direction.
static _getInstance($a_obj_id)
get instance by obj_id
const SORT_DIRECTION_DESC
const SORT_NEW_ITEMS_ORDER_ACTIVATION
const SORT_NEW_ITEMS_ORDER_TITLE
const SORT_NEW_ITEMS_ORDER_CREATION
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
static _lookupIconPath($a_id, $a_size="big")
lookup icon path
static _writeContainerSetting($a_id, $a_keyword, $a_value)
const SORT_NEW_ITEMS_POSITION_BOTTOM
const SORT_NEW_ITEMS_POSITION_TOP
static _isFinished($a_copy_id)
check if copy is finished
static _getInstanceByType($a_source_id, $a_item_type)
Get instance by type.
static _isActive()
Static getter.
static _isActionsVisible()
Static getter.
static getInstance()
Get singelton instance.
static addToDesktop()
Add desktop item @access public.
static removeFromDesktop()
Remove item from personal desktop @access public.
GUI class for didactic template settings inside repository objects.
static lookupTemplateId($a_ref_id)
Lookup template id @global ilDB $ilDB.
static _getItemsOfContainer($a_ref_id)
static getInstance()
Get singleton instance.
Class to report exception.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static showMemberViewSwitch($a_ref_id)
Show member view switch.
static getInstance()
Get instance.
This class represents a non editable value in a property form.
static _getUsedHTMLTagsAsString($a_module="")
Returns a string of all allowed HTML tags for text editing.
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 _lookupAbsolutePath($obj_id, $a_version=null)
return absolute path for version
Class ilObjStyleSheetGUI.
static _lookupStandard($a_id)
Lookup standard flag.
static getSyntaxStylePath()
get syntax style path
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
static getContentStylePath($a_style_id)
get content style path
static _getStandardStyles($a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
static getItemsByEvent($a_event_id)
Get session material / event items.
Render add new item selector.
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
Class ilObjectGUI Basic methods of all Output classes.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
getDidacticTemplateVar($a_type)
Get didactic template setting from creation screen.
getCreationMode()
get creation mode
createObject()
create new object form
static _getListGUIByType($a_type, $a_context=ilObjectListGUI::CONTEXT_REPOSITORY)
static getInstance($a_obj_id)
Get instance.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static _lookupObjectId($a_ref_id)
lookup object id
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
static _isInTrash($a_ref_id)
checks wether object is in trash
static _lookupType($a_id, $a_reference=false)
lookup object type
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
static _existsAndNotEmpty($a_parent_type, $a_id, $a_lang="-")
checks whether page exists and is not empty (may return true on some empty pages)
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
static _getRTEClassname()
static _cleanupMediaObjectUsage($a_text, $a_usage_type, $a_usage_id)
Synchronises appearances of media objects in $a_text with media object usage table.
This class represents an option in a radio group.
static add($a_action, $a_ref_id, array $a_diff, $a_source_ref_id=false)
static gatherFaPa($a_ref_id, array $a_role_ids, $a_add_action=false)
Repository GUI Utilities.
Repository explorer GUI class.
Explorer for selecting repository items.
special template class to simplify handling of ITX/PEAR
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static zip($a_dir, $a_file, $compress_content=false)
static ilTempnam($a_temp_path=null)
Create a temporary file in an ILIAS writable directory.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
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.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
redirection script todo: (a better solution should control the processing via a xml file)
if(!is_array($argv)) $options