19require_once
"./Services/Container/classes/class.ilContainerGUI.php";
20require_once
"./Modules/Category/classes/class.ilObjCategoryGUI.php";
28 public function __construct($a_data, $a_id, $a_call_by_reference =
true, $a_prepare_output =
true)
33 parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
35 $lng->loadLanguageModule(
"cntr");
36 $lng->loadLanguageModule(
"obj");
54 $this->ctrl->returnToParent($this);
77 global $rbacsystem,
$lng, $ilHelp;
79 $ilHelp->setScreenIdComponent(
"root");
81 $this->ctrl->setParameter($this,
"ref_id",$this->ref_id);
83 if ($rbacsystem->checkAccess(
'read',$this->ref_id))
85 $this->tabs_gui->addTab(
'view_content',
$lng->txt(
"content"),
86 $this->ctrl->getLinkTarget($this,
""));
89 if ($rbacsystem->checkAccess(
'write',$this->ref_id))
91 $force_active = (
$_GET[
"cmd"] ==
"edit")
94 $this->tabs_gui->addTarget(
"settings",
95 $this->ctrl->getLinkTarget($this,
"edit"),
"edit", get_class($this)
108 $next_class = $this->ctrl->getNextClass($this);
109 $cmd = $this->ctrl->getCmd();
116 case 'ilcontainerlinklistgui':
117 include_once(
"Services/Container/classes/class.ilContainerLinkListGUI.php");
119 $ret =& $this->ctrl->forwardCommand($link_list_gui);
123 case "ilcontainerpagegui":
128 $this->tpl->setContent(
$ret);
132 case 'ilpermissiongui':
134 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
136 $ret =& $this->ctrl->forwardCommand($perm_gui);
142 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
143 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
148 case 'ilobjectcopygui':
150 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
152 $cp->setType(
'root');
153 $this->ctrl->forwardCommand($cp);
156 case "ilobjstylesheetgui":
160 case "ilcommonactiondispatchergui":
161 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
163 $this->ctrl->forwardCommand($gui);
166 case 'ilobjecttranslationgui':
171 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
173 $this->ctrl->forwardCommand($transgui);
179 if (
$cmd ==
"infoScreen")
188 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
189 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
212 include_once
"Services/Object/classes/class.ilObjectListGUI.php";
213 ilObjectListGUI::prepareJSLinks(
"",
214 $this->ctrl->getLinkTargetByClass(array(
"ilcommonactiondispatchergui",
"ilnotegui"),
"",
"",
true,
false),
215 $this->ctrl->getLinkTargetByClass(array(
"ilcommonactiondispatchergui",
"iltagginggui"),
"",
"",
true,
false));
217 $ilTabs->activateTab(
"view_content");
218 $ret = parent::renderObject();
231 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
233 parent::viewObject();
250 parent::setTitleAndDescription();
251 $this->tpl->setDescription(
"");
254 if ($this->object->getTitle() ==
"ILIAS")
256 $this->tpl->setTitle(
$lng->txt(
"repository"));
260 if ($this->object->getDescription() !=
"")
262 $this->tpl->setDescription($this->object->getDescription());
270 $this->tabs_gui->addSubTab(
"settings_misc",
271 $this->lng->txt(
"settings"),
272 $this->ctrl->getLinkTarget($this,
"edit"));
278 $this->tabs_gui->addSubTab(
"settings_trans",
279 $this->lng->txt(
"obj_multilinguality"),
280 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
""));
283 $this->tabs_gui->activateTab(
"settings");
284 $this->tabs_gui->activateSubTab($active_tab);
291 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
293 $form->setFormAction($this->ctrl->getFormAction($this));
294 $form->setTitle($this->lng->txt(
"repository"));
302 ilcontainer::SORT_MANUAL
310 $hide =
new ilCheckboxInputGUI($this->lng->txt(
"cntr_hide_title_and_icon"),
"hide_header_icon_and_title");
312 $form->addItem($hide);
315 $form->addCommandButton(
"update", $this->lng->txt(
"save"));
316 $form->addCommandButton(
"addTranslation", $this->lng->txt(
"add_translation"));
337 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
342 if($form->checkInput())
350 if(
$_POST[
"cont_icon_delete"])
352 $this->
object->removeCustomIcon();
354 $this->
object->saveIcons($_FILES[
"cont_icon"][
'tmp_name']);
359 "hide_header_icon_and_title",
360 $form->getInput(
"hide_header_icon_and_title"));
364 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
370 $this->ctrl->redirect($this,
"edit");
375 $form->setValuesByPost();
376 $this->tpl->setContent($form->getHTML());
388 $this->ctrl->redirectByClass(
"ilobjecttranslationgui",
"");
390 $this->lng->loadLanguageModule($this->object->getType());
393 include_once(
"./Services/Object/classes/class.ilObjectTranslationTableGUI.php");
396 if ($a_get_post_values)
399 foreach(
$_POST[
"title"] as $k => $v)
401 $vals[] = array(
"title" => $v,
402 "desc" =>
$_POST[
"desc"][$k],
403 "lang" =>
$_POST[
"lang"][$k],
404 "default" => (
$_POST[
"default"] == $k));
406 $table->setData($vals);
410 $data = $this->
object->getTranslations();
411 foreach(
$data[
"Fobject"] as $k => $v)
413 $data[
"Fobject"][$k][
"default"] = ($k ==
$data[
"default_language"]);
415 $table->setData(
$data[
"Fobject"]);
417 $tpl->setContent($table->getHTML());
427 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->ilias->error_obj->MESSAGE);
431 if (!isset(
$_POST[
"default"]) && count(
$_POST[
"lang"]) > 0)
438 if (array_key_exists(
"",
$_POST[
"lang"]))
445 if (count(array_unique(
$_POST[
"lang"])) < count(
$_POST[
"lang"]))
452 $this->
object->removeTranslations();
454 if(
sizeof(
$_POST[
"title"]))
456 foreach(
$_POST[
"title"] as $k => $v)
459 $is_default = (
$_POST[
"default"] == $k);
464 $this->
object->update();
467 $this->
object->addTranslation(
477 $this->
object->setTitle(
"ILIAS");
478 $this->
object->setDescription(
"");
479 $this->
object->update();
483 $this->ctrl->redirect($this,
"editTranslations");
491 if(
sizeof(
$_POST[
"title"]))
493 $k = max(array_keys(
$_POST[
"title"]))+1;
509 foreach(
$_POST[
"title"] as $k => $v)
513 unset(
$_POST[
"title"][$k]);
514 unset(
$_POST[
"desc"][$k]);
515 unset(
$_POST[
"lang"][$k]);
516 if(
$_POST[
"default"] == $k)
523 if($del_default &&
sizeof(
$_POST[
"title"]))
525 $_POST[
"default"] = array_shift(array_keys(
$_POST[
"title"]));
533 public static function _goto($a_target)
An exception for terminatinating execution or to throw for unit testing.
static _catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
& forwardToPageObject()
forward command to page object
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
prepareOutput($a_show_subobjects=true)
prepare output
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
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
Class ilContainerLinkListGUI.
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
static _writeContainerSetting($a_id, $a_keyword, $a_value)
static _importCategories($a_ref_id, $withrol_tmp)
import categories (static, also called by RootFolderGUI)
static _importCategoriesForm($a_ref_id, &$a_tpl)
display form for category import (static, also called by RootFolderGUI)
Class ilObjRootFolderGUI.
importCategoriesFormObject()
import categories form
importCategoriesWithRolObject()
import categories
updateObject()
updates object entry in object_data
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
saveTranslationsObject()
Save title and translations.
static _goto($a_target)
goto target group
getTabs()
common tabs for all container objects (should be called at the end of child getTabs() method
getEditFormValues()
Get values for edit form.
initEditForm()
Init object edit form.
executeCommand()
execute command note: this method is overwritten in all container objects
viewObject()
View root folder.
importCancelledObject()
import cancelled
deleteTranslationsObject()
Remove translation.
setTitleAndDescription()
called by prepare output
setEditTabs($active_tab="settings_misc")
addTranslationObject()
Add a translation.
importCategoriesObject()
import categories
renderObject()
Render root folder.
editTranslationsObject($a_get_post_values=false)
Edit title and translations.
static getContentStylePath($a_style_id)
get content style path
GUI class for the workflow of copying objects.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
GUI class for object translation handling.
TableGUI class for title/description translations.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
redirection script todo: (a better solution should control the processing via a xml file)