4 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
5 require_once
"./Services/Container/classes/class.ilContainer.php";
6 include_once
'./Services/PersonalDesktop/interfaces/interface.ilDesktopItemHandling.php';
27 function ilContainerGUI($a_data, $a_id, $a_call_by_reference =
true, $a_prepare_output =
true)
31 $this->rbacsystem =& $rbacsystem;
33 $lng->loadLanguageModule(
"cntr");
42 $this->
ilObjectGUI($a_data, $a_id, $a_call_by_reference,
false);
53 $next_class = $this->ctrl->getNextClass();
54 $cmd = $this->ctrl->getCmd(
"render");
59 case "ilpageobjectgui":
60 if (
$_GET[
"redirectSource"] !=
"ilinternallinkgui")
63 $tpl->setContent(
$ret);
71 case "ilobjstylesheetgui":
93 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
94 $values[
'didactic_type'] =
95 'dtpl_'.ilDidacticTemplateObjSettings::lookupTemplateId($this->object->getRefId());
106 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
108 $this->object->getRefId()
112 if($new_tpl_id != $current_tpl_id)
117 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
118 $this->ctrl->setReturn($this,
'edit');
119 $this->ctrl->setCmdClass(
'ildidactictemplategui');
120 $this->ctrl->setCmd(
'confirmTemplateSwitch');
122 return $this->ctrl->forwardCommand($dtpl_gui);
135 $ilTabs->clearTargets();
137 $cmd = $ilCtrl->getCmd();
138 include_once (
"./Services/Style/classes/class.ilObjStyleSheetGUI.php");
139 $this->ctrl->setReturn($this,
"editStyleProperties");
140 $style_gui =
new ilObjStyleSheetGUI(
"", $this->object->getStyleSheetId(),
false,
false);
142 if (
$cmd ==
"create" ||
$_GET[
"new_type"]==
"sty")
144 $style_gui->setCreationMode(
true);
147 if (
$cmd ==
"confirmedDelete")
149 $this->
object->setStyleSheetId(0);
150 $this->
object->update();
153 $ret = $this->ctrl->forwardCommand($style_gui);
155 if (
$cmd ==
"save" ||
$cmd ==
"copyStyle" ||
$cmd ==
"importStyle")
158 $this->
object->setStyleSheetId($style_id);
159 $this->
object->update();
160 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
172 $cmd = $ilCtrl->getCmd();
174 if (in_array(
$cmd, array(
"displayMediaFullscreen",
"downloadFile")))
183 $ilTabs->clearTargets();
185 if (
$_GET[
"redirectSource"] ==
"ilinternallinkgui")
194 $ilTabs->setBackTarget($lng->txt(
"cntr_back_to_old_editor"),
195 $ilCtrl->getLinkTarget($this,
"switchToOldEditor"),
"_top");
199 $ilTabs->setBackTarget($lng->txt(
"back"),
"./goto.php?target=".$this->object->getType().
"_".
200 $this->
object->getRefId(),
"_top");
204 include_once(
"./Services/COPage/classes/class.ilPageObject.php");
205 include_once(
"./Services/COPage/classes/class.ilPageObjectGUI.php");
207 $lng->loadLanguageModule(
"content");
209 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
210 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
213 $this->tpl->setCurrentBlock(
"SyntaxStyle");
214 $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
216 $this->tpl->parseCurrentBlock();
219 $this->
object->getId()))
222 $new_page_object =
new ilPageObject($this->object->getType());
223 $new_page_object->
setParentId($this->object->getId());
224 $new_page_object->setId($this->object->getId());
225 $new_page_object->createFromXML();
231 $this->ctrl->setReturnByClass(
"ilpageobjectgui",
"edit");
238 $this->
object->getId());
239 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
241 $this->object->getStyleSheetId(), $this->
object->getType()));
247 $page_gui->setIntLinkHelpDefault(
"RepositoryItem",
$_GET[
"ref_id"]);
248 $page_gui->setTemplateTargetVar(
"ADM_CONTENT");
249 $page_gui->setLinkXML($link_xml);
251 $page_gui->setFileDownloadLink(
"");
252 $page_gui->setFullscreenLink($this->ctrl->getLinkTarget($this,
"showMediaFullscreen"));
255 $page_gui->setPresentationTitle(
"");
256 $page_gui->setTemplateOutput(
false);
258 $page_gui->setHeader(
"");
259 $page_gui->setEnabledRepositoryObjects(
true);
260 $page_gui->setEnabledFileLists(
false);
261 $page_gui->setEnabledMaps(
true);
262 $page_gui->setEnabledPCTabs(
true);
263 $page_gui->setEnabledInternalLinks(
true);
264 $page_gui->getPageConfig()->addIntLinkFilter(
"File");
271 $wtpl =
new ilTemplate(
"tpl.cntr_old_editor_message.html",
true,
272 true,
"Services/Container");
273 $wtpl->setVariable(
"ALT_WARNING", $lng->txt(
"warning"));
274 $wtpl->setVariable(
"IMG_WARNING",
276 $wtpl->setVariable(
"TXT_MIGRATION_INFO", $lng->txt(
"cntr_switch_to_new_editor_message"));
277 $wtpl->setVariable(
"TXT_MIGRATION_INFO", $lng->txt(
"cntr_switch_to_new_editor_message"));
278 $wtpl->setVariable(
"HREF_SWITCH_TO_NEW_EDITOR",
279 $ilCtrl->getLinkTarget($this,
"useNewEditor"));
280 $wtpl->setVariable(
"TXT_MIGRATION_SWITCH",
281 $lng->txt(
"cntr_switch_to_new_editor_cmd"));
282 $page_gui->setPrependingHtml($wtpl->get());
286 $page_gui->setTabHook($this,
"addPageTabs");
288 $ret =& $this->ctrl->forwardCommand($page_gui);
301 $ilTabs->addTarget(
"obj_sty",
302 $ilCtrl->getLinkTarget($this,
'editStyleProperties'),
"editStyleProperties");
312 if (!$ilSetting->get(
"enable_cat_page_edit"))
322 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
324 return $xpage->getContent();
332 include_once(
"./Services/COPage/classes/class.ilPageUtil.php");
334 $this->
object->getId()))
338 include_once(
"./Services/COPage/classes/class.ilPageObject.php");
339 include_once(
"./Services/COPage/classes/class.ilPageObjectGUI.php");
341 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
342 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
344 $this->tpl->setCurrentBlock(
"SyntaxStyle");
345 $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
347 $this->tpl->parseCurrentBlock();
351 $this->
object->getId());
352 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
354 $this->object->getStyleSheetId(), $this->
object->getType()));
356 $page_gui->setIntLinkHelpDefault(
"StructureObject",
$_GET[
"ref_id"]);
357 $page_gui->setFileDownloadLink(
"");
361 $page_gui->setPresentationTitle(
"");
362 $page_gui->setTemplateOutput(
false);
364 $page_gui->setHeader(
"");
365 $page_gui->setEnabledRepositoryObjects(
true);
366 $page_gui->setEnabledFileLists(
false);
367 $page_gui->setEnabledPCTabs(
true);
368 $page_gui->setEnabledMaps(
true);
369 $ret = $page_gui->showPage();
380 if (parent::prepareOutput())
385 #$this->showPossibleSubObjects();
389 include_once
'./Services/Container/classes/class.ilMemberViewGUI.php';
400 if (
$_GET[
"obj_id"] !=
"")
405 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
411 $mode = (
$_SESSION[
"il_rep_mode"] ==
"flat")
414 $link =
"ilias.php?baseClass=ilRepositoryGUI&cmd=frameset&set_mode=".$mode.
"&ref_id=".$this->
object->getRefId();
415 $tpl->setTreeFlatIcon($link, $mode);
427 $this->tpl->setTitle($this->object->getTitle());
428 $this->tpl->setDescription($this->object->getLongDescription());
432 if ($ilias->getSetting(
"custom_icons") &&
433 in_array($this->object->getType(), array(
"cat",
"grp",
"crs",
"root")))
435 require_once(
"./Services/Container/classes/class.ilContainer.php");
441 $this->tpl->setTitleIcon($icon, $this->lng->txt(
"obj_".$this->object->getType()));
443 include_once
'./Services/Object/classes/class.ilObjectListGUIFactory.php';
445 $lgui->initItem($this->object->getRefId(), $this->
object->getId());
446 $this->tpl->setAlertProperties($lgui->getAlertProperties());
459 $cmd = ($this->cmd !=
"")
461 : $this->ctrl->getCmd();
463 $type = $this->
object->getType();
465 $d = $this->objDefinition->getCreatableSubObjects($type);
466 include_once(
"./Services/Repository/classes/class.ilRepositoryObjectPluginSlot.php");
481 if ($row[
"max"] ==
"" || $count < $row[
"max"])
483 if (!in_array($row[
"name"], array(
"rolf")))
485 if ($this->rbacsystem->checkAccess(
"create", $this->object->getRefId(), $row[
"name"]))
489 include_once(
"./Services/Component/classes/class.ilPlugin.php");
495 $title = $this->lng->txt(
"obj_".$row[
"name"]);
498 $subobj[] = array(
"value" => $row[
"name"],
508 if (is_array($subobj))
510 $formaction =
"ilias.php?baseClass=ilRepositoryGUI&ref_id=".$this->object->getRefId().
"&cmd=post";
515 $subobj,
"create", $this->lng->txt(
"add"));
527 switch ($this->object->getViewMode())
531 include_once(
"./Services/Container/classes/class.ilContainerSimpleContentGUI.php");
536 include_once(
'./Services/Container/classes/class.ilContainerObjectiveGUI.php');
543 include_once(
"./Services/Container/classes/class.ilContainerSessionsContentGUI.php");
549 include_once
'Services/Container/classes/class.ilContainerILincContentGUI.php';
556 include_once(
"./Services/Container/classes/class.ilContainerByTypeContentGUI.php");
561 return $container_view;
578 $ilTabs->activateSubTab(
"manage");
582 $ilTabs->activateSubTab(
"view_content");
585 $container_view->setOutput();
587 $this->adminCommands = $container_view->adminCommands;
591 if ($ilCtrl->getNextClass() !=
"ilcolumngui")
600 if ((
int)
$_GET[
"ref_id"] > 1 && $ilSetting->get(
"rep_tree_synchronize"))
602 $ilCtrl->setParameter($this,
"active_node", (
int)
$_GET[
"ref_id"]);
603 $tpl->addOnloadCode(
"
604 if (parent && parent.tree && parent.tree.updater)
606 parent.tree.updater('tree_div', '".
607 $ilCtrl->getLinkTarget($this,
"showTree",
"",
true,
false)
629 $lng->loadLanguageModule(
'cntr');
633 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
635 $this->ctrl->setParameter($this,
"type",
"");
636 $this->ctrl->setParameter($this,
"item_ref_id",
"");
640 if ($this->object->gotItems())
642 $toolbar->setLeadingImage(
646 $toolbar->addFormButton(
647 $this->lng->txt(
'delete_selected_items'),
650 $toolbar->addFormButton(
651 $this->lng->txt(
'move_selected_items'),
654 $toolbar->addFormButton(
655 $this->lng->txt(
'link_selected_items'),
660 if($this->object->getType() ==
'crs')
662 if($this->object->gotItems())
664 $toolbar->addSeparator();
668 $this->lng->txt(
'cntr_adopt_content'),
669 $this->ctrl->getLinkTargetByClass(
671 'initSourceSelection')
685 $toolbar->addFormButton(
686 $this->lng->txt(
'clear_clipboard'),
690 $GLOBALS[
'tpl']->addAdminPanelToolbar(
692 $this->object->gotItems() ?
true :
false,
693 $this->
object->gotItems() ?
true : false
697 if ($this->object->gotItems())
699 $GLOBALS[
'tpl']->setPageFormAction($this->ctrl->getFormAction($this));
702 if ($this->edit_order)
704 if($this->object->gotItems() and $ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
706 include_once(
'./Services/Container/classes/class.ilContainer.php');
710 $GLOBALS[
"tpl"]->addAdminPanelCommand(
"saveSorting",
711 $this->lng->txt(
'sorting_save'));
714 $GLOBALS[
"tpl"]->admin_panel_bottom =
true;
724 if(!$tree->checkForParentType($this->object->getRefId(),
'crs'))
728 $tpl->setCurrentBlock(
"custom_button");
729 $tpl->setVariable(
"ADMIN_MODE_LINK",$this->ctrl->getLinkTargetByClass(
'ilcoursecontentgui',
'editTimings'));
730 $tpl->setVariable(
"TXT_ADMIN_MODE",$this->lng->txt(
'timings_edit'));
731 $tpl->parseCurrentBlock();
739 $GLOBALS[
"tpl"]->setPermanentLink($this->object->getType(),
740 $this->
object->getRefId(),
"",
"_top");
751 $ilCtrl->redirect($this,
"editPageFrame");
762 $ilCtrl->redirect($this,
"editPageFrame");
772 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
774 include_once(
"./Services/XHTMLPage/classes/class.ilXHTMLPage.php");
791 $ilCtrl->redirect($this,
"editPageFrame");
799 include_once(
"Services/Frameset/classes/class.ilFramesetGUI.php");
802 $fs_gui->setFramesetTitle($this->object->getTitle());
803 $fs_gui->setMainFrameName(
"content");
804 $fs_gui->setSideFrameName(
"tree");
809 if ($xpage_id > 0 &&
$_SESSION[
"il_cntr_editor"] !=
"std")
811 $fs_gui->setMainFrameSource(
812 $this->ctrl->getLinkTarget(
813 $this,
"editPageContent"));
814 $fs_gui->setSideFrameSource(
815 $this->ctrl->getLinkTarget($this,
"showLinkList"));
819 $this->ctrl->redirectByClass(array(
"ilpageobjectgui"),
"edit");
836 if (!$rbacsystem->checkAccess(
"write", $this->ref_id))
838 $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
845 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
847 $content = $xpage->getContent();
851 $tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.container_edit_page_content.html",
852 "Services/Container");
854 $tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
855 $tpl->setVariable(
"TXT_EDIT_PAGE_CONTENT",
856 $this->lng->txt(
"edit_page_content"));
857 $tpl->setVariable(
"TXT_SAVE", $this->lng->txt(
"save"));
858 $tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
859 $tpl->setVariable(
"TXT_MIGRATION_INFO", $lng->txt(
"cntr_old_editor_warning"));
860 $tpl->setVariable(
"TXT_MIGRATION_OPEN_STD_EDITOR", $lng->txt(
"cntr_old_editor_open_standard_editor"));
862 $tpl->setVariable(
"HREF_OPEN_STD_EDITOR", $ilCtrl->getLinkTarget($this,
"switchToStdEditor"));
863 $tpl->setVariable(
"ALT_WARNING", $lng->txt(
"warning"));
865 include_once(
"./Services/Form/classes/class.ilFormPropertyGUI.php");
866 include_once(
"./Services/Form/classes/class.ilTextAreaInputGUI.php");
871 include_once
"./Services/RTE/classes/class.ilRTE.php";
873 include_once
"./Services/RTE/classes/class.$rtestring.php";
874 $rte =
new $rtestring();
876 include_once
"./Services/Object/classes/class.ilObject.php";
879 $rte->addRTESupport(
$obj_id, $obj_type);
886 include_once(
"Services/XHTMLPage/classes/class.ilXHTMLPage.php");
887 include_once
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php";
907 $xpage->setContent($text);
913 $xpage->setContent($text);
916 "xhtml_page", $xpage->getId());
919 include_once(
"Services/RTE/classes/class.ilRTE.php");
921 $this->
object->getId());
924 $this->ctrl->redirect($this,
"");
929 $this->ctrl->redirect($this,
"");
936 include_once(
"Services/Object/classes/class.ilObjectListGUIFactory.php");
941 $type_grps = $this->
object->getGroupedObjTypes();
960 $this->type_template = array();
964 foreach ($type_grps as $type => $v)
967 if (is_int(strpos($output_html,
"[list-".$type.
"]")))
974 $tpl =& $overall_tpl;
978 if (is_array($this->items[$type]))
981 $item_html = array();
983 foreach($this->items[$type] as $key => $item)
986 if ($cur_obj_type != $item[
"type"])
989 $item_list_gui->setContainerObject($this);
992 $ilBench->start(
"ilContainerGUI",
"0210_getListHTML");
997 $item_list_gui->enableDelete(
false);
998 $item_list_gui->enableLink(
false);
999 $item_list_gui->enableCut(
false);
1000 $item_list_gui->enableCopy(
false);
1004 $item_list_gui->enableComments(
true);
1005 $item_list_gui->enableNotes(
true);
1006 $item_list_gui->enableTags(
true);
1008 $html = $item_list_gui->getListItemHTML($item[
"ref_id"],
1009 $item[
"obj_id"], $item[
"title"], $item[
"description"]);
1013 $this->determineAdminCommands($item[
"ref_id"],
1014 $item_list_gui->adminCommandsIncluded());
1015 $ilBench->stop(
"ilContainerGUI",
"0210_getListHTML");
1019 $item_html[] = array(
1021 "item_ref_id" => $item[
"ref_id"],
1022 "item_obj_id" => $item[
"obj_id"],
1023 'item_icon_image_type' => (method_exists($item_list_gui,
'getIconImageType')) ?
1024 $item_list_gui->getIconImageType() :
1032 if (count($item_html) > 0)
1035 if (!$first && $overall)
1037 $this->addSeparatorRow(
$tpl);
1046 if ($this->ilias->getSetting(
"icon_position_in_lists") ==
"item_rows")
1057 $this->current_position = 1;
1058 foreach($item_html as $item)
1061 $this->
addStandardRow(
$tpl, $item[
"html"], $item[
"item_ref_id"], $item[
"item_obj_id"], $item[
'item_icon_image_type']);
1066 if (is_int(strpos($output_html,
"[list-".$type.
"]")))
1068 $this->type_template[$type] =
$tpl;
1079 $this->lng->txt(
"msg_no_type_accessible"), $type);
1080 $this->type_template[$type] =
$tpl;
1092 $this->lng->txt(
"msg_no_type_available"), $type);
1093 $this->type_template[$type] =
$tpl;
1102 if ($output_html !=
"")
1106 $output_html.= $overall_tpl->get();
1111 foreach ($this->type_template as $type =>
$tpl)
1113 $output_html = eregi_replace(
"\[list-".$type.
"\]",
1114 "</p>".$tpl->get().
"<p class=\"ilc_Standard\">",
1122 $page_block =
new ilTemplate(
"tpl.container_page_block.html",
false,
false,
1123 "Services/Container");
1124 $page_block->setVariable(
"CONTAINER_PAGE_CONTENT", $output_html);
1125 $output_html = $page_block->get();
1134 return $output_html;
1141 $tpl =
new ilTemplate(
"tpl.container_link_help.html",
true,
true,
1142 "Services/Container");
1144 $type_ordering = array(
1145 "cat",
"fold",
"crs",
"icrs",
"icla",
"grp",
"chat",
"frm",
"lres",
1146 "glo",
"webr",
"file",
"exc",
1147 "tst",
"svy",
"mep",
"qpl",
"spl");
1149 $childs = $tree->getChilds(
$_GET[
"ref_id"]);
1150 foreach($childs as $child)
1152 if (in_array($child[
"type"], array(
"lm",
"dbk",
"sahs",
"htlm")))
1158 $cnt[$child[
"type"]]++;
1163 $tpl->setVariable(
"TXT_HELP_HEADER", $lng->txt(
"help"));
1164 foreach($type_ordering as $type)
1166 $tpl->setCurrentBlock(
"row");
1167 $tpl->setVariable(
"ROWCOL",
"tblrow".((($i++)%2)+1));
1168 if ($type !=
"lres")
1170 $tpl->setVariable(
"TYPE", $lng->txt(
"objs_".$type).
1171 " (".((int)$cnt[$type]).
")");
1175 $tpl->setVariable(
"TYPE", $lng->txt(
"learning_resources").
1176 " (".((int)$cnt[
"lres"]).
")");
1178 $tpl->setVariable(
"TXT_LINK",
"[list-".$type.
"]");
1179 $tpl->parseCurrentBlock();
1191 $this->adminCommands =
false;
1223 $tpl =
new ilTemplate(
"tpl.container_list_block.html",
true,
true,
1224 "Services/Container");
1225 $this->cur_row_type =
"row_type_1";
1239 $title = $this->lng->txt(
"objs_".$a_type);
1243 $a_tpl->setCurrentBlock(
"container_header_row_image");
1244 $a_tpl->setVariable(
"HEADER_IMG", $icon);
1245 $a_tpl->setVariable(
"HEADER_ALT",
$title);
1249 $a_tpl->setCurrentBlock(
"container_header_row");
1252 $a_tpl->setVariable(
"BLOCK_HEADER_CONTENT",
$title);
1253 $a_tpl->parseCurrentBlock();
1254 $a_tpl->touchBlock(
"container_row");
1267 $this->cur_row_type = ($this->cur_row_type ==
"row_type_1")
1271 $a_tpl->touchBlock($this->cur_row_type);
1274 if ($this->ilias->getSetting(
"icon_position_in_lists") ==
"item_rows")
1277 $alt = $this->lng->txt(
"obj_".$a_image_type);
1280 if ($this->ilias->getSetting(
"custom_icons") &&
1281 in_array($a_image_type, array(
"cat",
"grp",
"crs")))
1283 require_once(
"./Services/Container/classes/class.ilContainer.php");
1290 $a_tpl->setCurrentBlock(
"block_row_image");
1291 $a_tpl->setVariable(
"ROW_IMG", $icon);
1292 $a_tpl->setVariable(
"ROW_ALT", $alt);
1293 $a_tpl->parseCurrentBlock();
1299 $a_tpl->setCurrentBlock(
"block_row_check");
1300 $a_tpl->setVariable(
"ITEM_ID", $a_item_ref_id);
1301 $a_tpl->parseCurrentBlock();
1304 include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
1308 $a_tpl->setCurrentBlock(
'block_position');
1309 $a_tpl->setVariable(
'POS_TYPE',$a_image_type);
1310 $a_tpl->setVariable(
'POS_ID',$a_item_ref_id);
1311 $a_tpl->setVariable(
'POSITION',sprintf(
'%.1f',$this->current_position++));
1312 $a_tpl->parseCurrentBlock();
1316 $a_tpl->setVariable(
"ROW_NBSP",
" ");
1318 $a_tpl->setCurrentBlock(
"container_standard_row");
1319 $a_tpl->setVariable(
"BLOCK_ROW_CONTENT", $a_html);
1320 $a_tpl->parseCurrentBlock();
1321 $a_tpl->touchBlock(
"container_row");
1329 $this->cur_row_type = ($this->cur_row_type ==
"row_type_1")
1333 $a_tpl->touchBlock($this->cur_row_type);
1335 $type = $this->lng->txt(
"obj_".$a_type);
1336 $a_message = str_replace(
"[type]", $type, $a_message);
1338 $a_tpl->setVariable(
"ROW_NBSP",
" ");
1340 $a_tpl->setCurrentBlock(
"container_standard_row");
1341 $a_tpl->setVariable(
"BLOCK_ROW_CONTENT",
1343 $a_tpl->parseCurrentBlock();
1344 $a_tpl->touchBlock(
"container_row");
1349 $this->cur_row_type =
"";
1361 || strtolower($this->ctrl->getCmdClass()) !=
"ilpageobjectgui")
1366 $lng->loadLanguageModule(
"content");
1371 $this->tabs_gui->setBackTarget($this->lng->txt(
"obj_cat"),
1372 $this->ctrl->getLinkTarget($this,
"frameset"),
1375 $this->tabs_gui->addTarget(
"edit", $this->ctrl->getLinkTargetByClass(
"ilpageobjectgui",
"view")
1376 , array(
"",
"view"),
"ilpageobjectgui");
1388 if (!is_object($this->
object))
1393 if ($a_include_view && $ilAccess->checkAccess(
"read",
"", $this->object->getRefId()))
1397 $ilTabs->addSubTab(
"view_content", $lng->txt(
"view"), $ilCtrl->getLinkTarget($this,
""));
1401 $ilTabs->addSubTab(
"view_content", $lng->txt(
"view"), $ilCtrl->getLinkTarget($this,
"disableAdministrationPanel"));
1405 if ( $ilUser->getId() != ANONYMOUS_USER_ID &&
1406 ($this->adminCommands ||
1407 (is_object($this->
object) &&
1408 ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())))
1410 (is_object($this->
object) &&
1411 ($this->
object->getHiddenFilesFound())) ||
1418 $ilTabs->addSubTab(
"manage", $lng->txt(
"cntr_manage"), $ilCtrl->getLinkTarget($this,
""));
1422 $ilTabs->addSubTab(
"manage", $lng->txt(
"cntr_manage"), $ilCtrl->getLinkTarget($this,
"enableAdministrationPanel"));
1425 if ($ilUser->getId() != ANONYMOUS_USER_ID &&
1426 is_object($this->
object) &&
1427 $ilAccess->checkAccess(
"write",
"", $this->object->getRefId()) &&
1431 $ilTabs->addSubTab(
"ordering", $lng->txt(
"cntr_ordering"), $ilCtrl->getLinkTarget($this,
"editOrder"));
1433 if ($ilUser->getId() != ANONYMOUS_USER_ID &&
1434 is_object($this->
object) &&
1435 $ilAccess->checkAccess(
"write",
"", $this->object->getRefId())
1438 if ($ilSetting->get(
"enable_cat_page_edit"))
1440 $ilTabs->addSubTab(
"page_editor", $lng->txt(
"cntr_text_media_editor"), $ilCtrl->getLinkTarget($this,
"editPageFrame"),
1456 if ($rbacsystem->checkAccess(
'edit_permission',$this->ref_id))
1458 $tabs_gui->addTarget(
"perm_settings",
1459 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"),
1460 array(
"perm",
"info",
"owner"),
'ilpermissiongui');
1461 if ($ilCtrl->getNextClass() ==
"ilpermissiongui")
1463 $tabs_gui->activateTab(
"perm_settings");
1468 if (strtolower(
$_GET[
"baseClass"]) ==
"ilrepositorygui" && !empty(
$_SESSION[
"clipboard"]))
1470 $tabs_gui->addTarget(
"clipboard",
1471 $this->ctrl->getLinkTarget($this,
"clipboard"),
"clipboard", get_class($this));
1486 $_SESSION[
"il_cont_admin_panel"] =
true;
1487 $this->ctrl->redirect($this,
"render");
1495 $_SESSION[
"il_cont_admin_panel"] =
false;
1496 $this->ctrl->redirect($this,
"render");
1506 $this->edit_order =
true;
1507 $_SESSION[
"il_cont_admin_panel"] =
false;
1510 $ilTabs->activateSubTab(
"ordering");
1519 return $this->edit_order ?
true :
false;
1531 if((
int)$ilSetting->get(
'disable_my_offers'))
1536 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
1549 if((
int)$ilSetting->get(
'disable_my_offers'))
1554 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
1565 if (!$rbacsystem->checkAccess(
"write",
$_GET[
'item_ref_id']))
1567 $this->ilErr->raiseError($this->lng->txt(
'err_no_permission'),$this->ilErr->MESSAGE);
1571 require_once
'Services/WebDAV/classes/class.ilDAVServer.php';
1574 require_once
'Services/WebDAV/classes/class.ilDAVLocks.php';
1578 $ilUser->getId(), $ilUser->getLogin(),
1579 'ref_'.$_GET[
'item_ref_id'].
'_usr_'.$ilUser->getId(),
1580 time() + 60, 0,
'exclusive'
1603 if (
$_GET[
"item_ref_id"] !=
"")
1612 if (!isset(
$_POST[
"id"]))
1614 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1621 $node_data = $this->tree->getNodeData($ref_id);
1622 $subtree_nodes = $this->tree->getSubTree($node_data);
1624 $all_node_data[] = $node_data;
1625 $all_subtree_nodes[] = $subtree_nodes;
1628 foreach ($subtree_nodes as $node)
1630 if($node[
'type'] ==
'rolf')
1635 if (!$rbacsystem->checkAccess(
'delete',$node[
"ref_id"]))
1637 $no_cut[] = $node[
"ref_id"];
1644 $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_cut").
" ".implode(
',',$this->
getTitlesByRefId($no_cut)),
1645 $this->ilias->error_obj->MESSAGE);
1649 $_SESSION[
"clipboard"][
"cmd"] = $ilCtrl->getCmd();
1668 global $clipboard, $rbacsystem, $rbacadmin,
$ilCtrl;
1670 if (
$_GET[
"item_ref_id"] !=
"")
1675 if (!isset(
$_POST[
"id"]))
1677 $this->ilias->raiseError($this->lng->txt(
"no_checkbox"),$this->ilias->error_obj->MESSAGE);
1683 if (!$rbacsystem->checkAccess(
'delete',$ref_id))
1688 $object =& $this->ilias->obj_factory->getInstanceByRefId($ref_id);
1690 if (!$this->objDefinition->allowLink(
$object->getType()))
1692 $no_link[] =
$object->getType();
1699 $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_link").
" ".
1700 implode(
',',$no_cut),$this->ilias->error_obj->MESSAGE);
1703 if (count($no_link))
1705 $no_link = array_unique($no_link);
1707 foreach ($no_link as $type)
1709 $txt_objs[] = $this->lng->txt(
"objs_".$type);
1712 $this->ilias->raiseError(implode(
', ',$txt_objs).
" ".$this->lng->txt(
"msg_obj_no_link"),$this->ilias->error_obj->MESSAGE);
1719 $clipboard[
"parent"] =
$_GET[
"ref_id"];
1720 $clipboard[
"cmd"] = $ilCtrl->getCmd();
1722 foreach (
$_POST[
"id"] as $ref_id)
1724 $clipboard[
"ref_ids"][] =
$ref_id;
1749 if (isset(
$_POST[
"cmd"][
"clear"]))
1761 global $rbacsystem, $rbacadmin, $rbacreview,
$log,
$tree, $ilObjDataCache,
$ilUser;
1763 if(!in_array(
$_SESSION[
'clipboard'][
'cmd'], array(
'cut',
'link')))
1765 $message = __METHOD__.
": cmd was neither 'cut' nor 'link'; may be a hack attempt!";
1766 $this->ilias->raiseError($message, $this->ilias->error_obj->WARNING);
1769 if(
$_SESSION[
'clipboard'][
'cmd'] ==
'cut')
1772 $_POST[
'nodes'] = array($_POST[
'node']);
1775 if(!is_array(
$_POST[
'nodes']) || !count(
$_POST[
'nodes']))
1778 if(
$_SESSION[
'clipboard'][
'cmd'] ==
'cut')
1786 $folder_objects_cache = array();
1790 $current_parent_id = $tree->getParentId($obj_data->getRefId());
1792 foreach(
$_POST[
'nodes'] as $folder_ref_id)
1794 if(!array_key_exists($folder_ref_id, $folder_objects_cache))
1800 if(!$rbacsystem->checkAccess(
'create', $folder_ref_id, $obj_data->getType()))
1802 $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().
']');
1806 if($folder_ref_id == $current_parent_id)
1808 $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().
']');
1812 if($tree->isGrandChild($ref_id, $folder_ref_id))
1814 $is_child[] = sprintf($this->lng->txt(
'msg_paste_object_not_in_itself'), $obj_data->getTitle().
' ['.$obj_data->getRefId().
']');
1818 if(!in_array($obj_data->getType(), array_keys($this->objDefinition->getSubObjects($folder_objects_cache[$folder_ref_id]->getType()))))
1820 $not_allowed_subobject[] = sprintf($this->lng->txt(
'msg_obj_may_not_contain_objects_of_type'), $folder_objects_cache[$folder_ref_id]->getTitle().
' ['.$folder_objects_cache[$folder_ref_id]->getRefId().
']',
1821 $GLOBALS[
'lng']->txt(
'obj_'.$obj_data->getType()));
1830 $error .= implode(
'<br />', $exists);
1833 if(count($is_child))
1835 $error .= $error !=
'' ?
'<br />' :
'';
1836 $error .= implode(
'<br />', $is_child);
1839 if(count($not_allowed_subobject))
1841 $error .= $error !=
'' ?
'<br />' :
'';
1842 $error .= implode(
'<br />', $not_allowed_subobject);
1845 if(count($no_paste))
1847 $error .= $error !=
'' ?
'<br />' :
'';
1848 $error .= implode(
'<br />', $no_paste);
1854 if(
$_SESSION[
'clipboard'][
'cmd'] ==
'cut')
1862 $log->write(__METHOD__.
", cmd: ".
$_SESSION[
"clipboard"][
"cmd"]);
1868 $ref_ids =
$_SESSION[
'clipboard'][
'ref_ids'];
1869 unset(
$_SESSION[
'clipboard'][
'ref_ids']);
1872 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
1876 if(
$_SESSION[
'clipboard'][
'cmd'] ==
'cut')
1878 foreach(
$_POST[
'nodes'] as $folder_ref_id)
1880 foreach($ref_ids as $ref_id)
1883 $old_parent = $tree->getParentId($ref_id);
1884 $tree->moveTree($ref_id, $folder_ref_id);
1885 $rbacadmin->adjustMovedObjectPermissions($ref_id, $old_parent);
1887 include_once(
'./Services/AccessControl/classes/class.ilConditionHandler.php');
1891 $node_data = $tree->getNodeData($ref_id);
1892 $old_parent_data = $tree->getNodeData($old_parent);
1894 $old_parent_data[
'obj_id']);
1896 $ilObjDataCache->lookupObjId($folder_ref_id));
1909 if(
$_SESSION[
'clipboard'][
'cmd'] ==
'link')
1911 $linked_to_folders = array();
1913 include_once
"Services/AccessControl/classes/class.ilRbacLog.php";
1916 foreach(
$_POST[
'nodes'] as $folder_ref_id)
1918 $linked_to_folders[] = $ilObjDataCache->lookupTitle($ilObjDataCache->lookupObjId($folder_ref_id));
1920 foreach($ref_ids as $ref_id)
1923 $top_node = $tree->getNodeData($ref_id);
1926 $subnodes[
$ref_id] = $tree->getSubtree($top_node);
1930 foreach($subnodes as $key => $subnode)
1934 $new_ref_id = $obj_data->createReference();
1935 $obj_data->putInTree($folder_ref_id);
1936 $obj_data->setPermissions($folder_ref_id);
1939 if($rbac_log_active)
1941 $rbac_log_roles = $rbacreview->getParentRoleIds($new_ref_id,
false);
1947 $node_data = $tree->getNodeData($new_ref_id);
1949 $ilObjDataCache->lookupObjId($folder_ref_id));
1954 $log->write(__METHOD__.
', link finished');
1957 ilUtil::sendSuccess(sprintf($this->lng->txt(
'mgs_objects_linked_to_the_following_folders'), implode(
', ', $linked_to_folders)),
true);
1963 $this->ctrl->returnToParent($this);
1971 $_SESSION[
'paste_linked_repexpand'] = array();
1977 $path = $tree->getPathId((
int)
$_GET[
'ref_id']);
1978 foreach((array)
$path as $node_id)
1980 if(!in_array($node_id,
$_SESSION[
'paste_linked_repexpand']))
1981 $_SESSION[
'paste_linked_repexpand'][] = $node_id;
1989 global $ilTabs, $ilToolbar;
1991 $ilTabs->setTabActive(
'view_content');
1993 if(!in_array(
$_SESSION[
'clipboard'][
'cmd'], array(
'link')))
1995 $message = __METHOD__.
": cmd was not 'link'; may be a hack attempt!";
1996 $this->ilias->raiseError($message, $this->ilias->error_obj->WARNING);
1999 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.paste_into_multiple_objects.html',
2002 require_once
'./Services/Object/classes/class.ilPasteIntoMultipleItemsExplorer.php';
2004 'ilias.php?baseClass=ilRepositoryGUI&cmd=goto',
'paste_linked_repexpand');
2005 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
'showLinkIntoMultipleObjectsTree'));
2006 $exp->setTargetGet(
'ref_id');
2007 $exp->setPostVar(
'nodes[]');
2008 $exp->highlightNode(
$_GET[
'ref_id']);
2009 is_array(
$_POST[
'nodes']) ? $exp->setCheckedItems((array)
$_POST[
'nodes']) : $exp->setCheckedItems(array());
2011 if(
$_GET[
'paste_linked_repexpand'] ==
'')
2013 $expanded = $this->tree->readRootId();
2017 $expanded =
$_GET[
'paste_linked_repexpand'];
2020 $this->tpl->setVariable(
'FORM_TARGET',
'_top');
2021 $this->tpl->setVariable(
'FORM_ACTION', $this->ctrl->getFormAction($this,
'performPasteIntoMultipleObjects'));
2023 $exp->setExpand($expanded);
2026 $output = $exp->getOutput();
2028 $this->tpl->setVariable(
'OBJECT_TREE', $output);
2030 $this->tpl->setVariable(
'CMD_SUBMIT',
'performPasteIntoMultipleObjects');
2031 $this->tpl->setVariable(
'TXT_SUBMIT', $this->lng->txt(
'paste'));
2033 $ilToolbar->addButton($this->lng->txt(
'cancel'), $this->ctrl->getLinkTarget($this,
'cancelMoveLink'));
2043 $GLOBALS[
'ilCtrl']->returnToParent($this);
2051 $_SESSION[
'paste_cut_repexpand'] = array();
2057 $path = $tree->getPathId((
int)
$_GET[
'ref_id']);
2058 foreach((array)
$path as $node_id)
2060 if(!in_array($node_id,
$_SESSION[
'paste_cut_repexpand']))
2061 $_SESSION[
'paste_cut_repexpand'][] = $node_id;
2069 global $ilTabs, $ilToolbar;
2071 $ilTabs->setTabActive(
'view_content');
2073 if(!in_array(
$_SESSION[
'clipboard'][
'cmd'], array(
'cut')))
2075 $message = __METHOD__.
": cmd was not 'cut'; may be a hack attempt!";
2076 $this->ilias->raiseError($message, $this->ilias->error_obj->WARNING);
2079 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.paste_into_multiple_objects.html',
2082 require_once
'./Services/Object/classes/class.ilPasteIntoMultipleItemsExplorer.php';
2084 'ilias.php?baseClass=ilRepositoryGUI&cmd=goto',
'paste_cut_repexpand');
2085 $exp->setExpandTarget($this->ctrl->getLinkTarget($this,
'showMoveIntoObjectTree'));
2086 $exp->setTargetGet(
'ref_id');
2087 $exp->setPostVar(
'node');
2088 $exp->setCheckedItems(array((
int)
$_POST[
'node']));
2089 $exp->highlightNode(
$_GET[
'ref_id']);
2091 if(
$_GET[
'paste_cut_repexpand'] ==
'')
2093 $expanded = $this->tree->readRootId();
2097 $expanded =
$_GET[
'paste_cut_repexpand'];
2100 $this->tpl->setVariable(
'FORM_TARGET',
'_top');
2101 $this->tpl->setVariable(
'FORM_ACTION', $this->ctrl->getFormAction($this,
'performPasteIntoMultipleObjects'));
2103 $exp->setExpand($expanded);
2106 $output = $exp->getOutput();
2108 $this->tpl->setVariable(
'OBJECT_TREE', $output);
2110 $this->tpl->setVariable(
'CMD_SUBMIT',
'performPasteIntoMultipleObjects');
2111 $this->tpl->setVariable(
'TXT_SUBMIT', $this->lng->txt(
'paste'));
2113 $ilToolbar->addButton($this->lng->txt(
'back'), $this->ctrl->getLinkTarget($this,
'cancelMoveLink'));
2124 global $rbacsystem, $rbacadmin, $rbacreview,
$log,
$tree;
2128 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
2132 if (!in_array(
$_SESSION[
"clipboard"][
"cmd"],array(
"cut",
"link",
"copy")))
2134 $message = get_class($this).
"::pasteObject(): cmd was neither 'cut','link' or 'copy'; may be a hack attempt!";
2135 $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING);
2141 $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($ref_id);
2144 if (!$rbacsystem->checkAccess(
'create',$this->object->getRefId(), $obj_data->getType()))
2147 $no_paste_titles[] = $obj_data->getTitle();
2151 if ($this->object->getRefId() == $this->tree->getParentId($obj_data->getRefId()))
2158 if ($this->tree->isGrandChild($ref_id,$this->object->getRefId()))
2164 $obj_type = $obj_data->getType();
2166 if (!in_array($obj_type, array_keys($this->objDefinition->getSubObjects($this->object->getType()))))
2168 $not_allowed_subobject[] = $obj_data->getType();
2175 if (count($exists) &&
$_SESSION[
"clipboard"][
"cmd"] !=
"copy")
2178 $this->ilias->raiseError($this->lng->txt(
"msg_obj_exists"),$this->ilias->error_obj->MESSAGE);
2181 if (count($is_child))
2183 $this->ilias->raiseError($this->lng->txt(
"msg_not_in_itself").
" ".implode(
',',$is_child),
2184 $this->ilias->error_obj->MESSAGE);
2187 if (count($not_allowed_subobject))
2189 $this->ilias->raiseError($this->lng->txt(
"msg_may_not_contain").
" ".implode(
',',$not_allowed_subobject),
2190 $this->ilias->error_obj->MESSAGE);
2193 if (count($no_paste))
2195 $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_paste").
" ".
2196 implode(
',',$no_paste),$this->ilias->error_obj->MESSAGE);
2200 $log->write(
"ilObjectGUI::pasteObject(), cmd: ".
$_SESSION[
"clipboard"][
"cmd"]);
2206 $ref_ids =
$_SESSION[
"clipboard"][
"ref_ids"];
2207 unset(
$_SESSION[
"clipboard"][
"ref_ids"]);
2211 if (
$_SESSION[
"clipboard"][
"cmd"] ==
"copy")
2213 foreach($ref_ids as $ref_id)
2215 $revIdMapping = array();
2217 $oldNode_data = $tree->getNodeData($ref_id);
2218 if ($oldNode_data[
'parent'] == $this->object->getRefId())
2220 require_once
'Modules/File/classes/class.ilObjFileAccess.php';
2222 $newRef = $this->
cloneNodes($ref_id, $this->object->getRefId(), $refIdMapping, $newTitle);
2226 $newRef = $this->
cloneNodes($ref_id, $this->object->getRefId(), $refIdMapping, null);
2230 $old_parent_data = $tree->getParentNodeData($ref_id);
2231 $newNode_data = $tree->getNodeData($newRef);
2233 $oldNode_data[
'obj_id'], $ilUser->getId());
2235 $this->
object->getId());
2239 $log->write(
"ilObjectGUI::pasteObject(), copy finished");
2244 if (
$_SESSION[
"clipboard"][
"cmd"] ==
"cut")
2247 foreach($ref_ids as $ref_id)
2250 $old_parent = $tree->getParentId($ref_id);
2251 $this->tree->moveTree($ref_id,$this->object->getRefId());
2252 $rbacadmin->adjustMovedObjectPermissions($ref_id,$old_parent);
2254 include_once(
'./Services/AccessControl/classes/class.ilConditionHandler.php');
2258 $node_data = $tree->getNodeData($ref_id);
2259 $old_parent_data = $tree->getNodeData($old_parent);
2261 $old_parent_data[
'obj_id']);
2263 $this->
object->getId());
2270 if (
$_SESSION[
"clipboard"][
"cmd"] ==
"link")
2272 foreach ($ref_ids as $ref_id)
2275 $top_node = $this->tree->getNodeData($ref_id);
2278 $subnodes[
$ref_id] = $this->tree->getSubtree($top_node);
2282 foreach ($subnodes as $key => $subnode)
2285 $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($key);
2286 $new_ref_id = $obj_data->createReference();
2287 $obj_data->putInTree(
$_GET[
"ref_id"]);
2288 $obj_data->setPermissions(
$_GET[
"ref_id"]);
2291 $node_data = $tree->getNodeData($new_ref_id);
2293 $this->
object->getId());
2298 $log->write(
"ilObjectGUI::pasteObject(), link finished");
2305 $last_cmd =
$_SESSION[
"clipboard"][
"cmd"];
2311 if ($last_cmd ==
"cut")
2316 else if ($last_cmd ==
"copy")
2320 else if ($last_cmd ==
'link')
2326 $this->ctrl->returnToParent($this);
2342 global $ilAccess,$ilObjDefinition;
2344 if(!$ilAccess->checkAccess(
'copy',
'',
$_GET[
'item_ref_id']))
2349 $this->ctrl->returnToParent($this);
2356 return $this->initAndDisplayCopyIntoObjectObject();
2367 $node_data = $this->tree->getNodeData($ref_id);
2368 $subtree_nodes = $this->tree->getSubTree($node_data);
2370 $all_node_data[] = $node_data;
2371 $all_subtree_nodes[] = $subtree_nodes;
2374 foreach ($subtree_nodes as $node)
2376 if($node[
'type'] ==
'rolf')
2381 if (!$rbacsystem->checkAccess(
'visible,read,copy',$node[
"ref_id"]))
2383 $no_copy[] = $node[
"ref_id"];
2388 if (count($no_copy))
2390 $this->ilias->raiseError($this->lng->txt(
"msg_no_perm_copy").
" ".implode(
',',$this->
getTitlesByRefId($no_copy)),
2391 $this->ilias->error_obj->MESSAGE);
2401 $this->ctrl->returnToParent($this);
2417 $message = sprintf(
'%s::clipboardObject(): Illegal access. Clipboard variable is empty!', get_class($this));
2418 $ilLog->write($message,$ilLog->FATAL);
2419 $ilErr->raiseError($this->lng->txt(
"permission_denied"),$ilErr->WARNING);
2422 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.rep_clipboard.html",
2423 "Services/Container");
2427 $f_result = array();
2437 $f_result[$counter][] = $this->lng->txt(
"obj_".$tmp_obj->getType());
2438 $f_result[$counter][] = $tmp_obj->getTitle();
2440 $f_result[$counter][] = (
$_SESSION[
"clipboard"][
"cmd"] ==
"cut") ? $this->lng->txt(
"move") :$this->lng->txt(
$_SESSION[
"clipboard"][
"cmd"]);
2458 if ($this->ilias->getSetting(
"custom_icons"))
2462 $this->tpl->addBlockFile(
"CONTAINER_ICONS",
"container_icon_settings",
2463 "tpl.container_icon_settings.html",
"Services/Container");
2465 if (($big_icon = $this->object->getBigIconPath()) !=
"")
2467 $this->tpl->setCurrentBlock(
"big_icon");
2468 $this->tpl->setVariable(
"SRC_BIG_ICON", $big_icon);
2469 $this->tpl->parseCurrentBlock();
2471 if ($this->object->getType() !=
"root")
2473 if (($small_icon = $this->object->getSmallIconPath()) !=
"")
2475 $this->tpl->setCurrentBlock(
"small_icon");
2476 $this->tpl->setVariable(
"SRC_SMALL_ICON", $small_icon);
2477 $this->tpl->parseCurrentBlock();
2479 $this->tpl->setCurrentBlock(
"small_icon_row");
2480 $this->tpl->setVariable(
"SMALL_ICON", $this->lng->txt(
"standard_icon"));
2481 $this->tpl->setVariable(
"SMALL_SIZE",
"(".
2482 $this->ilias->getSetting(
"custom_icon_small_width").
"x".
2483 $this->ilias->getSetting(
"custom_icon_small_height").
")");
2484 $this->tpl->setVariable(
"TXT_REMOVE_S", $this->lng->txt(
"remove"));
2485 $this->tpl->parseCurrentBlock();
2487 if (($tiny_icon = $this->object->getTinyIconPath()) !=
"")
2489 $this->tpl->setCurrentBlock(
"tiny_icon");
2490 $this->tpl->setVariable(
"SRC_TINY_ICON", $tiny_icon);
2491 $this->tpl->parseCurrentBlock();
2493 $this->tpl->setCurrentBlock(
"container_icon_settings");
2494 $this->tpl->setVariable(
"SPAN_TITLE", $a_input_colspan + 1);
2495 $this->tpl->setVariable(
"SPAN_INPUT", $a_input_colspan);
2496 $this->tpl->setVariable(
"ICON_SETTINGS", $this->lng->txt(
"icon_settings"));
2497 $this->tpl->setVariable(
"BIG_ICON", $this->lng->txt(
"big_icon"));
2498 $this->tpl->setVariable(
"TINY_ICON", $this->lng->txt(
"tiny_icon"));
2499 $this->tpl->setVariable(
"BIG_SIZE",
"(".
2500 $this->ilias->getSetting(
"custom_icon_big_width").
"x".
2501 $this->ilias->getSetting(
"custom_icon_big_height").
")");
2502 $this->tpl->setVariable(
"TINY_SIZE",
"(".
2503 $this->ilias->getSetting(
"custom_icon_tiny_width").
"x".
2504 $this->ilias->getSetting(
"custom_icon_tiny_height").
")");
2505 $this->tpl->setVariable(
"TXT_REMOVE", $this->lng->txt(
"remove"));
2506 $this->tpl->parseCurrentBlock();
2510 $big_icon = $this->
object->getBigIconPath();
2511 $small_icon = $this->
object->getSmallIconPath();
2512 $tiny_icon = $this->
object->getTinyIconPath();
2517 $title->setTitle($this->lng->txt(
"icon_settings"));
2523 $a_form->addItem(
$title);
2526 $caption = $this->lng->txt(
"big_icon").
" (".
2527 $this->ilias->getSetting(
"custom_icon_big_width").
"x".
2528 $this->ilias->getSetting(
"custom_icon_big_height").
")";
2530 $icon->setImage($big_icon);
2533 $a_form->addItem($icon);
2537 $title->addSubItem($icon);
2541 if ($this->object->getType() !=
"root")
2543 $caption = $this->lng->txt(
"standard_icon").
" (".
2544 $this->ilias->getSetting(
"custom_icon_small_width").
"x".
2545 $this->ilias->getSetting(
"custom_icon_small_height").
")";
2547 $icon->setImage($small_icon);
2550 $a_form->addItem($icon);
2554 $title->addSubItem($icon);
2559 $caption = $this->lng->txt(
"tiny_icon").
" (".
2560 $this->ilias->getSetting(
"custom_icon_tiny_width").
"x".
2561 $this->ilias->getSetting(
"custom_icon_tiny_height").
")";
2563 $icon->setImage($tiny_icon);
2566 $a_form->addItem($icon);
2570 $title->addSubItem($icon);
2582 $this->object->getRefId() &&
2583 !$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
2588 return $_SESSION[
"il_cont_admin_panel"];
2599 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()) &&
2603 $column_gui->setEnableMovement(
true);
2606 $column_gui->setRepositoryItems(
2607 $this->object->getSubItems($this->isActiveAdministrationPanel(),
true));
2611 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
2613 $column_gui->setBlockProperty(
"news",
"settings",
true);
2615 $column_gui->setBlockProperty(
"news",
"default_visibility_option",
true);
2616 $column_gui->setBlockProperty(
"news",
"hide_news_block_option",
true);
2621 $column_gui->setAdminCommands(
true);
2673 include_once(
'Services/CopyWizard/classes/class.ilCopyWizardPageFactory.php');
2675 global $ilObjDataCache,
$tree;
2680 if(isset(
$_SESSION[
'wizard_search_title']))
2682 $this->searchCloneSourceObject();
2692 $this->ctrl->setParameter($this,
'clone_source',(
int)
$_REQUEST[
'clone_source']);
2693 $this->ctrl->setParameter($this,
'new_type',$new_type);
2697 $this->tpl->addJavaScript(
'./Services/CopyWizard/js/ilContainer.js');
2698 $this->tpl->setVariable(
'BODY_ATTRIBUTES',
'onload="ilDisableChilds(\'cmd\');"');
2701 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.container_wizard_page.html',
2702 "Services/Container");
2703 $this->tpl->setVariable(
'FORMACTION',$this->ctrl->getFormAction($this));
2705 $this->tpl->setVariable(
'ALT_IMG',$this->lng->txt(
'obj_'.$new_type));
2706 $this->tpl->setVariable(
'TXT_DUPLICATE',$this->lng->txt($new_type.
'_wizard_page'));
2707 $this->tpl->setVariable(
'INFO_DUPLICATE',$this->lng->txt($new_type.
'_copy_threads_info'));
2708 $this->tpl->setVariable(
'BTN_COPY',$this->lng->txt(
'obj_'.$new_type.
'_duplicate'));
2709 $this->tpl->setVariable(
'BTN_BACK',$this->lng->txt(
'btn_back'));
2710 if(isset(
$_SESSION[
'wizard_search_title']))
2712 $this->tpl->setVariable(
'CMD_BACK',
'searchCloneSource');
2716 $this->tpl->setVariable(
'CMD_BACK',
'create');
2719 $this->tpl->setVariable(
'BTN_TREE',$this->lng->txt(
'treeview'));
2720 $this->tpl->setVariable(
'BTN_LIST',$this->lng->txt(
'flatview'));
2728 foreach($subnodes = $tree->getSubtree($source_node = $tree->getNodeData($source_id),
true) as $node)
2736 if($node[
'type'] ==
'rolf')
2743 for($i = $source_node[
'depth'];$i < $node[
'depth']; $i++)
2745 $this->tpl->touchBlock(
'padding');
2746 $this->tpl->touchBlock(
'end_padding');
2750 $copy_wizard_page->fillTreeSelection($node[
'ref_id'],$node[
'type'],$node[
'depth']);
2752 $this->tpl->setCurrentBlock(
'tree_row');
2754 $this->tpl->setVariable(
'TREE_ALT_IMG',$this->lng->txt(
'obj_'.$node[
'type']));
2755 $this->tpl->setVariable(
'TREE_TITLE',$node[
'title']);
2756 $this->tpl->parseCurrentBlock();
2760 $this->tpl->setCurrentBlock(
'no_content');
2761 $this->tpl->setVariable(
'TXT_NO_CONTENT',$this->lng->txt(
'container_no_items'));
2762 $this->tpl->parseCurrentBlock();
2766 $this->tpl->setCurrentBlock(
'tree_footer');
2767 $this->tpl->setVariable(
'TXT_COPY_ALL',$this->lng->txt(
'copy_all'));
2768 $this->tpl->setVariable(
'TXT_LINK_ALL',$this->lng->txt(
'link_all'));
2769 $this->tpl->setVariable(
'TXT_OMIT_ALL',$this->lng->txt(
'omit_all'));
2770 $this->tpl->parseCurrentBlock();
2776 foreach($tree->getSubTreeTypes($source_id,array(
'rolf',
'crs')) as $type)
2779 if(strlen($html = $copy_wizard_page->getWizardPageBlockHTML()))
2781 $this->tpl->setCurrentBlock(
'obj_row');
2782 $this->tpl->setVariable(
'ITEM_BLOCK',$html);
2783 $this->tpl->parseCurrentBlock();
2800 include_once(
'./Services/Link/classes/class.ilLink.php');
2801 include_once(
'Services/CopyWizard/classes/class.ilCopyWizardOptions.php');
2807 $clone_source = (int)
$_REQUEST[
'clone_source'];
2809 if(!$rbacsystem->checkAccess(
'create',
$ref_id,$new_type))
2811 $ilErr->raiseError($this->lng->txt(
'permission_denied'));
2819 if(!$ilAccess->checkAccess(
'write',
'', $clone_source,$new_type))
2821 $ilErr->raiseError($this->lng->txt(
'permission_denied'));
2824 $options =
$_POST[
'cp_options'] ?
$_POST[
'cp_options'] : array();
2832 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$ref_id);
2833 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
2838 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$result);
2839 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
2853 include_once(
'Services/Container/classes/class.ilContainerSorting.php');
2857 $positions = str_replace(
',',
'.',
$_POST[
'position']);
2859 $sorting->savePost($positions);
2861 $this->ctrl->redirect($this,
"editOrder");
2881 $srcObj =& $ilias->obj_factory->getInstanceByRefId($srcRef);
2882 error_log(__METHOD__.
' cloning srcRef='.$srcRef.
' dstRef='.$dstRef.
'...');
2883 $newRef = $srcObj->cloneObject($dstRef)->getRefId();
2884 error_log(__METHOD__.
' ...cloning... newRef='.$newRef.
'...');
2889 if (! is_null($newName))
2891 $newObj =& $ilias->obj_factory->getInstanceByRefId($newRef);
2892 $newObj->setTitle($newName);
2897 $mapping[$newRef] = $srcRef;
2900 $children = $tree->getChilds($srcRef);
2901 foreach ($tree->getChilds($srcRef) as $child)
2905 if ($child[
"type"] !=
'rolf')
2907 $this->
cloneNodes($child[
"ref_id"],$newRef,$mapping);
2911 if (count($rolf = $tree->getChildsByType($newRef,
"rolf")))
2913 $mapping[$rolf[0][
"ref_id"]] = $child[
"ref_id"];
2917 error_log(__METHOD__.
' ...cloned srcRef='.$srcRef.
' dstRef='.$dstRef.
' newRef='.$newRef);
2931 $a_item_list_gui->addCustomProperty($lng->txt(
'path'),
2932 ilContainer::buildPath($a_item_data[
'ref_id'], $this->object->getRefId()),
2944 $path_arr = $tree->getPathFull($a_ref_id, $a_course_ref_id);
2946 foreach($path_arr as
$data)
2952 $path .= $data[
'title'];
2967 global $ilTabs,
$tpl;
2972 $tpl->setContent($this->form->getHTML());
2974 $ilTabs->activateTab(
"obj_sty");
2984 $tpl->setTreeFlatIcon(
"",
"");
2985 $ilTabs->clearTargets();
2990 $ilTabs->setBackTarget($lng->txt(
"cntr_back_to_old_editor"),
2991 $ilCtrl->getLinkTarget($this,
"switchToOldEditor"),
"_top");
2995 $ilTabs->setBackTarget($lng->txt(
"back"),
"./goto.php?target=".$this->object->getType().
"_".
2996 $this->
object->getRefId(),
"_top");
2999 include_once(
"./Services/COPage/classes/class.ilPageObjectGUI.php");
3001 $this->
object->getId());
3002 $style_id = $this->
object->getStyleSheetId();
3014 $ilCtrl->getHTML($page_gui);
3015 $ilTabs->setTabActive(
"obj_sty");
3017 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
3018 $lng->loadLanguageModule(
"style");
3020 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
3023 $fixed_style = $ilSetting->get(
"fixed_content_style_id");
3026 if ($fixed_style > 0)
3030 $this->lng->txt(
"global_fixed").
")");
3031 $this->form->addItem($st);
3038 $st_styles[0] = $this->lng->txt(
"default");
3048 $this->form->addItem($st);
3053 $this->form->addCommandButton(
"editStyle",
3054 $lng->txt(
"style_edit_style"));
3055 $this->form->addCommandButton(
"deleteStyle",
3056 $lng->txt(
"style_delete_style"));
3064 $st_styles,
false,
true);
3065 $style_sel =
new ilSelectInputGUI($lng->txt(
"style_current_style"),
"style_id");
3067 $style_sel->setValue($style_id);
3068 $this->form->addItem($style_sel);
3070 $this->form->addCommandButton(
"saveStyleSettings",
3072 $this->form->addCommandButton(
"createStyle",
3073 $lng->txt(
"sty_create_ind_style"));
3076 $this->form->setTitle($lng->txt(
"obj_sty"));
3077 $this->form->setFormAction($ilCtrl->getFormAction($this));
3087 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
3097 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
3107 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
3117 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
3118 if ($ilSetting->get(
"fixed_content_style_id") <= 0 &&
3120 || $this->object->getStyleSheetId() == 0))
3123 $this->
object->update();
3126 $this->ctrl->redirect($this,
"editStyleProperties");
3143 include_once
'Services/Object/classes/class.ilObjectListGUIFactory.php';
3145 $item_list_gui->setContainerObject($this);
3147 $item_list_gui->enableComments(
true);
3148 $item_list_gui->enableNotes(
true);
3149 $item_list_gui->enableTags(
true);
3152 $html = $item_list_gui->getListItemHTML(
$ref_id,
3156 global $ilPluginAdmin;
3157 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
3158 foreach ($pl_names as $pl)
3161 $gui_class = $ui_plugin->getUIClassInstance();
3162 $resp = $gui_class->getHTML(
"Services/Container",
"async_item_list", array(
"html" => $html));
3165 $html = $gui_class->modifyHTML($html, $resp);
3179 global
$tpl,$ilToolbar;
3187 include_once (
'Services/WebDAV/classes/class.ilDAVServer.php');
3189 $ilToolbar->addButton(
3190 $this->lng->txt(
'mount_webfolder'),
3191 $davServer->getMountURI($this->object->getRefId()),
3194 $davServer->getFolderURI($this->object->getRefId())
3197 $tpl->setContent($this->form->getHTML());
3206 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
3208 $this->form->setFormAction($this->ctrl->getFormAction($this));
3211 $ipass =
new ilPasswordInputGUI($this->lng->txt(
"desired_password"),
"new_password");
3214 $this->form->addItem($ipass);
3215 $this->form->addCommandButton(
"savePassword", $this->lng->txt(
"save"));
3216 $this->form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
3218 $this->form->setTitle($this->lng->txt(
"chg_ilias_and_webfolder_password"));
3219 $this->form->setFormAction($this->ctrl->getFormAction($this));
3233 if($form->checkInput())
3235 $ilUser->resetPassword($this->form->getInput(
'new_password'),$this->form->getInput(
'new_password'));
3240 $form->setValuesByPost();
3252 $item_data = $this->
object->getSubItems(
false,
false, (
int)
$_GET[
"child_ref_id"]);
3254 foreach ($this->object->items[
"_all"] as $id)
3256 if ($id[
"child"] == (
int) $_GET[
"child_ref_id"])
3258 $html = $container_view->renderItem($id);
3277 include_once
'./Services/WebServices/FileManager/classes/class.ilFMSettings.php';
3282 $lg->addCustomCommand($this->ctrl->getLinkTarget($this,
'fileManagerLaunch'),
'fm_start',
'_blank');
3296 $tpl =
new ilTemplate(
'tpl.fm_launch_ws.html',
false,
false,
'Services/WebServices/FileManager');
3297 $tpl->setVariable(
'JNLP_URL',ILIAS_HTTP_PATH.
'/Services/WebServices/FileManager/lib/dist/FileManager.jnlp');
3298 $tpl->setVariable(
'SESSION_ID',
$_COOKIE[
'PHPSESSID'].
'::'.CLIENT_ID);
3299 $tpl->setVariable(
'UID',$ilUser->getId());
3300 $tpl->setVariable(
'REF_ID', $this->object->getRefId());
3301 $tpl->setVariable(
'WSDL_URI', ILIAS_HTTP_PATH.
'/webservice/soap/server.php?wsdl');
3303 $tpl->setVariable(
'REST_URI',ILIAS_HTTP_PATH.
'/Services/WebServices/Rest/server.php');
3304 $tpl->setVariable(
'FILE_LOCKS',0);
3307 include_once(
"./Modules/SystemFolder/classes/class.ilObjSystemFolder.php");
3309 $tpl->setVariable(
'HEADER_TITLE',$header_top_title ? $header_top_title :
'');
3324 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3326 $ru->showTrashTable(
$_GET[
"ref_id"]);
3336 global
$log, $ilAppEventHandler,
$lng;
3338 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3340 $ru->removeObjectsFromSystem(
$_POST[
"trash_id"]);
3341 $this->ctrl->redirect($this,
"trash");
3349 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3351 $ru->restoreObjects(
$_GET[
"ref_id"],
$_POST[
"trash_id"]);
3352 $this->ctrl->redirect($this,
"trash");
3361 include_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
3363 if(!isset(
$_POST[
"trash_id"]))
3366 $this->ctrl->redirect($this,
"trash");
3370 $ru->confirmRemoveFromSystemObject(
$_POST[
"trash_id"]);