6 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
7 require_once
"./Services/Container/classes/class.ilContainer.php";
8 include_once
'./Services/PersonalDesktop/interfaces/interface.ilDesktopItemHandling.php';
106 public function __construct($a_data, $a_id, $a_call_by_reference =
true, $a_prepare_output =
true)
110 $this->lng = $DIC->language();
111 $this->tpl = $DIC[
"tpl"];
112 $this->ctrl = $DIC->ctrl();
113 $this->tabs = $DIC->tabs();
115 $this->
user = $DIC->user();
116 $this->db = $DIC->database();
117 $this->access = $DIC->access();
118 $this->tree = $DIC->repositoryTree();
119 $this->error = $DIC[
"ilErr"];
120 $this->obj_definition = $DIC[
"objDefinition"];
121 $this->rbacadmin = $DIC->rbac()->admin();
122 $this->rbacreview = $DIC->rbac()->review();
123 $this->log = $DIC[
"ilLog"];
124 $this->obj_data_cache = $DIC[
"ilObjDataCache"];
125 $this->toolbar = $DIC->toolbar();
126 $this->plugin_admin = $DIC[
"ilPluginAdmin"];
127 $this->app_event_handler = $DIC[
"ilAppEventHandler"];
129 $lng = $DIC->language();
133 $lng->loadLanguageModule(
"cntr");
134 $lng->loadLanguageModule(
'cont');
138 parent::__construct($a_data, $a_id, $a_call_by_reference,
false);
149 $next_class = $this->ctrl->getNextClass();
150 $cmd = $this->ctrl->getCmd(
"render");
153 switch ($next_class) {
155 case "ilcontainerpagegui":
156 if (
$_GET[
"redirectSource"] !=
"ilinternallinkgui") {
164 case "ilobjstylesheetgui":
184 $values = parent::getEditFormValues();
186 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
187 $values[
'didactic_type'] =
199 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
205 if ($new_tpl_id != $current_tpl_id) {
206 $_REQUEST[
'tplid'] = $new_tpl_id;
209 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
210 $this->ctrl->setReturn($this,
'edit');
211 $this->ctrl->setCmdClass(
'ildidactictemplategui');
212 $this->ctrl->setCmd(
'confirmTemplateSwitch');
214 return $this->ctrl->forwardCommand($dtpl_gui);
216 parent::afterUpdate();
228 $ilTabs->clearTargets();
231 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheetGUI.php");
232 $this->ctrl->setReturn($this,
"editStyleProperties");
235 if ($cmd ==
"create" ||
$_GET[
"new_type"]==
"sty") {
236 $style_gui->setCreationMode(
true);
239 if ($cmd ==
"confirmedDelete") {
240 $this->
object->setStyleSheetId(0);
241 $this->
object->update();
244 $ret = $this->ctrl->forwardCommand($style_gui);
246 if ($cmd ==
"save" || $cmd ==
"copyStyle" || $cmd ==
"importStyle") {
248 $this->
object->setStyleSheetId($style_id);
249 $this->
object->update();
250 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
266 if (in_array($cmd,
array(
"displayMediaFullscreen",
"downloadFile",
"displayMedia"))) {
272 $ilTabs->clearTargets();
274 if (
$_GET[
"redirectSource"] ==
"ilinternallinkgui") {
283 $ilTabs->setBackTarget(
284 $lng->txt(
"cntr_back_to_old_editor"),
285 $ilCtrl->getLinkTarget($this,
"switchToOldEditor"),
289 $ilTabs->setBackTarget(
$lng->txt(
"back"),
"./goto.php?target=" . $this->
object->getType() .
"_" .
290 $this->
object->getRefId(),
"_top");
294 include_once(
"./Services/Container/classes/class.ilContainerPage.php");
295 include_once(
"./Services/Container/classes/class.ilContainerPageGUI.php");
297 $lng->loadLanguageModule(
"content");
299 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
300 $this->tpl->setVariable(
301 "LOCATION_CONTENT_STYLESHEET",
304 $this->tpl->setCurrentBlock(
"SyntaxStyle");
305 $this->tpl->setVariable(
306 "LOCATION_SYNTAX_STYLESHEET",
309 $this->tpl->parseCurrentBlock();
317 $new_page_object->setParentId($this->
object->getId());
318 $new_page_object->setId($this->
object->getId());
319 $new_page_object->createFromXML();
323 $this->ctrl->setReturnByClass(
"ilcontainerpagegui",
"edit");
325 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
327 $this->
object->getStyleSheetId(),
328 $this->
object->getType()
331 $page_gui->setTemplateTargetVar(
"ADM_CONTENT");
332 $page_gui->setFileDownloadLink(
"");
333 $page_gui->setFullscreenLink($this->ctrl->getLinkTarget($this,
"showMediaFullscreen"));
335 $page_gui->setPresentationTitle(
"");
336 $page_gui->setTemplateOutput(
false);
345 "tpl.cntr_old_editor_message.html",
350 $wtpl->setVariable(
"ALT_WARNING",
$lng->txt(
"warning"));
355 $wtpl->setVariable(
"TXT_MIGRATION_INFO",
$lng->txt(
"cntr_switch_to_new_editor_message"));
356 $wtpl->setVariable(
"TXT_MIGRATION_INFO",
$lng->txt(
"cntr_switch_to_new_editor_message"));
358 "HREF_SWITCH_TO_NEW_EDITOR",
359 $ilCtrl->getLinkTarget($this,
"useNewEditor")
362 "TXT_MIGRATION_SWITCH",
363 $lng->txt(
"cntr_switch_to_new_editor_cmd")
365 $page_gui->setPrependingHtml($wtpl->get());
369 $page_gui->setTabHook($this,
"addPageTabs");
371 $ret = $this->ctrl->forwardCommand($page_gui);
387 $ilCtrl->getLinkTarget($this,
'editStyleProperties'),
388 "editStyleProperties" 400 if (!
$ilSetting->get(
"enable_cat_page_edit")) {
410 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
412 return $xpage->getContent();
420 include_once(
"./Services/COPage/classes/class.ilPageUtil.php");
427 include_once(
"./Services/Container/classes/class.ilContainerPage.php");
428 include_once(
"./Services/Container/classes/class.ilContainerPageGUI.php");
430 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
431 $this->tpl->setVariable(
432 "LOCATION_CONTENT_STYLESHEET",
435 $this->tpl->setCurrentBlock(
"SyntaxStyle");
436 $this->tpl->setVariable(
437 "LOCATION_SYNTAX_STYLESHEET",
440 $this->tpl->parseCurrentBlock();
443 include_once(
"./Services/Object/classes/class.ilObjectTranslation.php");
445 $lang = $ot->getEffectiveContentLang(
$ilUser->getCurrentLanguage(),
"cont");
447 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
449 $this->
object->getStyleSheetId(),
450 $this->
object->getType()
453 $page_gui->setPresentationTitle(
"");
454 $page_gui->setTemplateOutput(
false);
455 $page_gui->setHeader(
"");
456 $ret = $page_gui->showPage();
469 if (parent::prepareOutput($a_show_subobjects)) {
472 #$this->showPossibleSubObjects(); 476 include_once
'./Services/Container/classes/class.ilMemberViewGUI.php';
487 if (
$_GET[
"obj_id"] !=
"") {
491 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
496 $mode = (
$_SESSION[
"il_rep_mode"] ==
"flat")
499 $link =
"ilias.php?baseClass=ilRepositoryGUI&cmd=frameset&set_mode=" . $mode .
"&ref_id=" . $this->
object->getRefId();
500 $tpl->setTreeFlatIcon($link, $mode);
509 $this->tpl->setTitle($this->
object->getTitle());
510 $this->tpl->setDescription($this->
object->getLongDescription());
514 $this->tpl->setTitleIcon($icon, $this->lng->txt(
"obj_" . $this->object->getType()));
516 include_once
'./Services/Object/classes/class.ilObjectListGUIFactory.php';
518 $lgui->initItem($this->
object->getRefId(), $this->
object->getId());
519 $this->tpl->setAlertProperties($lgui->getAlertProperties());
528 include_once
"Services/Object/classes/class.ilObjectAddNewItemGUI.php";
541 $courseTimingView = -1;
542 if (
defined(
'IL_CRS_VIEW_TIMING')) {
546 switch ($this->
object->getViewMode()) {
549 include_once(
"./Services/Container/classes/class.ilContainerSimpleContentGUI.php");
554 include_once(
'./Services/Container/classes/class.ilContainerObjectiveGUI.php');
560 case $courseTimingView:
561 include_once(
"./Services/Container/classes/class.ilContainerSessionsContentGUI.php");
568 include_once(
"./Services/Container/classes/class.ilContainerByTypeContentGUI.php");
573 return $container_view;
593 $ilTabs->activateSubTab(
"manage");
595 $ilTabs->activateSubTab(
"view_content");
598 $container_view->setOutput();
600 $this->adminCommands = $container_view->adminCommands;
604 if (
$ilCtrl->getNextClass() !=
"ilcolumngui") {
612 if ((
int)
$_GET[
"ref_id"] > 1 &&
$ilSetting->get(
"rep_tree_synchronize")) {
613 $ilCtrl->setParameter($this,
"active_node", (
int)
$_GET[
"ref_id"]);
640 $lng->loadLanguageModule(
'cntr');
644 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
646 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
648 $this->ctrl->setParameter($this,
"type",
"");
649 $this->ctrl->setParameter($this,
"item_ref_id",
"");
652 $this->lng->txt(
'paste_clipboard_items'),
657 $this->lng->txt(
'clear_clipboard'),
664 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
666 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
668 $this->ctrl->setParameter($this,
"type",
"");
669 $this->ctrl->setParameter($this,
"item_ref_id",
"");
673 if ($this->
object->gotItems()) {
679 $this->lng->txt(
'delete_selected_items'),
683 $this->lng->txt(
'move_selected_items'),
687 $this->lng->txt(
'copy_selected_items'),
691 $this->lng->txt(
'link_selected_items'),
696 if ($folder_set->get(
"enable_multi_download") ==
true) {
699 if (!$folder_set->get(
"bgtask_download", 0)) {
701 $this->lng->txt(
'download_selected_items'),
705 $url = $this->ctrl->getLinkTargetByClass(
array(
"ilrepositorygui",
"ilobjfoldergui",
"ilbackgroundtaskhub"),
"",
"",
true,
false);
706 $GLOBALS[
'tpl']->addJavaScript(
"Services/BackgroundTask/js/BgTask.js");
707 $GLOBALS[
'tpl']->addOnLoadCode(
"il.BgTask.initMultiForm('ilFolderDownloadBackgroundTaskHandler');");
708 $GLOBALS[
'tpl']->addOnLoadCode(
'il.BgTask.setAjax("' .
$url .
'");');
710 include_once
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
712 $button->setCaption(
"download_selected_items");
713 $button->addCSSClass(
"ilbgtasksubmit");
714 $button->setCommand(
"download");
715 $toolbar->addButtonInstance($button);
719 if ($this->
object->getType() ==
'crs' or $this->
object->getType() ==
'grp') {
720 if ($this->
object->gotItems()) {
725 $this->lng->txt(
'cntr_adopt_content'),
726 $this->ctrl->getLinkTargetByClass(
746 $GLOBALS[
'tpl']->addAdminPanelToolbar(
753 if ($this->
object->gotItems()) {
754 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
757 if ($this->edit_order) {
758 if ($this->
object->gotItems() and $ilAccess->checkAccess(
"write",
"", $this->
object->getRefId())) {
759 include_once(
'./Services/Container/classes/class.ilContainer.php');
763 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
765 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
767 $this->ctrl->setParameter($this,
"type",
"");
768 $this->ctrl->setParameter($this,
"item_ref_id",
"");
771 $this->lng->txt(
'sorting_save'),
793 $num_files = $this->tree->getChildsByType(
$ref_id,
"file");
794 $num_folders = $this->tree->getChildsByType(
$ref_id,
"fold");
795 if (count($num_files) > 0 or count($num_folders) > 0) {
797 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
799 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
801 $this->ctrl->setParameter($this,
"type",
"");
802 $this->ctrl->setParameter($this,
"item_ref_id",
"");
805 $this->lng->txt(
'download_selected_items'),
809 $GLOBALS[
'tpl']->addAdminPanelToolbar(
811 $this->
object->gotItems() ? true :
false,
812 $this->
object->gotItems() ? true : false
825 if (!
$tree->checkForParentType($this->object->getRefId(),
'crs')) {
828 $tpl->setCurrentBlock(
"custom_button");
829 $tpl->setVariable(
"ADMIN_MODE_LINK", $this->ctrl->getLinkTargetByClass(
'ilcoursecontentgui',
'editTimings'));
830 $tpl->setVariable(
"TXT_ADMIN_MODE", $this->lng->txt(
'timings_edit'));
831 $tpl->parseCurrentBlock();
841 $this->
object->getRefId(),
855 $ilCtrl->redirect($this,
"editPageFrame");
866 $ilCtrl->redirect($this,
"editPageFrame");
879 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
880 include_once(
"./Services/XHTMLPage/classes/class.ilXHTMLPage.php");
900 $ilCtrl->redirect($this,
"editPageFrame");
913 if ($xpage_id > 0 &&
$_SESSION[
"il_cntr_editor"] !=
"std") {
914 $this->ctrl->redirect($this,
"editPageContent");
916 $this->ctrl->redirectByClass(
array(
"ilcontainerpagegui"),
"edit");
933 if (!
$rbacsystem->checkAccess(
"write", $this->ref_id)) {
934 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_write"),
$ilErr->MESSAGE);
942 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
944 $content = $xpage->getContent();
951 "tpl.container_edit_page_content.html",
955 $tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
957 "TXT_EDIT_PAGE_CONTENT",
958 $this->lng->txt(
"edit_page_content")
960 $tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
961 $tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
962 $tpl->setVariable(
"TXT_MIGRATION_INFO",
$lng->txt(
"cntr_old_editor_warning"));
963 $tpl->setVariable(
"TXT_MIGRATION_OPEN_STD_EDITOR",
$lng->txt(
"cntr_old_editor_open_standard_editor"));
965 $tpl->setVariable(
"HREF_OPEN_STD_EDITOR",
$ilCtrl->getLinkTarget($this,
"switchToStdEditor"));
966 $tpl->setVariable(
"ALT_WARNING",
$lng->txt(
"warning"));
968 include_once(
"./Services/Form/classes/class.ilFormPropertyGUI.php");
969 include_once(
"./Services/Form/classes/class.ilTextAreaInputGUI.php");
974 include_once
"./Services/RTE/classes/class.ilRTE.php";
976 include_once
"./Services/RTE/classes/class.$rtestring.php";
977 $rte =
new $rtestring();
979 include_once
"./Services/Object/classes/class.ilObject.php";
982 $rte->addRTESupport(
$obj_id, $obj_type);
989 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
990 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
1011 if ($xpage_id > 0) {
1013 $xpage->setContent($text);
1017 $xpage->setContent($text);
1026 include_once(
"Services/RTE/classes/class.ilRTE.php");
1029 $this->
object->getType() .
":html",
1030 $this->
object->getId()
1034 $this->ctrl->redirect($this,
"");
1039 $this->ctrl->redirect($this,
"");
1048 "tpl.container_link_help.html",
1051 "Services/Container" 1054 $type_ordering =
array(
1055 "cat",
"fold",
"crs",
"grp",
"chat",
"frm",
"lres",
1056 "glo",
"webr",
"file",
"exc",
1057 "tst",
"svy",
"mep",
"qpl",
"spl");
1060 foreach ($childs as $child) {
1061 if (in_array($child[
"type"],
array(
"lm",
"sahs",
"htlm"))) {
1064 $cnt[$child[
"type"]]++;
1069 $tpl->setVariable(
"TXT_HELP_HEADER",
$lng->txt(
"help"));
1070 foreach ($type_ordering as
$type) {
1071 $tpl->setCurrentBlock(
"row");
1072 $tpl->setVariable(
"ROWCOL",
"tblrow" . (((
$i++)%2)+1));
1073 if ($type !=
"lres") {
1074 $tpl->setVariable(
"TYPE",
$lng->txt(
"objs_" . $type) .
1075 " (" . ((int) $cnt[$type]) .
")");
1077 $tpl->setVariable(
"TYPE",
$lng->txt(
"learning_resources") .
1078 " (" . ((int) $cnt[
"lres"]) .
")");
1080 $tpl->setVariable(
"TXT_LINK",
"[list-" . $type .
"]");
1081 $tpl->parseCurrentBlock();
1092 $this->adminCommands =
false;
1125 "tpl.container_list_block.html",
1128 "Services/Container" 1130 $this->cur_row_type =
"row_type_1";
1146 if ($a_show_image) {
1147 $a_tpl->setCurrentBlock(
"container_header_row_image");
1148 $a_tpl->setVariable(
"HEADER_IMG", $icon);
1149 $a_tpl->setVariable(
"HEADER_ALT",
$title);
1151 $a_tpl->setCurrentBlock(
"container_header_row");
1154 $a_tpl->setVariable(
"BLOCK_HEADER_CONTENT",
$title);
1155 $a_tpl->parseCurrentBlock();
1169 $a_item_ref_id =
"",
1170 $a_item_obj_id =
"",
1175 $this->cur_row_type = ($this->cur_row_type ==
"row_type_1")
1179 $a_tpl->touchBlock($this->cur_row_type);
1182 if (
$ilSetting->get(
"icon_position_in_lists") ==
"item_rows") {
1184 $alt = $this->lng->txt(
"obj_" . $a_image_type);
1188 in_array($a_image_type,
array(
"cat",
"grp",
"crs"))) {
1189 require_once(
"./Services/Container/classes/class.ilContainer.php");
1195 $a_tpl->setCurrentBlock(
"block_row_image");
1196 $a_tpl->setVariable(
"ROW_IMG", $icon);
1197 $a_tpl->setVariable(
"ROW_ALT", $alt);
1198 $a_tpl->parseCurrentBlock();
1203 $a_tpl->setCurrentBlock(
"block_row_check");
1204 $a_tpl->setVariable(
"ITEM_ID", $a_item_ref_id);
1205 $a_tpl->parseCurrentBlock();
1208 include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
1211 $a_tpl->setCurrentBlock(
'block_position');
1212 $a_tpl->setVariable(
'POS_TYPE', $a_image_type);
1213 $a_tpl->setVariable(
'POS_ID', $a_item_ref_id);
1214 $a_tpl->setVariable(
'POSITION', sprintf(
'%.1f', $this->current_position++));
1215 $a_tpl->parseCurrentBlock();
1218 $a_tpl->setVariable(
"ROW_NBSP",
" ");
1220 $a_tpl->setCurrentBlock(
"container_standard_row");
1221 $a_tpl->setVariable(
"BLOCK_ROW_CONTENT", $a_html);
1222 $a_tpl->parseCurrentBlock();
1223 $a_tpl->touchBlock(
"container_row");
1231 $this->cur_row_type = ($this->cur_row_type ==
"row_type_1")
1235 $a_tpl->touchBlock($this->cur_row_type);
1238 $a_message = str_replace(
"[type]",
$type, $a_message);
1240 $a_tpl->setVariable(
"ROW_NBSP",
" ");
1242 $a_tpl->setCurrentBlock(
"container_standard_row");
1243 $a_tpl->setVariable(
1244 "BLOCK_ROW_CONTENT",
1247 $a_tpl->parseCurrentBlock();
1248 $a_tpl->touchBlock(
"container_row");
1253 $this->cur_row_type =
"";
1265 || strtolower($this->ctrl->getCmdClass()) !=
"ilcontainerpagegui") {
1269 $lng->loadLanguageModule(
"content");
1274 $this->tabs_gui->setBackTarget(
1275 $this->lng->txt(
"obj_cat"),
1276 $this->ctrl->getLinkTarget($this,
"frameset"),
1280 $this->tabs_gui->addTarget(
"edit", $this->ctrl->getLinkTargetByClass(
"ilcontainerpagegui",
"view"),
array(
"",
"view"),
"ilcontainerpagegui");
1297 if (!is_object($this->
object)) {
1301 if ($a_include_view && $ilAccess->checkAccess(
"read",
"", $this->object->getRefId())) {
1303 $ilTabs->addSubTab(
"view_content",
$lng->txt(
"view"),
$ilCtrl->getLinkTarget($this,
"view"));
1305 $ilTabs->addSubTab(
"view_content",
$lng->txt(
"view"),
$ilCtrl->getLinkTarget($this,
"disableAdministrationPanel"));
1309 if (
$ilUser->getId() != ANONYMOUS_USER_ID &&
1311 $this->adminCommands ||
1312 (is_object($this->
object) &&
1313 ($ilAccess->checkAccess(
"write",
"", $this->
object->getRefId())))
1315 (is_object($this->
object) &&
1316 ($this->
object->getHiddenFilesFound())) ||
1321 $ilTabs->addSubTab(
"manage",
$lng->txt(
"cntr_manage"),
$ilCtrl->getLinkTarget($this,
""));
1323 $ilTabs->addSubTab(
"manage",
$lng->txt(
"cntr_manage"),
$ilCtrl->getLinkTarget($this,
"enableAdministrationPanel"));
1326 if (
$ilUser->getId() != ANONYMOUS_USER_ID &&
1327 is_object($this->
object) &&
1328 $ilAccess->checkAccess(
"write",
"", $this->
object->getRefId())
1331 $ilTabs->addSubTab(
"ordering",
$lng->txt(
"cntr_ordering"),
$ilCtrl->getLinkTarget($this,
"editOrder"));
1333 if (
$ilUser->getId() != ANONYMOUS_USER_ID &&
1334 is_object($this->
object) &&
1335 $ilAccess->checkAccess(
"write",
"", $this->
object->getRefId())
1337 if (
$ilSetting->get(
"enable_cat_page_edit")) {
1340 $lng->txt(
"cntr_text_media_editor"),
1341 $ilCtrl->getLinkTarget($this,
"editPageFrame"),
1359 if (
$rbacsystem->checkAccess(
'edit_permission', $this->ref_id)) {
1360 $this->tabs_gui->addTarget(
1362 $this->ctrl->getLinkTargetByClass(
array(get_class($this),
'ilpermissiongui'),
"perm"),
1363 array(
"perm",
"info",
"owner"),
1366 if (
$ilCtrl->getNextClass() ==
"ilpermissiongui") {
1367 $this->tabs_gui->activateTab(
"perm_settings");
1372 if (strtolower(
$_GET[
"baseClass"]) ==
"ilrepositorygui" && !empty(
$_SESSION[
"clipboard"])) {
1373 $this->tabs_gui->addTarget(
1375 $this->ctrl->getLinkTarget($this,
"clipboard"),
1392 $_SESSION[
"il_cont_admin_panel"] =
true;
1393 $this->ctrl->redirect($this,
"render");
1401 $_SESSION[
"il_cont_admin_panel"] =
false;
1402 $this->ctrl->redirect($this,
"render");
1412 $this->edit_order =
true;
1413 $_SESSION[
"il_cont_admin_panel"] =
false;
1416 $ilTabs->activateSubTab(
"ordering");
1425 return $this->edit_order ? true :
false;
1448 if ((
int)
$ilSetting->get(
'disable_my_offers')) {
1452 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
1466 if ((
int)
$ilSetting->get(
'disable_my_offers')) {
1470 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
1481 $this->multi_download_enabled =
true;
1498 $this->ilErr->raiseError($this->lng->txt(
'err_no_permission'), $this->ilErr->MESSAGE);
1502 require_once(
'Services/WebDAV/classes/class.ilDAVActivationChecker.php');
1504 require_once
'Services/WebDAV/classes/class.ilDAVServer.php';
1506 require_once
'Services/WebDAV/classes/class.ilDAVLocks.php';
1510 $_GET[
'item_ref_id'],
1513 'ref_' .
$_GET[
'item_ref_id'] .
'_usr_' .
$ilUser->getId(),
1543 if (
$_GET[
"item_ref_id"] !=
"") {
1549 if (!isset(
$_POST[
"id"])) {
1550 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1556 $node_data = $this->tree->getNodeData($ref_id);
1557 $subtree_nodes = $this->tree->getSubTree($node_data);
1559 $all_node_data[] = $node_data;
1560 $all_subtree_nodes[] = $subtree_nodes;
1563 foreach ($subtree_nodes as $node) {
1564 if ($node[
'type'] ==
'rolf') {
1568 if (!
$rbacsystem->checkAccess(
'delete', $node[
"ref_id"])) {
1569 $no_cut[] = $node[
"ref_id"];
1574 if (count($no_cut)) {
1576 foreach ((
array) $no_cut as $cut_id) {
1580 $this->lng->txt(
"msg_no_perm_cut") .
" " . implode(
',', (
array) $titles),
1609 if (
$_GET[
"item_ref_id"] !=
"") {
1613 if (!isset(
$_POST[
"id"])) {
1614 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1621 $node_data = $this->tree->getNodeData($ref_id);
1628 $subtree_nodes = $this->tree->getSubTree($node_data);
1630 $all_node_data[] = $node_data;
1631 $all_subtree_nodes[] = $subtree_nodes;
1634 foreach ($subtree_nodes as $node) {
1635 if ($node[
'type'] ==
'rolf') {
1639 if (!
$rbacsystem->checkAccess(
'visible,read,copy', $node[
"ref_id"])) {
1640 $no_copy[] = $node[
"ref_id"];
1645 if ($containers > 0 && count(
$_POST[
"id"]) > 1) {
1646 $ilErr->raiseError($this->lng->txt(
"cntr_container_only_on_their_own"),
$ilErr->MESSAGE);
1650 if (is_array($no_copy) && count($no_copy)) {
1652 foreach ((
array) $no_copy as $copy_id) {
1656 $this->lng->txt(
"msg_no_perm_copy") .
" " . implode(
',', $titles),
1662 if (count(
$_POST[
"id"]) == 1) {
1663 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"source_id",
$_POST[
"id"][0]);
1664 $ilCtrl->redirectByClass(
"ilobjectcopygui",
"initTargetSelection");
1666 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"source_ids", implode(
$_POST[
"id"],
"_"));
1667 $ilCtrl->redirectByClass(
"ilobjectcopygui",
"initTargetSelection");
1687 if (
$_GET[
"item_ref_id"] !=
"") {
1691 if (!isset(
$_POST[
"id"])) {
1692 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1698 $obj_type =
$object->getType();
1699 if (!in_array($obj_type,
array(
"fold",
"file"))) {
1700 $no_download[] =
$object->getType();
1701 } elseif (!
$rbacsystem->checkAccess(
'read', $ref_id)) {
1707 if (count($no_download)) {
1708 $no_download = array_unique($no_download);
1709 foreach ($no_download as
$type) {
1710 $txt_objs[] = $this->lng->txt(
"objs_" . $type);
1712 $ilErr->raiseError(implode(
', ', $txt_objs) .
" " . $this->lng->txt(
"msg_obj_no_download"),
$ilErr->MESSAGE);
1716 if (count($no_perm)) {
1718 $this->lng->txt(
"msg_obj_perm_download") .
" " . implode(
',', $no_perm),
1733 include_once
'Modules/Folder/classes/class.ilObjFolder.php';
1734 include_once
'Modules/File/classes/class.ilObjFile.php';
1735 include_once
'Modules/File/classes/class.ilFileException.php';
1744 foreach ($a_ref_ids as
$ref_id) {
1745 if (!$ilAccess->checkAccess(
"read",
"", $ref_id)) {
1755 $obj_type =
$object->getType();
1756 if ($obj_type ==
"fold") {
1758 self::recurseFolder($ref_id,
$object->getTitle(), $tmpdir);
1759 } elseif ($obj_type ==
"file") {
1766 $deliverFilename = ilUtil::getAsciiFilename($this->
object->getTitle()) .
".zip";
1789 $tree = $DIC->repositoryTree();
1790 $ilAccess = $DIC->access();
1795 $subtree =
$tree->getChildsByTypeFilter($refid,
array(
"fold",
"file"));
1797 foreach ($subtree as $child) {
1798 if (!$ilAccess->checkAccess(
"read",
"", $child[
"ref_id"])) {
1806 if ($child[
"type"] ==
"fold") {
1807 self::recurseFolder($child[
"ref_id"], $child[
"title"], $tmpdir);
1809 self::copyFile($child[
"obj_id"], $child[
"title"], $tmpdir);
1821 if (!copy($oldFilename, $newFilename)) {
1822 throw new ilFileException(
"Could not copy " . $oldFilename .
" to " . $newFilename);
1825 touch($newFilename, filectime($oldFilename));
1843 if (
$_GET[
"item_ref_id"] !=
"") {
1847 if (!isset(
$_POST[
"id"])) {
1848 $ilErr->raiseError($this->lng->txt(
"no_checkbox"),
$ilErr->MESSAGE);
1853 if (!
$rbacsystem->checkAccess(
'delete', $ref_id)) {
1859 if (!$this->objDefinition->allowLink(
$object->getType())) {
1860 $no_link[] =
$object->getType();
1865 if (count($no_cut)) {
1866 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_link") .
" " .
1867 implode(
',', $no_cut),
$ilErr->MESSAGE);
1870 if (count($no_link)) {
1872 $ilErr->raiseError($this->lng->txt(
"msg_obj_no_link"),
$ilErr->MESSAGE);
1876 $clipboard[
"parent"] =
$_GET[
"ref_id"];
1877 $clipboard[
"cmd"] =
$ilCtrl->getCmd();
1879 foreach (
$_POST[
"id"] as $ref_id) {
1880 $clipboard[
"ref_ids"][] =
$ref_id;
1886 if (count($clipboard[
"ref_ids"]) == 1) {
1908 if (isset(
$_POST[
"cmd"][
"clear"])) {
1911 $this->ctrl->redirect($this,
'render');
1928 $not_allowed_subobject = [];
1931 $command =
$_SESSION[
'clipboard'][
'cmd'];
1932 if (!in_array($command,
array(
'cut',
'link',
'copy'))) {
1933 $message = __METHOD__ .
": cmd was neither 'cut', 'link' nor 'copy'; may be a hack attempt!";
1937 if ($command ==
'cut') {
1939 $_POST[
'nodes'] =
array($_POST[
'node']);
1943 if (!is_array(
$_POST[
'nodes']) || !count(
$_POST[
'nodes'])) {
1960 $folder_objects_cache =
array();
1963 $current_parent_id =
$tree->getParentId($obj_data->getRefId());
1965 foreach (
$_POST[
'nodes'] as $folder_ref_id) {
1966 if (!array_key_exists($folder_ref_id, $folder_objects_cache)) {
1971 if (!
$rbacsystem->checkAccess(
'create', $folder_ref_id, $obj_data->getType())) {
1972 $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() .
']');
1976 if ($folder_ref_id == $current_parent_id) {
1977 $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() .
']');
1981 if (
$tree->isGrandChild($ref_id, $folder_ref_id) ||
1982 $ref_id == $folder_ref_id) {
1983 $is_child[] = sprintf($this->lng->txt(
'msg_paste_object_not_in_itself'), $obj_data->getTitle() .
' [' . $obj_data->getRefId() .
']');
1987 if (!in_array($obj_data->getType(), array_keys($folder_objects_cache[$folder_ref_id]->getPossibleSubObjects()))) {
1988 $not_allowed_subobject[] = sprintf(
1989 $this->lng->txt(
'msg_obj_may_not_contain_objects_of_type'),
1990 $folder_objects_cache[$folder_ref_id]->getTitle() .
' [' . $folder_objects_cache[$folder_ref_id]->getRefId() .
']',
1991 $GLOBALS[
'lng']->txt(
'obj_' . $obj_data->getType())
1999 if (count($exists) && $command !=
"copy") {
2000 $error .= implode(
'<br />', $exists);
2003 if (count($is_child)) {
2005 $error .= implode(
'<br />', $is_child);
2008 if (count($not_allowed_subobject)) {
2010 $error .= implode(
'<br />', $not_allowed_subobject);
2013 if (count($no_paste)) {
2015 $error .= implode(
'<br />', $no_paste);
2035 $ilLog->write(__METHOD__ .
", cmd: " . $command);
2041 $ref_ids =
$_SESSION[
'clipboard'][
'ref_ids'];
2042 unset(
$_SESSION[
'clipboard'][
'ref_ids']);
2045 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
2049 if ($command ==
'copy') {
2050 foreach (
$_POST[
'nodes'] as $folder_ref_id) {
2051 foreach ($ref_ids as $ref_id) {
2052 $revIdMapping =
array();
2054 $oldNode_data =
$tree->getNodeData($ref_id);
2055 if ($oldNode_data[
'parent'] == $folder_ref_id) {
2056 require_once
'Modules/File/classes/class.ilObjFileAccess.php';
2058 $newRef = $this->
cloneNodes($ref_id, $folder_ref_id, $refIdMapping, $newTitle);
2060 $newRef = $this->
cloneNodes($ref_id, $folder_ref_id, $refIdMapping, null);
2064 $old_parent_data =
$tree->getParentNodeData($ref_id);
2065 $newNode_data =
$tree->getNodeData($newRef);
2067 $oldNode_data[
'type'],
2069 $oldNode_data[
'obj_id'],
2073 $newNode_data[
'obj_id'],
2076 $ilObjDataCache->lookupObjId($folder_ref_id)
2087 if ($command ==
'cut') {
2088 foreach (
$_POST[
'nodes'] as $folder_ref_id) {
2089 foreach ($ref_ids as $ref_id) {
2091 $old_parent =
$tree->getParentId($ref_id);
2092 $tree->moveTree($ref_id, $folder_ref_id);
2093 $rbacadmin->adjustMovedObjectPermissions($ref_id, $old_parent);
2095 include_once(
'./Services/AccessControl/classes/class.ilConditionHandler.php');
2099 $node_data =
$tree->getNodeData($ref_id);
2100 $old_parent_data =
$tree->getNodeData($old_parent);
2102 $node_data[
'obj_id'],
2105 $old_parent_data[
'obj_id']
2108 $node_data[
'obj_id'],
2111 $ilObjDataCache->lookupObjId($folder_ref_id)
2125 if ($command ==
'link') {
2126 $linked_to_folders =
array();
2128 include_once
"Services/AccessControl/classes/class.ilRbacLog.php";
2131 foreach (
$_POST[
'nodes'] as $folder_ref_id) {
2132 $linked_to_folders[$folder_ref_id] = $ilObjDataCache->lookupTitle($ilObjDataCache->lookupObjId($folder_ref_id));
2134 foreach ($ref_ids as $ref_id) {
2136 $top_node =
$tree->getNodeData($ref_id);
2143 foreach ($subnodes as
$key => $subnode) {
2146 $new_ref_id = $obj_data->createReference();
2147 $obj_data->putInTree($folder_ref_id);
2148 $obj_data->setPermissions($folder_ref_id);
2151 if ($rbac_log_active) {
2152 $rbac_log_roles =
$rbacreview->getParentRoleIds($new_ref_id,
false);
2158 $node_data =
$tree->getNodeData($new_ref_id);
2160 $node_data[
'obj_id'],
2163 $ilObjDataCache->lookupObjId($folder_ref_id)
2169 $ilLog->write(__METHOD__ .
', link finished');
2172 $linked_targets =
array();
2173 if (count($linked_to_folders)) {
2174 require_once
'Services/Link/classes/class.ilLink.php';
2175 foreach ($linked_to_folders as $ref_id =>
$title) {
2181 if (count($ref_ids) == 1) {
2184 ilUtil::sendSuccess(sprintf($this->lng->txt(
'mgs_objects_linked_to_the_following_folders_' . $suffix), implode(
', ', $linked_targets)),
true);
2190 $this->ctrl->returnToParent($this);
2206 if (!in_array($node_id,
$_SESSION[
'paste_linked_repexpand'])) {
2207 $_SESSION[
'paste_linked_repexpand'][] = $node_id;
2223 $ilTabs->setTabActive(
'view_content');
2225 if (!in_array(
$_SESSION[
'clipboard'][
'cmd'],
array(
'link',
'copy',
'cut'))) {
2226 $message = __METHOD__ .
": Unknown action.";
2233 if ($exp->handleCommand()) {
2238 $txt_var = ($cmd ==
"copy")
2244 $t->setFormAction($this->ctrl->getFormAction($this,
"performPasteIntoMultipleObjects"));
2246 include_once(
"./Services/UIComponent/Button/classes/class.ilSubmitButton.php");
2248 $b->setCaption($txt_var);
2249 $b->setCommand(
"performPasteIntoMultipleObjects");
2252 $t->addStickyItem($b);
2255 $this->lng->loadLanguageModule(
'obj');
2256 $t->addFormButton($this->lng->txt(
"obj_insert_into_clipboard"),
"keepObjectsInClipboard");
2258 $t->addFormButton($this->lng->txt(
"cancel"),
"cancelMoveLink");
2259 $t->setCloseFormTag(
false);
2263 $t->setCloseFormTag(
true);
2264 $t->setOpenFormTag(
false);
2267 $this->tpl->setContent(
$output);
2278 $GLOBALS[
'ilCtrl']->returnToParent($this);
2287 $GLOBALS[
'ilCtrl']->returnToParent($this);
2304 if (!in_array($node_id,
$_SESSION[
'paste_copy_repexpand'])) {
2305 $_SESSION[
'paste_copy_repexpand'][] = $node_id;
2326 if (!in_array($node_id,
$_SESSION[
'paste_cut_repexpand'])) {
2327 $_SESSION[
'paste_cut_repexpand'][] = $node_id;
2352 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
2356 if (!in_array(
$_SESSION[
"clipboard"][
"cmd"],
array(
"cut",
"link",
"copy"))) {
2357 $message = get_class($this) .
"::pasteObject(): cmd was neither 'cut','link' or 'copy'; may be a hack attempt!";
2366 if (!
$rbacsystem->checkAccess(
'create', $this->object->getRefId(), $obj_data->getType())) {
2368 $no_paste_titles[] = $obj_data->getTitle();
2372 if ($this->
object->getRefId() == $this->tree->getParentId($obj_data->getRefId())) {
2378 if ($this->tree->isGrandChild($ref_id, $this->object->getRefId())) {
2382 if ($ref_id == $this->
object->getRefId()) {
2387 $obj_type = $obj_data->getType();
2389 if (!in_array($obj_type, array_keys($this->
object->getPossibleSubObjects()))) {
2390 $not_allowed_subobject[] = $obj_data->getType();
2397 if (count($exists) &&
$_SESSION[
"clipboard"][
"cmd"] !=
"copy") {
2399 $ilErr->raiseError($this->lng->txt(
"msg_obj_exists"),
$ilErr->MESSAGE);
2402 if (count($is_child)) {
2404 $this->lng->txt(
"msg_not_in_itself") .
" " . implode(
',', $is_child),
2409 if (count($not_allowed_subobject)) {
2411 $this->lng->txt(
"msg_may_not_contain") .
" " . implode(
',', $not_allowed_subobject),
2416 if (count($no_paste)) {
2417 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_paste") .
" " .
2418 implode(
',', $no_paste),
$ilErr->MESSAGE);
2422 $ilLog->write(
"ilObjectGUI::pasteObject(), cmd: " .
$_SESSION[
"clipboard"][
"cmd"]);
2428 $ref_ids =
$_SESSION[
"clipboard"][
"ref_ids"];
2429 unset(
$_SESSION[
"clipboard"][
"ref_ids"]);
2433 if (
$_SESSION[
"clipboard"][
"cmd"] ==
"copy") {
2437 if (count($ref_ids) == 1) {
2438 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"target", $this->
object->getRefId());
2439 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"source_id", $ref_ids[0]);
2440 $ilCtrl->redirectByClass(
"ilobjectcopygui",
"saveTarget");
2442 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"target", $this->
object->getRefId());
2443 $ilCtrl->setParameterByClass(
"ilobjectcopygui",
"source_ids", implode($ref_ids,
"_"));
2444 $ilCtrl->redirectByClass(
"ilobjectcopygui",
"saveTarget");
2478 $ilLog->write(
"ilObjectGUI::pasteObject(), copy finished");
2483 if (
$_SESSION[
"clipboard"][
"cmd"] ==
"cut") {
2484 foreach ($ref_ids as $ref_id) {
2486 $old_parent =
$tree->getParentId($ref_id);
2487 $this->tree->moveTree($ref_id, $this->
object->getRefId());
2488 $rbacadmin->adjustMovedObjectPermissions($ref_id, $old_parent);
2490 include_once(
'./Services/AccessControl/classes/class.ilConditionHandler.php');
2494 $node_data =
$tree->getNodeData($ref_id);
2495 $old_parent_data =
$tree->getNodeData($old_parent);
2497 $node_data[
'obj_id'],
2500 $old_parent_data[
'obj_id']
2503 $node_data[
'obj_id'],
2506 $this->
object->getId()
2514 if (
$_SESSION[
"clipboard"][
"cmd"] ==
"link") {
2515 foreach ($ref_ids as $ref_id) {
2517 $top_node = $this->tree->getNodeData($ref_id);
2520 $subnodes[
$ref_id] = $this->tree->getSubtree($top_node);
2524 foreach ($subnodes as
$key => $subnode) {
2527 $new_ref_id = $obj_data->createReference();
2528 $obj_data->putInTree(
$_GET[
"ref_id"]);
2529 $obj_data->setPermissions(
$_GET[
"ref_id"]);
2532 $node_data =
$tree->getNodeData($new_ref_id);
2534 $node_data[
'obj_id'],
2537 $this->
object->getId()
2543 $ilLog->write(
"ilObjectGUI::pasteObject(), link finished");
2547 $last_cmd =
$_SESSION[
"clipboard"][
"cmd"];
2553 if ($last_cmd ==
"cut") {
2557 elseif ($last_cmd ==
"copy") {
2559 } elseif ($last_cmd ==
'link') {
2564 $this->ctrl->returnToParent($this);
2581 $ilTabs->activateTab(
"clipboard");
2585 $message = sprintf(
'%s::clipboardObject(): Illegal access. Clipboard variable is empty!', get_class($this));
2587 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->WARNING);
2597 "type" => $tmp_obj->getType(),
2598 "type_txt" => $this->lng->txt(
"obj_" . $tmp_obj->getType()),
2599 "title" => $tmp_obj->getTitle(),
2600 "cmd" => (
$_SESSION[
"clipboard"][
"cmd"] ==
"cut") ? $this->lng->txt(
"move") :$this->lng->txt(
$_SESSION[
"clipboard"][
"cmd"]),
2602 "obj_id" => $tmp_obj->getId()
2608 include_once(
"./Services/Object/classes/class.ilObjClipboardTableGUI.php");
2613 if (count(
$data) > 0) {
2614 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
2615 $ilToolbar->addFormButton(
2616 $lng->txt(
"insert_object_here"),
2619 $ilToolbar->addFormButton(
2620 $lng->txt(
"clear_clipboard"),
2638 $custom_icon = $this->
object->getCustomIconPath();
2640 if ($a_as_section) {
2642 $title->setTitle($this->lng->txt(
"icon_settings"));
2646 $a_form->addItem(
$title);
2648 $caption = $this->lng->txt(
"cont_custom_icon");
2650 $icon->setSuffixes(
array(
"svg"));
2651 $icon->setUseCache(
false);
2652 $icon->setImage($custom_icon);
2653 if ($a_as_section) {
2654 $a_form->addItem($icon);
2656 $title->addSubItem($icon);
2668 $this->
object->getRefId() &&
2669 !$ilAccess->checkAccess(
"write",
"", $this->
object->getRefId())) {
2673 return $_SESSION[
"il_cont_admin_panel"];
2682 parent::setColumnSettings($column_gui);
2684 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()) &&
2691 $this->
object->getSubItems($this->isActiveAdministrationPanel(),
true)
2696 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
2756 include_once(
'Services/CopyWizard/classes/class.ilCopyWizardPageFactory.php');
2761 if (!$_REQUEST[
'clone_source']) {
2763 if (isset(
$_SESSION[
'wizard_search_title'])) {
2764 $this->searchCloneSourceObject();
2770 $source_id = $_REQUEST[
'clone_source'];
2771 $new_type = $_REQUEST[
'new_type'];
2772 $this->ctrl->setParameter($this,
'clone_source', (
int) $_REQUEST[
'clone_source']);
2773 $this->ctrl->setParameter($this,
'new_type', $new_type);
2777 $this->tpl->addJavaScript(
'./Services/CopyWizard/js/ilContainer.js');
2778 $this->tpl->setVariable(
'BODY_ATTRIBUTES',
'onload="ilDisableChilds(\'cmd\');"');
2781 $this->tpl->addBlockFile(
2784 'tpl.container_wizard_page.html',
2785 "Services/Container" 2787 $this->tpl->setVariable(
'FORMACTION', $this->ctrl->getFormAction($this));
2789 $this->tpl->setVariable(
'ALT_IMG', $this->lng->txt(
'obj_' . $new_type));
2790 $this->tpl->setVariable(
'TXT_DUPLICATE', $this->lng->txt($new_type .
'_wizard_page'));
2791 $this->tpl->setVariable(
'INFO_DUPLICATE', $this->lng->txt($new_type .
'_copy_threads_info'));
2792 $this->tpl->setVariable(
'BTN_COPY', $this->lng->txt(
'obj_' . $new_type .
'_duplicate'));
2793 $this->tpl->setVariable(
'BTN_BACK', $this->lng->txt(
'btn_back'));
2794 if (isset(
$_SESSION[
'wizard_search_title'])) {
2795 $this->tpl->setVariable(
'CMD_BACK',
'searchCloneSource');
2797 $this->tpl->setVariable(
'CMD_BACK',
'create');
2800 $this->tpl->setVariable(
'BTN_TREE', $this->lng->txt(
'treeview'));
2801 $this->tpl->setVariable(
'BTN_LIST', $this->lng->txt(
'flatview'));
2808 foreach ($subnodes =
$tree->getSubtree($source_node =
$tree->getNodeData($source_id),
true) as $node) {
2809 if ($first ==
true) {
2814 if ($node[
'type'] ==
'rolf') {
2820 for (
$i = $source_node[
'depth'];
$i < $node[
'depth'];
$i++) {
2821 $this->tpl->touchBlock(
'padding');
2822 $this->tpl->touchBlock(
'end_padding');
2826 $copy_wizard_page->fillTreeSelection($node[
'ref_id'], $node[
'type'], $node[
'depth']);
2828 $this->tpl->setCurrentBlock(
'tree_row');
2830 $this->tpl->setVariable(
'TREE_ALT_IMG', $this->lng->txt(
'obj_' . $node[
'type']));
2831 $this->tpl->setVariable(
'TREE_TITLE', $node[
'title']);
2832 $this->tpl->parseCurrentBlock();
2835 $this->tpl->setCurrentBlock(
'no_content');
2836 $this->tpl->setVariable(
'TXT_NO_CONTENT', $this->lng->txt(
'container_no_items'));
2837 $this->tpl->parseCurrentBlock();
2839 $this->tpl->setCurrentBlock(
'tree_footer');
2840 $this->tpl->setVariable(
'TXT_COPY_ALL', $this->lng->txt(
'copy_all'));
2841 $this->tpl->setVariable(
'TXT_LINK_ALL', $this->lng->txt(
'link_all'));
2842 $this->tpl->setVariable(
'TXT_OMIT_ALL', $this->lng->txt(
'omit_all'));
2843 $this->tpl->parseCurrentBlock();
2846 foreach (
$tree->getSubTreeTypes($source_id,
array(
'rolf',
'crs')) as
$type) {
2848 if (strlen(
$html = $copy_wizard_page->getWizardPageBlockHTML())) {
2849 $this->tpl->setCurrentBlock(
'obj_row');
2850 $this->tpl->setVariable(
'ITEM_BLOCK',
$html);
2851 $this->tpl->parseCurrentBlock();
2869 include_once(
'./Services/Link/classes/class.ilLink.php');
2870 include_once(
'Services/CopyWizard/classes/class.ilCopyWizardOptions.php');
2878 $new_type = $_REQUEST[
'new_type'];
2880 $clone_source = (int) $_REQUEST[
'clone_source'];
2883 $ilErr->raiseError($this->lng->txt(
'permission_denied'));
2885 if (!$clone_source) {
2890 if (!$ilAccess->checkAccess(
'write',
'', $clone_source, $new_type)) {
2891 $ilErr->raiseError($this->lng->txt(
'permission_denied'));
2898 include_once
'./Services/CopyWizard/classes/class.ilCopyWizardOptions.php';
2901 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$result[
'ref_id']);
2902 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
2905 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$ref_id);
2906 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
2920 include_once(
'Services/Container/classes/class.ilContainerSorting.php');
2924 $positions = str_replace(
',',
'.',
$_POST[
'position']);
2926 $sorting->savePost($positions);
2928 $this->ctrl->redirect($this,
"editOrder");
2942 public function cloneNodes($srcRef, $dstRef, &$mapping, $newName=null)
2948 error_log(__METHOD__ .
' cloning srcRef=' . $srcRef .
' dstRef=' . $dstRef .
'...');
2949 $newRef = $srcObj->cloneObject($dstRef)->getRefId();
2950 error_log(__METHOD__ .
' ...cloning... newRef=' . $newRef .
'...');
2955 if (!is_null($newName)) {
2957 $newObj->setTitle($newName);
2962 $mapping[$newRef] = $srcRef;
2965 $children =
$tree->getChilds($srcRef);
2966 foreach (
$tree->getChilds($srcRef) as $child) {
2969 if ($child[
"type"] !=
'rolf') {
2970 $this->
cloneNodes($child[
"ref_id"], $newRef, $mapping);
2972 if (count($rolf =
$tree->getChildsByType($newRef,
"rolf"))) {
2973 $mapping[$rolf[0][
"ref_id"]] = $child[
"ref_id"];
2977 error_log(__METHOD__ .
' ...cloned srcRef=' . $srcRef .
' dstRef=' . $dstRef .
' newRef=' . $newRef);
2994 $a_item_list_gui->addCustomProperty(
2996 ilContainer::buildPath($a_item_data[
'ref_id'], $this->
object->getRefId()),
3010 $tree = $DIC->repositoryTree();
3012 $path_arr =
$tree->getPathFull($a_ref_id, $a_course_ref_id);
3014 foreach ($path_arr as
$data) {
3018 $path .= $data[
'title'];
3039 $tpl->setContent($this->form->getHTML());
3041 $ilTabs->activateTab(
"obj_sty");
3055 $tpl->setTreeFlatIcon(
"",
"");
3056 $ilTabs->clearTargets();
3061 if ($xpage_id > 0) {
3062 $ilTabs->setBackTarget(
3063 $lng->txt(
"cntr_back_to_old_editor"),
3064 $ilCtrl->getLinkTarget($this,
"switchToOldEditor"),
3068 $ilTabs->setBackTarget(
$lng->txt(
"back"),
"./goto.php?target=" . $this->
object->getType() .
"_" .
3069 $this->
object->getRefId(),
"_top");
3072 include_once(
"./Services/Container/classes/class.ilContainerPageGUI.php");
3074 $style_id = $this->
object->getStyleSheetId();
3082 $ilTabs->setTabActive(
"obj_sty");
3084 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
3085 $lng->loadLanguageModule(
"style");
3087 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
3090 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
3093 if ($fixed_style > 0) {
3096 $this->lng->txt(
"global_fixed") .
")");
3097 $this->form->addItem($st);
3105 $st_styles[0] = $this->lng->txt(
"default");
3108 if ($style_id > 0) {
3113 $this->form->addItem($st);
3118 $this->form->addCommandButton(
3120 $lng->txt(
"style_edit_style")
3122 $this->form->addCommandButton(
3124 $lng->txt(
"style_delete_style")
3140 $style_sel->setValue($style_id);
3141 $this->form->addItem($style_sel);
3143 $this->form->addCommandButton(
3144 "saveStyleSettings",
3147 $this->form->addCommandButton(
3149 $lng->txt(
"sty_create_ind_style")
3153 $this->form->setTitle(
$lng->txt(
"obj_sty"));
3154 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
3164 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
3174 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
3184 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
3194 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
3195 if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
3197 || $this->
object->getStyleSheetId() == 0)) {
3199 $this->
object->update();
3202 $this->ctrl->redirect($this,
"editStyleProperties");
3219 include_once
'Services/Object/classes/class.ilObjectListGUIFactory.php';
3221 $item_list_gui->setContainerObject($this);
3223 $item_list_gui->enableComments(
true);
3224 $item_list_gui->enableNotes(
true);
3225 $item_list_gui->enableTags(
true);
3228 $html = $item_list_gui->getListItemHTML(
3239 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
3240 foreach ($pl_names as $pl) {
3242 $gui_class = $ui_plugin->getUIClassInstance();
3243 $resp = $gui_class->getHTML(
"Services/Container",
"async_item_list",
array(
"html" =>
$html));
3245 $html = $gui_class->modifyHTML(
$html, $resp);
3267 include_once(
'Services/WebDAV/classes/class.ilDAVServer.php');
3269 $ilToolbar->addButton(
3270 $this->lng->txt(
'mount_webfolder'),
3271 $davServer->getMountURI($this->
object->getRefId()),
3274 $davServer->getFolderURI($this->object->getRefId())
3277 $tpl->setContent($this->form->getHTML());
3286 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3288 $this->form->setFormAction($this->ctrl->getFormAction($this));
3291 $ipass =
new ilPasswordInputGUI($this->lng->txt(
"desired_password"),
"new_password");
3294 $this->form->addItem($ipass);
3295 $this->form->addCommandButton(
"savePassword", $this->lng->txt(
"save"));
3296 $this->form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
3298 $this->form->setTitle($this->lng->txt(
"chg_ilias_and_webfolder_password"));
3299 $this->form->setFormAction($this->ctrl->getFormAction($this));
3313 if (
$form->checkInput()) {
3314 $ilUser->resetPassword($this->form->getInput(
'new_password'), $this->form->getInput(
'new_password'));
3319 $form->setValuesByPost();
3335 $item_data = $this->
object->getSubItems(
false,
false, (
int)
$_GET[
"child_ref_id"]);
3339 include_once
'./Modules/Session/classes/class.ilEventItems.php';
3341 if (in_array((
int) $_GET[
"child_ref_id"], $event_items)) {
3342 include_once(
'./Services/Object/classes/class.ilObjectActivation.php');
3343 foreach ($this->
object->items[
"sess"] as
$id) {
3345 foreach ($items as $event_item) {
3346 if ($event_item[
"child"] == (
int) $_GET[
"child_ref_id"]) {
3348 if ((
int) $_GET[
"parent_ref_id"]) {
3349 $event_item[
"parent"] = (int) $_GET[
"parent_ref_id"];
3351 $html = $container_view->renderItem($event_item);
3359 foreach ($this->
object->items[
"_all"] as
$id) {
3360 if ($id[
"child"] == (
int) $_GET[
"child_ref_id"]) {
3361 $html = $container_view->renderItem($id);
3370 echo
$tpl->getOnLoadCodeForAsynch();
3385 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
3388 include_once
'./Services/WebServices/FileManager/classes/class.ilFMSettings.php';
3391 $lg->addCustomCommand($this->ctrl->getLinkTarget($this,
'fileManagerLaunch'),
'fm_start',
'_blank');
3405 $tpl =
new ilTemplate(
'tpl.fm_launch_ws.html',
false,
false,
'Services/WebServices/FileManager');
3406 $tpl->setVariable(
'JNLP_URL', ILIAS_HTTP_PATH .
'/Services/WebServices/FileManager/lib/dist/FileManager.jnlp');
3407 $tpl->setVariable(
'SESSION_ID',
$_COOKIE[
'PHPSESSID'] .
'::' . CLIENT_ID);
3409 $tpl->setVariable(
'REF_ID', $this->
object->getRefId());
3410 $tpl->setVariable(
'WSDL_URI', ILIAS_HTTP_PATH .
'/webservice/soap/server.php?wsdl');
3412 $tpl->setVariable(
'REST_URI', ILIAS_HTTP_PATH .
'/Services/WebServices/Rest/server.php');
3413 $tpl->setVariable(
'FILE_LOCKS', 0);
3416 include_once(
"./Modules/SystemFolder/classes/class.ilObjSystemFolder.php");
3417 $header_top_title = ilObjSystemFolder::_getHeaderTitle();
3418 $tpl->setVariable(
'HEADER_TITLE', $header_top_title ? $header_top_title :
'');
3435 if (!empty(
$_GET[
"set_mode"])) {
3437 if (
$ilUser->getId() != ANONYMOUS_USER_ID) {
3444 if (
$ilUser->getId() != ANONYMOUS_USER_ID) {
3454 $mode = (
$_SESSION[
"il_rep_mode"] !=
"")
3459 if ($mode ==
"tree" && (strtolower(
$_GET[
"baseClass"]) !=
"iladministrationgui")) {
3460 include_once(
"./Services/Repository/classes/class.ilRepositoryExplorerGUI.php");
3462 if (!$exp->handleCommand()) {
3463 $tpl->setLeftNavContent($exp->getHTML());
3475 include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
3476 include_once
'./Services/Container/classes/class.ilContainer.php';
3483 $sort_inherit->setTitle(
3484 $this->lng->txt(
'sort_inherit_prefix') .
3492 $sort_inherit->setInfo($this->lng->txt(
'sorting_info_inherit'));
3493 $sort->addOption($sort_inherit);
3497 $this->lng->txt(
'sorting_title_header'),
3500 $sort_title->
setInfo($this->lng->txt(
'sorting_info_title'));
3503 $sort->addOption($sort_title);
3507 $sort_activation->
setInfo($this->lng->txt(
'sorting_creation_info'));
3509 $sort->addOption($sort_activation);
3513 $sort_activation->
setInfo($this->lng->txt(
'crs_sort_timing_info'));
3515 $sort->addOption($sort_activation);
3519 $this->lng->txt(
'sorting_manual_header'),
3522 $sort_manual->
setInfo($this->lng->txt(
'sorting_info_manual'));
3524 $sort->addOption($sort_manual);
3528 if (in_array(
$settings->getSortMode(), $a_sorting_settings)) {
3529 $sort->setValue(
$settings->getSortMode());
3544 if ($a_prefix ==
'manual') {
3545 $txt = $this->lng->txt(
'sorting_new_items_direction');
3547 $txt = $this->lng->txt(
'sorting_direction');
3552 $direction->setRequired(
true);
3556 $this->lng->txt(
'sorting_asc'),
3559 $direction->addOption($asc);
3563 $this->lng->txt(
'sorting_desc'),
3566 $direction->addOption($desc);
3583 $position =
new ilRadioGroupInputGUI($this->lng->txt(
'sorting_new_items_position'), $a_prefix .
'_new_items_position');
3585 $position->setRequired(
true);
3589 $this->lng->txt(
'sorting_new_items_at_top'),
3593 $position->addOption($new_top);
3597 $this->lng->txt(
'sorting_new_items_at_bottom'),
3601 $position->addOption($new_bottom);
3605 $order =
new ilRadioGroupInputGUI($this->lng->txt(
'sorting_new_items_order'), $a_prefix .
'_new_items_order');
3607 $order->setRequired(
true);
3612 $this->lng->txt(
'sorting_title_header'),
3616 $order->addOption($new_title);
3622 $this->lng->txt(
'sorting_creation_header'),
3626 $order->addOption($new_creation);
3633 $this->lng->txt(
'crs_sort_activation'),
3637 $order->addOption($new_activation);
3653 include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
3657 switch ($form->
getInput(
'sorting')) {
3668 $settings->setSortNewItemsPosition($form->
getInput(
'manual_new_items_position'));
3686 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3688 $ru->showTrashTable(
$_GET[
"ref_id"]);
3702 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3704 $ru->removeObjectsFromSystem(
$_POST[
"trash_id"]);
3705 $this->ctrl->redirect($this,
"trash");
3713 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3715 $ru->restoreObjects(
$_GET[
"ref_id"],
$_POST[
"trash_id"]);
3716 $this->ctrl->redirect($this,
"trash");
3725 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3727 if (!isset(
$_POST[
"trash_id"])) {
3729 $this->ctrl->redirect($this,
"trash");
3733 $ru->confirmRemoveFromSystemObject(
$_POST[
"trash_id"]);
3742 include_once(
"./Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php");
3748 $exp->setTypeWhiteList(
array(
"root",
"cat",
"grp",
"crs",
"fold"));
3749 if ($cmd ==
"link") {
3750 $exp->setSelectMode(
"nodes",
true);
3753 $exp->setSelectMode(
"nodes[]",
false);
3763 $this->ctrl->setReturn($this,
"");
static lookupTemplateId($a_ref_id)
Lookup template id ilDB $ilDB.
static _getRTEClassname()
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static _isActionsVisible()
Static getter.
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
initManualSortingOptionForm(ilContainerSortingSettings $settings, $element, $a_prefix, $a_sorting_settings)
Add manual sorting options.
getContentGUI()
Get content gui object.
getAsynchItemListObject()
Get item list command drop down asynchronously.
static _getInstanceByType($a_source_id, $a_item_type)
Get instance by type.
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.
saveSortingObject()
Save Sorting.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
This class represents an option in a radio group.
deleteStyleObject()
Delete Style.
addMessageRow(&$a_tpl, $a_message, $a_type)
add message row
redrawListItemObject()
Redraw a list item (ajax)
initAndDisplayMoveIntoObjectObject()
initHeaderAction($a_sub_type=null, $a_sub_id=null)
Add file manager link.
enableAdministrationPanelObject()
enable administration panel
removeFromSystemObject()
remove objects from trash bin and all entries therefore every object needs a specific deleteObject() ...
clearObject()
clear clipboard and go back to last object
addStandardRow(&$a_tpl, $a_html, $a_item_ref_id="", $a_item_obj_id="", $a_image_type="")
adds a standard row to a block template
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...
showPasswordInstructionObject($a_init=true)
Show webdav password instruction.
setValue($a_value)
Set Value.
const SORT_NEW_ITEMS_POSITION_TOP
static getItemsByEvent($a_event_id)
Get session material / event items.
Shows all items grouped by type.
cloneWizardPageTreeObject()
public
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
Explorer for selecting repository items.
fileManagerLaunchObject()
Launch jnlp.
& newBlockTemplate()
determin admin commands
static _getUsedHTMLTagsAsString($a_module="")
Returns a string of all allowed HTML tags for text editing.
renderObject()
render the object
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.
Container page GUI class.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static copyFile($obj_id, $title, $tmpdir)
getEditFormValues()
Get values for edit form.
createStyleObject()
Create Style.
setTitleAndDescription()
called by prepare output
initAndDisplayCopyIntoMultipleObjectsObject()
static _getItemsOfContainer($a_ref_id)
cloneAllObject()
Clone all object Overwritten method for copying container objects.
allowBlocksMoving()
Standard is to allow blocks moving.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
trashObject()
Show trash content of object.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
if(!array_key_exists('StateId', $_REQUEST)) $id
editPageContentObject()
edit page content (for repository root node and categories)
static _isInTrash($a_ref_id)
checks wether object is in trash
executeCommand()
execute command note: this method is overwritten in all container objects
editOrderObject()
Edit order.
switchToStdEditorObject()
Switch to standard page editor.
prepareOutput($a_show_subobjects=true)
prepare output
static _lookupTitle($a_id)
lookup object title
static _getStandardStyles( $a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
confirmRemoveFromSystemObject()
confirmation screen remove from system
createObject()
create new object form
static _isActive()
Static getter.
isActiveOrdering()
Check if ordering is enabled.
enableMultiDownloadObject()
static addToDesktop()
Add desktop item public.
setInfo($a_info)
Set Info.
setPageEditorTabs()
Add page editor tabs.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
initAndDisplayLinkIntoMultipleObjectsObject()
static gatherFaPa($a_ref_id, array $a_role_ids, $a_add_action=false)
isActiveAdministrationPanel()
initSortingDirectionForm(ilContainerSortingSettings $sorting_settings, $element, $a_prefix)
Add sorting direction.
static _catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static _lookupObjectId($a_ref_id)
lookup object id
getSortNewItemsOrder()
GET new item order.
static _lookupStandard($a_id)
Lookup standard flag.
static _lookupIconPath($a_id, $a_size="big")
lookup icon path
initFormPasswordInstruction()
Init password form.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static _isFinished($a_copy_id)
check if copy is finished
addHeaderRow(&$a_tpl, $a_type, $a_show_image=true)
adds a header row to a block template
setRepositoryItems($a_repositoryitems)
Set Repository Items.
pasteObject()
paste object from clipboard to current place Depending on the chosen command the object(s) are linked...
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\+" &#(? foreach( $entity_files as $file) $output
editStyleObject()
Edit Style.
useNewEditorObject()
Use new editor (-> delete xhtml content page)
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Constructor public.
editStylePropertiesObject()
Edit style properties.
static showMemberViewSwitch($a_ref_id)
Show member view switch.
catch(Exception $e) $message
const SORT_NEW_ITEMS_POSITION_BOTTOM
GUI class for didactic template settings inside repository objects.
showPermanentLink(&$tpl)
show permanent link
savePasswordObject()
Save password.
undeleteObject()
Get objects back from trash.
if(isset($_POST['submit'])) $form
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 _buildPath($a_ref_id, $a_course_ref_id)
build path
addSubItem($a_item)
Add Subitem.
showCustomIconsEditing($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
show edit section of custom icons for container
linkObject()
create an new reference of an object in tree it's like a hard link of unix
Column user interface class.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
clearAdminCommandsDetermination()
cleaer administration commands determination
setColumnSettings(ilColumnGUI $column_gui)
May be overwritten in subclasses.
const SORT_NEW_ITEMS_ORDER_CREATION
allowBlocksConfigure()
Standard is to allow blocks configuration.
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
Repository explorer GUI class.
special template class to simplify handling of ITX/PEAR
omitLocator($a_omit=true)
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
Repository GUI Utilities.
static lookupSortModeFromParentContainer($a_obj_id)
Lookup sort mode from parent container.
showPasteTreeObject()
Show paste tree.
saveStyleSettingsObject()
Save style settings.
addPageTabs()
Add page tabs.
forwardToStyleSheet()
Forward to style object.
& forwardToPageObject()
forward command to page object
Class to report exception.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
cancelMoveLinkObject()
Cancel move|link empty clipboard and return to parent.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static getSyntaxStylePath()
get syntax style path
static getContentStylePath($a_style_id, $add_random=true)
get content style path
static getInstance()
Get singelton instance.
__showTimingsButton(&$tpl)
showPossibleSubObjects()
show possible sub objects selection list
static zip($a_dir, $a_file, $compress_content=false)
zips given directory/file into given zip.file
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify list gui for presentation in container type $lng.
copyObject()
Copy object(s) out from a container and write the information to clipboard It is not possible to copy...
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
disableAdministrationPanelObject()
enable administration panel
static sortModeToString($a_sort_mode)
get String representation of sort mode
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
cloneWizardPageListObject()
public
const SORT_NEW_ITEMS_ORDER_ACTIVATION
getTabs()
common tabs for all container objects (should be called at the end of child getTabs() method ...
Shows all items in one block.
static ilTempnam($a_temp_path=null)
Create a temporary file in an ILIAS writable directory.
setContentSubTabs()
Set content sub tabs.
static removeFromDesktop()
Remove item from personal desktop public.
downloadMultipleObjects($a_ref_ids)
static getInstance()
Get singleton instance.
setStyleId($a_styleid)
Set Style Id.
getSortNewItemsPosition()
GET new item position.
performPasteIntoMultipleObjectsObject()
static _getListGUIByType($a_type, $a_context=ilObjectListGUI::CONTEXT_REPOSITORY)
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.
This class represents a non editable value in a property form.
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.
Create new PHPExcel object
obj_idprivate
Shows all items in one block.
Render add new item selector.
Class ilObjStyleSheetGUI.
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 getInstance()
Get instance.
const SORT_DIRECTION_DESC
static add($a_action, $a_ref_id, array $a_diff, $a_source_ref_id=false)
static getInstance($a_obj_id)
Get instance.
setTabHook($a_object, $a_function)
Set tab hook.
static _lookupAbsolutePath($obj_id, $a_version=null)
getCreationMode()
get creation mode
cutObject()
cut object(s) out from a container and write the information to clipboard
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
static _writeContainerSetting($a_id, $a_keyword, $a_value)
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.
static _cleanupMediaObjectUsage($a_text, $a_usage_type, $a_usage_id)
Synchronises appearances of media objects in $a_text with media object usage table.
initStylePropertiesForm()
Init style properties form.
render()
Add new item selection to current page incl.
static _lookupSortMode($a_obj_id)
lookup sort mode
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
static _getInstance($a_obj_id)
get instance by obj_id
showAdministrationPanel(&$tpl)
show administration panel
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
setAdminCommands($a_admincommands)
Set Administration Commmands.
isActiveItemOrdering()
Check if item ordering is enabled.
static recurseFolder($refid, $title, $tmpdir)
private functions which iterates through all folders and files and create an according file structure...
editPageFrameObject()
show page editor frameset
getContainerPageHTML()
Get container page HTML.
const SORT_NEW_ITEMS_ORDER_TITLE
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
cloneNodes($srcRef, $dstRef, &$mapping, $newName=null)
Recursively clones all nodes of the RBAC tree.
cloneWizardPageObject($a_tree_view=true)
Show clone wizard page for container objects.
getSortDirection()
Get sort direction.
keepObjectsInClipboardObject()
Keep objects in the clipboard.
clipboardObject()
show clipboard
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
setSideColumnReturn()
Set return point for side column actions.
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
setEnableMovement($a_enablemovement)
Set Enable Movement.
GUI class for course objective view.
switchToOldEditorObject()
Switch to old page editor.
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
addStandardContainerSubTabs($a_include_view=true)
Add standar container subtabs for view, manage, oderdering and text/media editor link.
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
cancelPageContentObject()