21require_once
"./Services/Container/classes/class.ilContainerGUI.php";
31 public function __construct($a_data, $a_id = 0, $a_call_by_reference =
true, $a_prepare_output =
false)
34 parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output,
false);
47 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
54 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
56 $this->object->getRefId(),
'fold');
59 $this->tabs_gui->setTabActive(
'view_content');
72 $ilTabs->activateTab(
"view_content");
73 $ret = parent::renderObject();
81 $next_class = $this->ctrl->getNextClass($this);
82 $cmd = $this->ctrl->getCmd();
89 case 'ilpermissiongui':
91 $this->tabs_gui->setTabActive(
'perm_settings');
92 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
94 $ret =& $this->ctrl->forwardCommand($perm_gui);
97 case 'ilcoursecontentgui':
99 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
101 $this->ctrl->forwardCommand($course_content_obj);
104 case "illearningprogressgui":
106 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
109 $this->object->getRefId(),
111 $this->ctrl->forwardCommand($new_gui);
112 $this->tabs_gui->setTabActive(
'learning_progress');
116 case "ilcontainerpagegui":
121 $this->tpl->setContent(
$ret);
125 case 'ilinfoscreengui':
130 case 'ilobjectcopygui':
133 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
135 $cp->setType(
'fold');
136 $this->ctrl->forwardCommand($cp);
139 case "ilobjstylesheetgui":
146 $this->tabs_gui->setTabActive(
'export');
147 include_once
'./Services/Export/classes/class.ilExportGUI.php';
149 $exp->addFormat(
'xml');
150 $this->ctrl->forwardCommand($exp);
153 case "ilcommonactiondispatchergui":
154 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
156 $this->ctrl->forwardCommand($gui);
159 case 'ildidactictemplategui':
160 $this->ctrl->setReturn($this,
'edit');
161 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
163 $this->ctrl->forwardCommand($did);
166 $this->tabs_gui->setTabActive(
'none');
171 case 'ilbackgroundtaskhub':
172 include_once
'./Services/BackgroundTask/classes/class.ilBackgroundTaskHub.php';
174 $this->ctrl->forwardCommand($bggui);
203 $this->folder_tree =& $a_tree;
216 if(parent::importFileObject($parent_id, $a_catch_errors))
219 $this->ctrl->returnToParent($this);
245 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
247 $a_values[
"sor"] = $sort->getSortMode();
263 $this->ctrl->setCmd(
"showSummary");
264 $this->ctrl->setCmdClass(
"ilinfoscreengui");
270 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
277 $this->ctrl->setParameter($this,
"ref_id", $a_new_object->
getRefId());
288 $this->ctrl->setCmd(
"showSummary");
289 $this->ctrl->setCmdClass(
"ilinfoscreengui");
300 if (!$ilAccess->checkAccess(
"visible",
"", $this->ref_id))
302 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
305 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
308 $GLOBALS[
'ilTabs']->activateTab(
'info_short');
310 $info->enablePrivateNotes();
312 if ($ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
318 $info->enableNewsEditing(
false);
319 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]))
322 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
324 if ($enable_internal_rss)
326 $info->setBlockProperty(
"news",
"settings",
true);
327 $info->setBlockProperty(
"news",
"public_notifications_option",
true);
333 $info->addMetaDataSections($this->object->getId(),0, $this->object->getType());
336 $this->ctrl->forwardCommand(
$info);
345 global $rbacsystem,
$lng,
$ilCtrl,$ilAccess, $ilHelp;
347 $this->ctrl->setParameter($this,
"ref_id",$this->ref_id);
349 $ilHelp->setScreenIdComponent(
"fold");
351 $this->tabs_gui->setTabActive(
"");
352 if ($rbacsystem->checkAccess(
'read',$this->ref_id))
354 $this->tabs_gui->addTab(
"view_content",
$lng->txt(
"content"),
355 $this->ctrl->getLinkTarget($this,
""));
358 $force_active = ($this->ctrl->getNextClass() ==
"ilinfoscreengui"
359 || strtolower(
$_GET[
"cmdClass"]) ==
"ilnotegui")
362 $this->tabs_gui->addTarget(
"info_short",
363 $this->ctrl->getLinkTargetByClass(
364 array(
"ilobjfoldergui",
"ilinfoscreengui"),
"showSummary"),
365 array(
"showSummary",
"",
"infoScreen"),
366 "",
"", $force_active);
370 if ($rbacsystem->checkAccess(
'write',$this->ref_id))
372 $this->tabs_gui->addTarget(
"settings",
373 $this->ctrl->getLinkTarget($this,
"edit"),
"edit",
"",
"", (
$ilCtrl->getCmd() ==
"edit"));
377 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
380 $this->tabs_gui->addTarget(
'learning_progress',
381 $this->ctrl->getLinkTargetByClass(array(
'ilobjfoldergui',
'illearningprogressgui'),
''),
383 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui'));
386 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
388 $this->tabs_gui->addTarget(
390 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
397 if ($rbacsystem->checkAccess(
'edit_permission',$this->ref_id))
399 $this->tabs_gui->addTarget(
"perm_settings",
400 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"), array(
"perm",
"info",
"owner"),
'ilpermissiongui');
404 if (
$_GET[
"baseClass"] ==
"ilRepositoryGUI" and !empty(
$_SESSION[
'il_rep_clipboard']))
406 $this->tabs_gui->addTarget(
"clipboard",
407 $this->ctrl->getLinkTarget($this,
"clipboard"),
"clipboard", get_class($this));
415 public static function _goto($a_target)
419 if ($ilAccess->checkAccess(
"read",
"", $a_target))
430 if (!$ilAccess->checkAccess(
"read",
"", $this->ref_id))
432 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
434 $filename = $this->
object->downloadFolder();
450 if ($course_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs'))
452 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
453 include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
457 'ilcoursecontentgui',
463 $this->object->getRefId()
472 if(!$crs_ref =
$tree->checkForParentType($this->ref_id,
'crs'))
476 include_once
'./Modules/Course/classes/class.ilObjCourse.php';
484 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
486 $this->ctrl->setCmdClass(get_class($course_content_obj));
487 $this->ctrl->setCmd(
'editUserTimings');
488 $this->ctrl->forwardCommand($course_content_obj);
507 $ilTabs->activateTab(
"settings");
511 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_write"),
$ilErr->MESSAGE);
518 $form->setValuesByArray($values,TRUE);
520 $GLOBALS[
'tpl']->setContent($form->getHTML());
529 global $ilTabs,
$lng;
531 $ilTabs->addSubTab(
"settings",
532 $lng->txt(
"fold_settings"),
533 $this->ctrl->getLinkTarget($this,
'edit'));
536 if ($this->
ilias->getSetting(
"custom_icons"))
538 $ilTabs->addSubTab(
"icons",
539 $lng->txt(
"icon_settings"),
540 $this->ctrl->getLinkTarget($this,
'editIcons'));
543 $ilTabs->activateSubTab($a_tab);
544 $ilTabs->activateTab(
"settings");
561 $this->tabs_gui->setTabActive(
'settings');
568 $tpl->setContent($a_form->getHTML());
575 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
577 $form->setFormAction($this->ctrl->getFormAction($this));
582 $form->addCommandButton(
'updateIcons', $this->lng->txt(
'save'));
597 if($form->checkInput())
602 if(
$_POST[
"cont_icon_delete"])
604 $this->
object->removeCustomIcon();
606 $this->
object->saveIcons($_FILES[
"cont_icon"][
'tmp_name']);
608 if ($_FILES[
"cont_icon"][
'tmp_name'] ||
$_POST[
"cont_icon_delete"])
612 $this->ctrl->redirect($this,
"editIcons");
615 $form->setValuesByPost();
An exception for terminatinating execution or to throw for unit testing.
background task hub (aka ajax handler, GUI)
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
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 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
initEditCustomForm(ilPropertyFormGUI $a_form)
Add custom fields to update form.
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.
editIconsObject($a_form=null)
Edit folder icons.
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.
updateIconsObject()
update container icons
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.
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.
initEditForm()
Init object edit 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...
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
getRefId()
get reference id @access public
getId()
get object id @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
redirection script todo: (a better solution should control the processing via a xml file)