21 require_once
"./Services/Container/classes/class.ilContainerGUI.php";
36 public function __construct($a_data, $a_id = 0, $a_call_by_reference =
true, $a_prepare_output =
false)
40 $this->tree = $DIC->repositoryTree();
41 $this->tabs = $DIC->tabs();
42 $this->
user = $DIC->user();
43 $this->ctrl = $DIC->ctrl();
44 $this->lng = $DIC->language();
45 $this->access = $DIC->access();
46 $this->rbacsystem = $DIC->rbac()->system();
47 $this->
help = $DIC[
"ilHelp"];
48 $this->error = $DIC[
"ilErr"];
49 $this->tpl = $DIC[
"tpl"];
54 $this->lng->loadLanguageModule(
"obj");
67 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
73 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
76 $this->object->getId(),
77 $this->
object->getRefId(),
82 $this->tabs_gui->setTabActive(
'view_content');
95 $ilTabs->activateTab(
"view_content");
96 $ret = parent::renderObject();
105 $next_class = $this->ctrl->getNextClass($this);
106 $cmd = $this->ctrl->getCmd();
108 switch ($next_class) {
110 $ru = new \ilRepUtilGUI($this);
111 $this->ctrl->setReturn($this,
'trash');
112 $this->ctrl->forwardCommand($ru);
115 case 'ilpermissiongui':
117 $this->tabs_gui->activateTab(
'perm_settings');
118 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
120 $ret = &$this->ctrl->forwardCommand($perm_gui);
124 case 'ilcoursecontentgui':
126 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
128 $this->ctrl->forwardCommand($course_content_obj);
131 case "illearningprogressgui":
133 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
137 $this->object->getRefId(),
140 $this->ctrl->forwardCommand($new_gui);
141 $this->tabs_gui->setTabActive(
'learning_progress');
145 case "ilcontainerpagegui":
149 $this->tpl->setContent(
$ret);
153 case 'ilinfoscreengui':
158 case 'ilobjectcopygui':
161 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
163 $cp->setType(
'fold');
164 $this->ctrl->forwardCommand($cp);
167 case "ilobjstylesheetgui":
174 $this->tabs_gui->setTabActive(
'export');
175 include_once
'./Services/Export/classes/class.ilExportGUI.php';
177 $exp->addFormat(
'xml');
178 $this->ctrl->forwardCommand($exp);
181 case "ilcommonactiondispatchergui":
184 $this->ctrl->forwardCommand($gui);
187 case 'ildidactictemplategui':
188 $this->ctrl->setReturn($this,
'edit');
189 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
191 $this->ctrl->forwardCommand($did);
194 $this->tabs_gui->setTabActive(
'none');
199 case 'ilobjecttranslationgui':
203 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
205 $this->ctrl->forwardCommand($transgui);
231 $this->folder_tree = &$a_tree;
244 if (parent::importFileObject($parent_id, $a_catch_errors)) {
245 ilUtil::sendSuccess(
$lng->txt(
"msg_obj_modified"),
true);
246 $this->ctrl->returnToParent($this);
261 $lng->loadLanguageModule($this->object->getType());
263 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
265 $form->setFormAction($this->ctrl->getFormAction($this,
"update"));
266 $form->setTitle($this->lng->txt($this->object->getType() .
"_edit"));
272 $ti->setRequired(
true);
285 $pres->setTitle($this->lng->txt(
'fold_presentation'));
286 $form->addItem($pres);
289 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTitleIconVisibility();
292 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTopActionsVisibility();
295 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addIcon();
298 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTileImage();
313 $form->addCommandButton(
"update", $this->lng->txt(
"save"));
323 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
333 $obj_service->commonSettings()->legacyForm($a_form, $this->
object)->saveTitleIconVisibility();
336 $obj_service->commonSettings()->legacyForm($a_form, $this->
object)->saveTopActionsVisibility();
339 $obj_service->commonSettings()->legacyForm($a_form, $this->
object)->saveIcon();
342 $obj_service->commonSettings()->legacyForm($a_form, $this->
object)->saveTileImage();
358 $this->ctrl->setCmd(
"showSummary");
359 $this->ctrl->setCmdClass(
"ilinfoscreengui");
365 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
371 ilUtil::sendSuccess($this->lng->txt(
"fold_added"),
true);
372 $this->ctrl->setParameter($this,
"ref_id", $a_new_object->
getRefId());
383 $this->ctrl->setCmd(
"showSummary");
384 $this->ctrl->setCmdClass(
"ilinfoscreengui");
395 if (!$ilAccess->checkAccess(
"visible",
"", $this->ref_id)) {
396 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"), $this->
ilias->error_obj->MESSAGE);
399 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
402 $GLOBALS[
'ilTabs']->activateTab(
'info_short');
404 $info->enablePrivateNotes();
406 if ($ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
411 $info->enableNewsEditing(
false);
412 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
414 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
416 if ($enable_internal_rss) {
417 $info->setBlockProperty(
"news",
"settings",
true);
418 $info->setBlockProperty(
"news",
"public_notifications_option",
true);
424 $info->addMetaDataSections($this->object->getId(), 0, $this->
object->getType());
427 $this->ctrl->forwardCommand($info);
442 $this->ctrl->setParameter($this,
"ref_id", $this->ref_id);
444 $ilHelp->setScreenIdComponent(
"fold");
446 $this->tabs_gui->setTabActive(
"");
447 if (
$rbacsystem->checkAccess(
'read', $this->ref_id)) {
448 $this->tabs_gui->addTab(
450 $lng->txt(
"content"),
451 $this->ctrl->getLinkTarget($this,
"")
455 $force_active = ($this->ctrl->getNextClass() ==
"ilinfoscreengui" 456 || strtolower(
$_GET[
"cmdClass"]) ==
"ilnotegui")
459 $this->tabs_gui->addTarget(
461 $this->ctrl->getLinkTargetByClass(
462 array(
"ilobjfoldergui",
"ilinfoscreengui"),
465 array(
"showSummary",
"",
"infoScreen"),
473 if (
$rbacsystem->checkAccess(
'write', $this->ref_id)) {
474 $this->tabs_gui->addTarget(
476 $this->ctrl->getLinkTarget($this,
"edit"),
485 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
487 $this->tabs_gui->addTarget(
489 $this->ctrl->getLinkTargetByClass(array(
'ilobjfoldergui',
'illearningprogressgui'),
''),
491 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui')
495 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
496 $this->tabs_gui->addTarget(
498 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
505 if (
$rbacsystem->checkAccess(
'edit_permission', $this->ref_id)) {
506 $this->tabs_gui->addTarget(
508 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"),
509 array(
"perm",
"info",
"owner"),
515 if (
$_GET[
"baseClass"] ==
"ilRepositoryGUI" and !empty(
$_SESSION[
'il_rep_clipboard'])) {
516 $this->tabs_gui->addTarget(
518 $this->ctrl->getLinkTarget($this,
"clipboard"),
528 public static function _goto($a_target)
532 $ilAccess = $DIC->access();
534 $lng = $DIC->language();
536 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
539 if ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
557 if ($course_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs')) {
558 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
559 include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
563 'ilcoursecontentgui',
569 $this->object->getRefId()
578 if (!$crs_ref =
$tree->checkForParentType($this->ref_id,
'crs')) {
581 include_once
'./Modules/Course/classes/class.ilObjCourse.php';
588 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
590 $this->ctrl->setCmdClass(get_class($course_content_obj));
591 $this->ctrl->setCmd(
'editUserTimings');
592 $this->ctrl->forwardCommand($course_content_obj);
612 $ilTabs->activateTab(
"settings");
615 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_write"),
$ilErr->MESSAGE);
621 $form->setValuesByArray($values,
true);
623 $GLOBALS[
'tpl']->setContent($form->getHTML());
637 $lng->txt(
"fold_settings"),
638 $this->ctrl->getLinkTarget($this,
'edit')
641 $this->tabs_gui->addSubTab(
643 $this->lng->txt(
"obj_multilinguality"),
644 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
"")
647 $ilTabs->activateSubTab($a_tab);
648 $ilTabs->activateTab(
"settings");
setSubTabs($a_tab)
Set sub tabs.
setSortMode($a_mode)
set sort mode
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
GUI class for the workflow of copying objects.
const TITLE_LENGTH
max length of object title
getEditFormValues()
Get values for edit form.
initEditForm()
Init object edit form.
showSummaryObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
prepareOutput($a_show_subobjects=true)
prepare output
static _lookupViewMode($a_id)
lookup view mode of container
setFolderTree($a_tree)
set tree
importFileObject($parent_id=null, $a_catch_errors=true)
Import file object type $lng.
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
getSortMode()
get sort mode
static _modifyItemGUI( $a_item_list_gui, $a_cmd_class, $a_item_data, $a_show_path, $a_abo_status, $a_course_ref_id, $a_course_obj_id, $a_parent_ref_id=0)
We need a static version of this, e.g.
GUI class for didactic template settings inside repository objects.
getId()
get object id public
renderObject()
Render folder.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
updateCustom(ilPropertyFormGUI $a_form)
initDidacticTemplate(ilPropertyFormGUI $form)
Show didactic template types.
static _lookupObjId($a_id)
infoScreen()
show information screen
__construct($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
Constructor public.
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
setCols($a_cols)
Set Cols.
forwardToStyleSheet()
Forward to style object.
& forwardToPageObject()
forward command to page object
redirection script todo: (a better solution should control the processing via a xml file) ...
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container type $tree.
saveListPresentation(ilPropertyFormGUI $form)
Save list presentation setting.
afterSave(ilObject $a_new_object)
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
initListPresentationForm(ilPropertyFormGUI $form)
Add list presentation settings to form.
static _lookupAboStatus($a_id)
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
redirectToRefId($a_ref_id, $a_cmd="")
redirects to (repository) view per ref id usually to a container and usually used at the end of a sav...
__construct(Container $dic, ilPlugin $plugin)
const LP_CONTEXT_REPOSITORY
This class represents a text area property in a property form.
Class ilCourseContentGUI.
getEditFormCustomValues(array &$a_values)
getRefId()
get reference id public
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
getObjectService()
Get object service.
static _goto($a_target)
goto target group
addHeaderAction()
Add header action menu.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
Class ilObjUserTrackingGUI.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
GUI class for object translation handling.