6require_once
"./Services/Object/classes/class.ilObjectGUI.php";
7require_once
"./Services/Container/classes/class.ilContainer.php";
8include_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"];
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';
201 $this->object->getRefId()
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");
233 $style_gui =
new ilObjStyleSheetGUI(
"", $this->object->getStyleSheetId(),
false,
false);
234 $style_gui->omitLocator();
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") {
279 $this->object->getId(),
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();
313 $this->object->getId()
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);
340 $this->object->getId(),
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")) {
406 $this->object->getId(),
410 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
412 return $xpage->getContent();
420 include_once(
"./Services/COPage/classes/class.ilPageUtil.php");
423 $this->object->getId()
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(
748 ($this->object->gotItems() && !
$_SESSION[
"clipboard"]) ?
true :
false,
749 ($this->object->gotItems() && !
$_SESSION[
"clipboard"]) ?
true :
false
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();
840 $this->object->getType(),
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");
892 $this->object->getId(),
900 $ilCtrl->redirect($this,
"editPageFrame");
910 $this->object->getId(),
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);
938 $this->object->getId(),
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";
992 $this->object->getId(),
1011 if ($xpage_id > 0) {
1013 $xpage->setContent(
$text);
1017 $xpage->setContent(
$text);
1020 $this->object->getId(),
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") {
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();
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") {
1759 } elseif ($obj_type ==
"file") {
1766 $deliverFilename = ilUtil::getAsciiFilename($this->object->getTitle()) .
".zip";
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") {
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);
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();
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') {
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() .
']');
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();
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);
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) {
2095 include_once(
'./Services/AccessControl/classes/class.ilConditionHandler.php');
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) {
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';
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);
2198 $_SESSION[
'paste_linked_repexpand'] = array();
2205 foreach ((array)
$path as $node_id) {
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);
2296 $_SESSION[
'paste_copy_repexpand'] = array();
2303 foreach ((array)
$path as $node_id) {
2304 if (!in_array($node_id,
$_SESSION[
'paste_copy_repexpand'])) {
2305 $_SESSION[
'paste_copy_repexpand'][] = $node_id;
2318 $_SESSION[
'paste_cut_repexpand'] = array();
2325 foreach ((array)
$path as $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) {
2487 $this->tree->moveTree(
$ref_id, $this->object->getRefId());
2490 include_once(
'./Services/AccessControl/classes/class.ilConditionHandler.php');
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()) &&
2685 $this->isActiveAdministrationPanel() &&
2686 $this->allowBlocksMoving()) {
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()),
3012 $path_arr =
$tree->getPathFull($a_ref_id, $a_course_ref_id);
3014 foreach ($path_arr as
$data) {
3039 $tpl->setContent($this->form->getHTML());
3041 $ilTabs->activateTab(
"obj_sty");
3055 $tpl->setTreeFlatIcon(
"",
"");
3056 $ilTabs->clearTargets();
3058 $this->object->getId(),
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();
3076 $page_gui->setStyleId($style_id);
3080 $page_gui->setTabHook($this,
"addPageTabs");
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")
3139 $style_sel->setOptions($st_styles);
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");
3292 $ipass->setRequired(
true);
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') .
3487 $this->object->getId()
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());
3533 $form->addItem($sort);
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);
3568 $element->addSubItem($direction);
3583 $position =
new ilRadioGroupInputGUI($this->lng->txt(
'sorting_new_items_position'), $a_prefix .
'_new_items_position');
3584 $position->setValue(
$settings->getSortNewItemsPosition());
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);
3603 $element->addSubItem($position);
3605 $order =
new ilRadioGroupInputGUI($this->lng->txt(
'sorting_new_items_order'), $a_prefix .
'_new_items_order');
3606 $order->setValue(
$settings->getSortNewItemsOrder());
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);
3640 $element->addSubItem($order);
3653 include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
3657 switch (
$form->getInput(
'sorting')) {
3659 $settings->setSortDirection(
$form->getInput(
'title_sorting_direction'));
3662 $settings->setSortDirection(
$form->getInput(
'activation_sorting_direction'));
3665 $settings->setSortDirection(
$form->getInput(
'creation_sorting_direction'));
3668 $settings->setSortNewItemsPosition(
$form->getInput(
'manual_new_items_position'));
3669 $settings->setSortNewItemsOrder(
$form->getInput(
'manual_new_items_order'));
3670 $settings->setSortDirection(
$form->getInput(
'manual_sorting_direction'));
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,
"");
sprintf('%.4f', $callTime)
if(!isset( $_REQUEST[ 'ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
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 _catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
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.
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.
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.
static _lookupSortMode($a_obj_id)
lookup sort mode
static sortModeToString($a_sort_mode)
get String representation of sort mode
getSortDirection()
Get sort direction.
static _getInstance($a_obj_id)
get instance by obj_id
const SORT_DIRECTION_DESC
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
const SORT_NEW_ITEMS_ORDER_ACTIVATION
const SORT_NEW_ITEMS_ORDER_TITLE
const SORT_NEW_ITEMS_ORDER_CREATION
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)
Class ilObjStyleSheetGUI.
static _lookupStandard($a_id)
Lookup standard flag.
static getSyntaxStylePath()
get syntax style path
static _getStandardStyles( $a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
static getContentStylePath($a_style_id, $add_random=true)
get content style path
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)
zips given directory/file into given zip.file
static ilTempnam($a_temp_path=null)
Create a temporary file in an ILIAS writable directory.
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
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 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 sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
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(!array_key_exists('StateId', $_REQUEST)) $id
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.
catch(Exception $e) $message
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
if(isset($_POST['submit'])) $form