21require_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';
325 $a_values[
"sor"] = $sort->getSortMode();
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();
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");
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
& forwardToPageObject()
forward command to page object
getEditFormValues()
Get values for edit form.
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
prepareOutput($a_show_subobjects=true)
prepare output
saveListPresentation(ilPropertyFormGUI $form)
Save list presentation setting.
forwardToStyleSheet()
Forward to style object.
initListPresentationForm(ilPropertyFormGUI $form)
Add list presentation settings to form.
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
Class ilCourseContentGUI.
GUI class for didactic template settings inside repository objects.
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
Class ilObjUserTrackingGUI.
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
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.
static _lookupViewMode($a_id)
lookup view mode of container
static _lookupAboStatus($a_id)
setFolderTree($a_tree)
set tree
importFileObject($parent_id=null, $a_catch_errors=true)
Import file object @global type $lng.
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container @global type $tree.
renderObject()
Render folder.
getEditFormCustomValues(array &$a_values)
Add values to custom edit fields.
executeCommand()
execute command note: this method is overwritten in all container objects
afterSave(ilObject $a_new_object)
Post (successful) object creation hook.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
updateCustom(ilPropertyFormGUI $a_form)
Insert custom update form values into object.
setSubTabs($a_tab)
Set sub tabs.
static _goto($a_target)
goto target group
showSummaryObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
__construct($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
Constructor @access public.
initEditForm()
Init object edit form.
infoScreen()
show information screen
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 _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
initDidacticTemplate(ilPropertyFormGUI $form)
Show didactic template types.
addHeaderAction()
Add header action menu.
getObjectService()
Get object service.
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...
GUI class for object translation handling.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
const TITLE_LENGTH
max length of object title
getRefId()
get reference id @access public
getId()
get object id @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents a text area property in a property form.
This class represents a text property in a property form.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
redirection script todo: (a better solution should control the processing via a xml file)