ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
All Data Structures Namespaces Files Functions Variables Typedefs Modules Pages
ilObjCourseGUI Class Reference

Class ilObjCourseGUI. More...

+ Inheritance diagram for ilObjCourseGUI:
+ Collaboration diagram for ilObjCourseGUI:

Public Member Functions

 __construct ()
 Constructor public. More...
 
 gatewayObject ()
 
 renderObject ()
 
 viewObject ()
 
 renderContainer ()
 
 infoScreenObject ()
 this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed More...
 
 infoScreen ()
 show information screen More...
 
 saveNotificationObject ()
 :TEMP: Save notification setting (from infoscreen) More...
 
 editInfoObject (ilPropertyFormGUI $a_form=null)
 Edit info page informations. More...
 
 confirmDeleteInfoFilesObject ()
 show info file donfimation table More...
 
 deleteInfoFilesObject ()
 Delete info files. More...
 
 initInfoEditor ()
 init info editor More...
 
 updateInfoObject ()
 
 updateObject ()
 Update course settings type $ilUser. More...
 
 editObject (ilPropertyFormGUI $form=null)
 edit object More...
 
 editCourseIconsObject ($a_form=null)
 edit container icons More...
 
 initCourseIconsForm ()
 
 sendFileObject ()
 
 updateCourseIconsObject ()
 update container icons More...
 
 setSubTabs ($a_tab)
 set sub tabs More...
 
 showPossibleSubObjects ()
 show possible sub objects selection list More...
 
 removeSmallIconObject ()
 remove small icon More...
 
 removeBigIconObject ()
 remove big icon More...
 
 removeTinyIconObject ()
 remove small icon More...
 
 setShowHidePrefs ()
 set preferences (show/hide tabel content) More...
 
 readMemberData ($ids, $selected_columns=null)
 
 updateLPFromStatus ($a_member_id, $a_has_passed)
 sync course status and lp status More...
 
 autoFillObject ()
 
 leaveObject ()
 
 unsubscribeObject ()
 DEPRECATED? More...
 
 performUnsubscribeObject ()
 
 addContentTab ()
 Add content tab. More...
 
 getTabs ()
 Get tabs. More...
 
 executeCommand ()
 
 addLocatorItems ()
 
 editMapSettingsObject ()
 Edit Map Settings. More...
 
 saveMapSettingsObject ()
 
 modifyItemGUI ($a_item_list_gui, $a_item_data, $a_show_path)
 Modify Item ListGUI for presentation in container. More...
 
 setContentSubTabs ()
 Set content sub tabs. More...
 
 askResetObject ()
 ask reset test results More...
 
 resetObject ()
 
 __checkStartObjects ()
 
 prepareOutput ($a_show_subobjects=true)
 Handle member view. More...
 
 createMailSignature ()
 Create a course mail signature. More...
 
 deliverCertificateObject ()
 
 saveSortingObject ()
 
 getLocalRoles ($a_exclude=array())
 
 setSideColumnReturn ()
 Set return point for side column actions. More...
 
- Public Member Functions inherited from ilContainerGUI
 __construct ($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor public. More...
 
 executeCommand ()
 execute command note: this method is overwritten in all container objects More...
 
 forwardToStyleSheet ()
 Forward to style object. More...
 
forwardToPageObject ()
 forward command to page object More...
 
 addPageTabs ()
 Add page tabs. More...
 
 getContainerPageHTML ()
 Get container page HTML. More...
 
 prepareOutput ($a_show_subobjects=true)
 prepare output More...
 
 showTreeFlatIcon ()
 
 setTitleAndDescription ()
 called by prepare output More...
 
 showPossibleSubObjects ()
 show possible sub objects selection list More...
 
 getContentGUI ()
 Get content gui object. More...
 
 renderObject ()
 render the object More...
 
 setContentSubTabs ()
 Set content sub tabs. More...
 
 showAdministrationPanel (&$tpl)
 show administration panel More...
 
 __showTimingsButton (&$tpl)
 
 showPermanentLink (&$tpl)
 show permanent link More...
 
 switchToStdEditorObject ()
 Switch to standard page editor. More...
 
 switchToOldEditorObject ()
 Switch to old page editor. More...
 
 useNewEditorObject ()
 Use new editor (-> delete xhtml content page) More...
 
 editPageFrameObject ()
 show page editor frameset More...
 
 editPageContentObject ()
 edit page content (for repository root node and categories) More...
 
 savePageContentObject ()
 
 cancelPageContentObject ()
 
 showLinkListObject ()
 
 clearAdminCommandsDetermination ()
 cleaer administration commands determination More...
 
newBlockTemplate ()
 determin admin commands More...
 
 addHeaderRow (&$a_tpl, $a_type, $a_show_image=true)
 adds a header row to a block template More...
 
 addStandardRow (&$a_tpl, $a_html, $a_item_ref_id="", $a_item_obj_id="", $a_image_type="")
 adds a standard row to a block template More...
 
 addMessageRow (&$a_tpl, $a_message, $a_type)
 add message row More...
 
 resetRowType ()
 
 setPageEditorTabs ()
 Add page editor tabs. More...
 
 addStandardContainerSubTabs ($a_include_view=true)
 Add standar container subtabs for view, manage, oderdering and text/media editor link. More...
 
 getTabs ()
 common tabs for all container objects (should be called at the end of child getTabs() method More...
 
 enableAdministrationPanelObject ()
 enable administration panel More...
 
 disableAdministrationPanelObject ()
 enable administration panel More...
 
 editOrderObject ()
 Edit order. More...
 
 isActiveOrdering ()
 Check if ordering is enabled. More...
 
 isActiveItemOrdering ()
 Check if item ordering is enabled. More...
 
 addToDeskObject ()
 
 removeFromDeskObject ()
 
 enableMultiDownloadObject ()
 
 isMultiDownloadEnabled ()
 
 lockObject ()
 
 cutObject ()
 cut object(s) out from a container and write the information to clipboard More...
 
 copyObject ()
 Copy object(s) out from a container and write the information to clipboard It is not possible to copy multiple objects at once. More...
 
 downloadObject ()
 
 linkObject ()
 create an new reference of an object in tree it's like a hard link of unix More...
 
 clearObject ()
 clear clipboard and go back to last object More...
 
 performPasteIntoMultipleObjectsObject ()
 
 initAndDisplayLinkIntoMultipleObjectsObject ()
 
 showPasteTreeObject ()
 Show paste tree. More...
 
 cancelMoveLinkObject ()
 Cancel move|link empty clipboard and return to parent. More...
 
 keepObjectsInClipboardObject ()
 Keep objects in the clipboard. More...
 
 initAndDisplayCopyIntoMultipleObjectsObject ()
 
 initAndDisplayMoveIntoObjectObject ()
 
 pasteObject ()
 paste object from clipboard to current place Depending on the chosen command the object(s) are linked, copied or moved More...
 
 clipboardObject ()
 show clipboard More...
 
 showCustomIconsEditing ($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
 show edit section of custom icons for container More...
 
 isActiveAdministrationPanel ()
 
 setColumnSettings (ilColumnGUI $column_gui)
 May be overwritten in subclasses. More...
 
 allowBlocksMoving ()
 Standard is to allow blocks moving. More...
 
 allowBlocksConfigure ()
 Standard is to allow blocks configuration. More...
 
 cloneWizardPageTreeObject ()
 public More...
 
 cloneWizardPageListObject ()
 public More...
 
 cloneWizardPageObject ($a_tree_view=true)
 Show clone wizard page for container objects. More...
 
 cloneAllObject ()
 Clone all object Overwritten method for copying container objects. More...
 
 saveSortingObject ()
 Save Sorting. More...
 
 cloneNodes ($srcRef, $dstRef, &$mapping, $newName=null)
 Recursively clones all nodes of the RBAC tree. More...
 
 modifyItemGUI ($a_item_list_gui, $a_item_data, $a_show_path)
 Modify list gui for presentation in container type $lng. More...
 
 editStylePropertiesObject ()
 Edit style properties. More...
 
 initStylePropertiesForm ()
 Init style properties form. More...
 
 createStyleObject ()
 Create Style. More...
 
 editStyleObject ()
 Edit Style. More...
 
 deleteStyleObject ()
 Delete Style. More...
 
 saveStyleSettingsObject ()
 Save style settings. More...
 
 getAsynchItemListObject ()
 Get item list command drop down asynchronously. More...
 
 redrawListItemObject ()
 Redraw a list item (ajax) More...
 
 showRepTree ()
 Show tree. More...
 
 trashObject ()
 Show trash content of object. More...
 
 removeFromSystemObject ()
 remove objects from trash bin and all entries therefore every object needs a specific deleteObject() method More...
 
 undeleteObject ()
 Get objects back from trash. More...
 
 confirmRemoveFromSystemObject ()
 confirmation screen remove from system More...
 
 setSideColumnReturn ()
 Set return point for side column actions. More...
 
- Public Member Functions inherited from ilObjectGUI
 executeCommand ()
 execute command More...
 
 withReferences ()
 determines wether objects are referenced or not (got ref ids or not) More...
 
 setCreationMode ($a_mode=true)
 if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class! the mode is determined in ilrepositorygui More...
 
 getCreationMode ()
 get creation mode More...
 
 prepareOutput ($a_show_subobjects=true)
 prepare output More...
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelDeleteObject ()
 cancel deletion of object More...
 
 cancelObject ()
 cancel action and go back to previous page public More...
 
 createObject ()
 create new object form More...
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 save object More...
 
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position. More...
 
 editObject ()
 edit object More...
 
 addExternalEditFormCustom (ilPropertyFormGUI $a_form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g. More...
 
 isVisible ($a_ref_id, $a_type)
 
 viewObject ()
 list childs of current object More...
 
 deleteObject ($a_error=false)
 Display deletion confirmation screen. More...
 
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI. More...
 

Static Public Member Functions

static _forwards ()
 
static _goto ($a_target, $a_add="")
 goto target course More...
 
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. More...
 
- Static Public Member Functions inherited from ilContainerGUI
static _buildPath ($a_ref_id, $a_course_ref_id)
 build path More...
 
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot ($a_raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode ($a_ref_id, $a_cmd="frameset")
 Goto repository root. More...
 

Protected Member Functions

 afterImport (ilObject $a_new_object)
 add course admin after import file More...
 
 forwardToTimingsView ()
 
 confirmLPSync ()
 
 setLPSyncObject ()
 
 initEditForm ()
 init form More...
 
 getEditFormValues ()
 
 afterSave (ilObject $a_new_object)
 save object public More...
 
 getAgreementTabs ()
 Get tabs for member agreement. More...
 
 membersObject ()
 Called from goto? More...
 
 loadDate ($a_field)
 load date More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 
 afterSaveCallback ()
 
 redirectLocToTestConfirmedObject ()
 
 redirectLocToTestObject ($a_force_new_run=null)
 Test redirection will be moved lo adapter. More...
 
 redirectLocToTestConfirmation ($a_objective_id, $a_test_id)
 Show confirmation whether user wants to start a new run or resume a previous run. More...
 
 hasAdminPermission ()
 user has admin permission or "edit permission" permission on this course More...
 
 jump2UsersGalleryObject ()
 
- Protected Member Functions inherited from ilContainerGUI
 getEditFormValues ()
 Get values for edit form. More...
 
 afterUpdate ()
 
 showPasswordInstructionObject ($a_init=true)
 Show webdav password instruction. More...
 
 initFormPasswordInstruction ()
 Init password form. More...
 
 savePasswordObject ()
 Save password. More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add file manager link. More...
 
 fileManagerLaunchObject ()
 Launch jnlp. More...
 
 initSortingForm (ilPropertyFormGUI $form, array $a_sorting_settings)
 Append sorting settings to property form. More...
 
 initSortingDirectionForm (ilContainerSortingSettings $sorting_settings, $element, $a_prefix)
 Add sorting direction. More...
 
 initManualSortingOptionForm (ilContainerSortingSettings $settings, $element, $a_prefix, $a_sorting_settings)
 Add manual sorting options. More...
 
 saveSortingSettings (ilPropertyFormGUI $form)
 Save sorting settings. More...
 
 getTreeSelectorGUI ($cmd)
 
- Protected Member Functions inherited from ilObjectGUI
 assignObject ()
 
 setTitleAndDescription ()
 called by prepare output More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction ($a_list_gui)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 showMountWebfolderIcon ()
 
 setTabs ()
 set admin tabs public More...
 
 setAdminTabs ()
 set admin tabs public More...
 
 setLocator ()
 set Locator More...
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator ($a_omit=true)
 
 addAdminLocatorItems ($a_do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 initCreationForms ($a_new_type)
 Init creation froms. More...
 
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion) More...
 
 initCreateForm ($a_new_type)
 Init object creation form. More...
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types. More...
 
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates. More...
 
 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 Init object edit form. More...
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 Get values for edit form. More...
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $a_form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 initImportForm ($a_new_type)
 Init object import form. More...
 
 importFileObject ($parent_id=null, $a_catch_errors=true)
 Import. More...
 
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook. More...
 
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command More...
 
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command More...
 
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command More...
 
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu) More...
 
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl. More...
 
 getTabs ()
 get tabs abstract method. More...
 
 __showButton ($a_cmd, $a_text, $a_target='')
 
 hitsperpageObject ()
 
__initTableGUI ()
 
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table More...
 
 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 save/import method where the object gui type (of the new object) doesn't match with the type of the current $_GET["ref_id"] value More...
 
 fillCloneTemplate ($a_tpl_varname, $a_type)
 Fill object clone template This method can be called from any object GUI class that wants to offer object cloning. More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 setColumnSettings (ilColumnGUI $column_gui)
 May be overwritten in subclasses. More...
 
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error. More...
 
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission. More...
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 handleAutoRating (ilObject $a_new_obj)
 Activate rating automatically if parent container setting. More...
 

Private Member Functions

 checkAgreement ()
 Check agreement and redirect if it is not accepted. More...
 
 checkLicenses ($a_keep=false)
 Check the remaining licenses of course objects and generate a message if raare. More...
 

Additional Inherited Members

- Data Fields inherited from ilContainerGUI
 $bl_cnt = 1
 
 $multi_download_enabled = false
 
- Data Fields inherited from ilObjectGUI
const COPY_WIZARD_NEEDS_PAGE = 1
 
 $objDefinition
 
 $tpl
 
 $tree
 
 $lng
 
 $data
 
 $object
 
 $ref_id
 
 $obj_id
 
 $maxcount
 
 $formaction
 
 $return_location
 
 $target_frame
 
 $tab_target_script
 
 $actions
 
 $sub_objects
 
 $omit_locator = false
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 
- Protected Attributes inherited from ilContainerGUI
 $rbacsystem
 
 $tabs
 
 $settings
 
 $user
 
 $db
 
 $access
 
 $error
 
 $obj_definition
 
 $rbacadmin
 
 $rbacreview
 
 $log
 
 $obj_data_cache
 
 $toolbar
 
 $plugin_admin
 
 $app_event_handler
 
- Protected Attributes inherited from ilObjectGUI
 $ilErr
 
 $locator
 
 $user
 
 $access
 
 $settings
 
 $rbacreview
 
 $toolbar
 
 $rbacsystem
 
 $tmp_import_dir
 
 $tabs_gui = null
 
 $ctrl
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjCourseGUI::__construct ( )

Constructor public.

Definition at line 37 of file class.ilObjCourseGUI.php.

References $_GET, $ilCtrl, and array.

38  {
39  global $ilCtrl, $ilHelp;
40 
41  // CONTROL OPTIONS
42  $this->ctrl = $ilCtrl;
43  $this->ctrl->saveParameter($this, array("ref_id","cmdClass"));
44 
45  $this->type = "crs";
46  parent::__construct('', (int) $_GET['ref_id'], true, false);
47 
48  $this->lng->loadLanguageModule('crs');
49 
50  $this->SEARCH_USER = 1;
51  $this->SEARCH_GROUP = 2;
52  $this->SEARCH_COURSE = 3;
53  }
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
Create styles array
The data for the language used.

Member Function Documentation

◆ __checkStartObjects()

ilObjCourseGUI::__checkStartObjects ( )

Definition at line 3099 of file class.ilObjCourseGUI.php.

References $ilUser, and object.

Referenced by viewObject().

3100  {
3101  global $ilAccess,$ilUser;
3102 
3103  if ($ilAccess->checkAccess('write', '', $this->object->getRefId())) {
3104  return true;
3105  }
3106 
3107  include_once './Services/Container/classes/class.ilContainerStartObjects.php';
3108  $this->start_obj = new ilContainerStartObjects(
3109  $this->object->getRefId(),
3110  $this->object->getId()
3111  );
3112  if (count($this->start_obj->getStartObjects()) &&
3113  !$this->start_obj->allFullfilled($ilUser->getId())) {
3114  return false;
3115  }
3116 
3117  return true;
3118  }
$ilUser
Definition: imgupload.php:18
Create new PHPExcel object
obj_idprivate
+ Here is the caller graph for this function:

◆ _forwards()

static ilObjCourseGUI::_forwards ( )
static

Definition at line 2755 of file class.ilObjCourseGUI.php.

References array.

2756  {
2757  return array("ilCourseRegisterGUI",'ilConditionHandlerGUI');
2758  }
Create styles array
The data for the language used.

◆ _goto()

static ilObjCourseGUI::_goto (   $a_target,
  $a_add = "" 
)
static

goto target course

Definition at line 2781 of file class.ilObjCourseGUI.php.

References $_GET, ilObjectGUI\$ilErr, $ilUser, ilObjectGUI\$lng, ilObjectGUI\_gotoRepositoryNode(), ilObjectGUI\_gotoRepositoryRoot(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\_lookupType(), ilMembershipRegistrationCodeUtils\handleCode(), ilUtil\redirect(), and ilUtil\sendFailure().

Referenced by ilObjCourseReferenceGUI\_goto().

2782  {
2783  global $ilAccess, $ilErr, $lng,$ilUser;
2784 
2785  include_once './Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
2786  if (substr($a_add, 0, 5) == 'rcode') {
2787  if ($ilUser->getId() == ANONYMOUS_USER_ID) {
2788  // Redirect to login for anonymous
2790  "login.php?target=" . $_GET["target"] . "&cmd=force_login&lang=" .
2791  $ilUser->getCurrentLanguage()
2792  );
2793  }
2794 
2795  // Redirects to target location after assigning user to course
2797  $a_target,
2799  substr($a_add, 5)
2800  );
2801  }
2802 
2803  if ($a_add == "mem" && $ilAccess->checkAccess("manage_members", "", $a_target)) {
2804  ilObjectGUI::_gotoRepositoryNode($a_target, "members");
2805  }
2806 
2807  if ($ilAccess->checkAccess("read", "", $a_target)) {
2809  } else {
2810  // to do: force flat view
2811  if ($ilAccess->checkAccess("visible", "", $a_target)) {
2812  ilObjectGUI::_gotoRepositoryNode($a_target, "infoScreenGoto");
2813  } else {
2814  if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID)) {
2815  ilUtil::sendFailure(sprintf(
2816  $lng->txt("msg_no_perm_read_item"),
2818  ), true);
2820  }
2821  }
2822  }
2823  $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
2824  }
$_GET["client_id"]
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _lookupTitle($a_id)
lookup object title
static handleCode($a_ref_id, $a_type, $a_code)
Handle target parameter.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static _lookupObjId($a_id)
$ilUser
Definition: imgupload.php:18
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static redirect($a_script)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _modifyItemGUI()

static ilObjCourseGUI::_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 
)
static

We need a static version of this, e.g.

in folders of the course

Definition at line 2923 of file class.ilObjCourseGUI.php.

References ilObjectGUI\$lng, ilObjCourse\_lookupViewMode(), array, and ilContainer\VIEW_OBJECTIVE.

Referenced by ilObjGroupGUI\modifyItemGUI(), ilObjSessionGUI\modifyItemGUI(), ilObjFolderGUI\modifyItemGUI(), and modifyItemGUI().

2932  {
2933  global $lng, $ilAccess;
2934 
2935  // this is set for folders within the course
2936  if ($a_parent_ref_id == 0) {
2937  $a_parent_ref_id = $a_course_ref_id;
2938  }
2939 
2940  // Special handling for tests in courses with learning objectives
2941  if ($a_item_data['type'] == 'tst' and
2943  $a_item_list_gui->addCommandLinkParameter(array('crs_show_result' => $a_course_ref_id));
2944  }
2945 
2946  $a_item_list_gui->enableSubscribe($a_abo_status);
2947 
2948  $is_tutor = ($ilAccess->checkAccess(
2949  'write',
2950  '',
2951  $a_course_ref_id,
2952  'crs',
2953  $a_course_obj_id
2954  ));
2955 
2956  if ($a_show_path and $is_tutor) {
2957  $a_item_list_gui->addCustomProperty(
2958  $lng->txt('path'),
2959  ilContainer::_buildPath($a_item_data['ref_id'], $a_course_ref_id),
2960  false,
2961  true
2962  );
2963  }
2964  }
static _lookupViewMode($a_id)
lookup view mode of container
Create styles array
The data for the language used.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addContentTab()

ilObjCourseGUI::addContentTab ( )

Add content tab.

Parameters

Definition at line 1971 of file class.ilObjCourseGUI.php.

Referenced by getTabs().

1972  {
1973  $this->tabs_gui->addTab(
1974  "view_content",
1975  $this->lng->txt("content"),
1976  $this->ctrl->getLinkTarget($this, "view")
1977  );
1978  }
+ Here is the caller graph for this function:

◆ addLocatorItems()

ilObjCourseGUI::addLocatorItems ( )

Definition at line 2760 of file class.ilObjCourseGUI.php.

2761  {
2762  global $ilLocator;
2763  switch ($this->ctrl->getCmd()) {
2764  default:
2765  #$ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, ""));
2766  break;
2767  }
2768  }

◆ afterImport()

ilObjCourseGUI::afterImport ( ilObject  $a_new_object)
protected

add course admin after import file

Returns

Definition at line 86 of file class.ilObjCourseGUI.php.

References $ilSetting, $ilUser, ilCourseParticipants\_getInstanceByObjId(), ilCourseConstants\CRS_ADMIN, and ilObject\getId().

87  {
88  global $ilUser, $ilSetting;
89 
90  // #11895
91  include_once './Modules/Course/classes/class.ilCourseParticipants.php';
92  $part = ilCourseParticipants::_getInstanceByObjId($a_new_object->getId());
93  $part->add($ilUser->getId(), ilCourseConstants::CRS_ADMIN);
94  $part->updateNotification($ilUser->getId(), $ilSetting->get('mail_crs_admin_notification', true));
95 
96  parent::afterImport($a_new_object);
97  }
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
getId()
get object id public
$ilUser
Definition: imgupload.php:18
global $ilSetting
Definition: privfeed.php:17
+ Here is the call graph for this function:

◆ afterSave()

ilObjCourseGUI::afterSave ( ilObject  $a_new_object)
protected

save object public

Definition at line 1686 of file class.ilObjCourseGUI.php.

References $ilSetting, $ilUser, ilContainerGUI\$rbacadmin, ilChangeEvent\_recordWriteEvent(), ilObject\getId(), ilObject\getRefId(), ilObjectGUI\getReturnLocation(), IL_CRS_ADMIN, ilUtil\redirect(), ilUtil\sendSuccess(), and ilObject\update().

1687  {
1688  global $rbacadmin, $ilUser, $ilSetting;
1689 
1690  $a_new_object->getMemberObject()->add($ilUser->getId(), IL_CRS_ADMIN);
1691  $a_new_object->getMemberObject()->updateNotification($ilUser->getId(), $ilSetting->get('mail_crs_admin_notification', true));
1692  // cognos-blu-patch: begin
1693  $a_new_object->getMemberObject()->updateContact($ilUser->getId(), 1);
1694  // cognos-blu-patch: end
1695  $a_new_object->update();
1696 
1697  // BEGIN ChangeEvent: Record write event.
1698  require_once('Services/Tracking/classes/class.ilChangeEvent.php');
1699  global $ilUser;
1700  ilChangeEvent::_recordWriteEvent($a_new_object->getId(), $ilUser->getId(), 'create');
1701  // END ChangeEvent: Record write event.
1702 
1703  // always send a message
1704  ilUtil::sendSuccess($this->lng->txt("crs_added"), true);
1705 
1706  $this->ctrl->setParameter($this, "ref_id", $a_new_object->getRefId());
1708  "save",
1709  $this->ctrl->getLinkTarget($this, "edit", "", false, false)
1710  ));
1711  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
getId()
get object id public
$ilUser
Definition: imgupload.php:18
const IL_CRS_ADMIN
Base class for course and group participants.
global $ilSetting
Definition: privfeed.php:17
getRefId()
get reference id public
update()
update object in db
static redirect($a_script)
getReturnLocation($a_cmd, $a_location="")
get return location for command (command is method name without "Object", e.g.
+ Here is the call graph for this function:

◆ afterSaveCallback()

ilObjCourseGUI::afterSaveCallback ( )
protected

Definition at line 3243 of file class.ilObjCourseGUI.php.

References array.

3244  {
3245  $this->ctrl->redirectByClass(array('ilrepositorygui','ilobjcoursegui','illoeditorgui'), 'materials');
3246  }
Create styles array
The data for the language used.

◆ askResetObject()

ilObjCourseGUI::askResetObject ( )

ask reset test results

public

Parameters

Definition at line 3058 of file class.ilObjCourseGUI.php.

References $GLOBALS, and ilUtil\sendQuestion().

3059  {
3060  ilUtil::sendQuestion($this->lng->txt('crs_objectives_reset_sure'));
3061 
3062  include_once './Services/Utilities/classes/class.ilConfirmationGUI.php';
3063  $confirm = new ilConfirmationGUI();
3064  $confirm->setFormAction($this->ctrl->getFormAction($this));
3065  $confirm->setConfirm($this->lng->txt('reset'), 'reset');
3066  $confirm->setCancel($this->lng->txt('cancel'), 'cancel');
3067 
3068  $GLOBALS['tpl']->setContent($confirm->getHTML());
3069  return true;
3070  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
Confirmation screen class.
+ Here is the call graph for this function:

◆ autoFillObject()

ilObjCourseGUI::autoFillObject ( )

Definition at line 1870 of file class.ilObjCourseGUI.php.

References ilContainerGUI\$rbacsystem, ilObjectGUI\checkPermission(), membersObject(), object, ilUtil\sendFailure(), and ilUtil\sendSuccess().

1871  {
1872  global $rbacsystem;
1873 
1874  $this->checkPermission('write');
1875 
1876  if ($this->object->isSubscriptionMembershipLimited() and $this->object->getSubscriptionMaxMembers() and
1877  $this->object->getSubscriptionMaxMembers() <= $this->object->getMembersObject()->getCountMembers()) {
1878  ilUtil::sendFailure($this->lng->txt("crs_max_members_reached"));
1879  $this->membersObject();
1880 
1881  return false;
1882  }
1883  if ($number = $this->object->getMembersObject()->autoFillSubscribers()) {
1884  ilUtil::sendSuccess($this->lng->txt("crs_number_users_added") . " " . $number);
1885  } else {
1886  ilUtil::sendFailure($this->lng->txt("crs_no_users_added"));
1887  }
1888  $this->membersObject();
1889 
1890  return true;
1891  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
membersObject()
Called from goto?
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Create new PHPExcel object
obj_idprivate
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
+ Here is the call graph for this function:

◆ checkAgreement()

ilObjCourseGUI::checkAgreement ( )
private

Check agreement and redirect if it is not accepted.

private

Definition at line 2686 of file class.ilObjCourseGUI.php.

References $GLOBALS, $ilUser, ilCourseUserData\_checkRequired(), ilPrivacySettings\_getInstance(), ilMemberAgreement\_hasAccepted(), ilCourseDefinedFieldDefinition\_hasFields(), ilMemberViewSettings\getInstance(), and object.

Referenced by viewObject().

2687  {
2688  global $ilUser,$ilAccess;
2689 
2690  if ($ilAccess->checkAccess('write', '', $this->object->getRefId())) {
2691  return true;
2692  }
2693 
2694  // Disable aggrement if is not member of course
2695  if (!$this->object->getMemberObject()->isAssigned()) {
2696  return true;
2697  }
2698 
2699  include_once './Services/Container/classes/class.ilMemberViewSettings.php';
2700  if (ilMemberViewSettings::getInstance()->isActive()) {
2701  return true;
2702  }
2703 
2704  include_once('Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2705  include_once('Services/Membership/classes/class.ilMemberAgreement.php');
2706  $privacy = ilPrivacySettings::_getInstance();
2707 
2708  // Check agreement
2709  if (($privacy->courseConfirmationRequired() or ilCourseDefinedFieldDefinition::_hasFields($this->object->getId()))
2710  and !ilMemberAgreement::_hasAccepted($ilUser->getId(), $this->object->getId())) {
2711  $GLOBALS['ilLog']->write(__METHOD__ . ': Missing course confirmation.');
2712  return false;
2713  }
2714  // Check required fields
2715  include_once('Modules/Course/classes/Export/class.ilCourseUserData.php');
2716  if (!ilCourseUserData::_checkRequired($ilUser->getId(), $this->object->getId())) {
2717  $GLOBALS['ilLog']->write(__METHOD__ . ': Missing required fields');
2718  return false;
2719  }
2720  return true;
2721  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static _hasAccepted($a_usr_id, $a_obj_id)
Check if user has accepted agreement.
$ilUser
Definition: imgupload.php:18
static _checkRequired($a_usr_id, $a_obj_id)
Check required fields.
static _hasFields($a_container_id)
Check if there are any define fields.
Create new PHPExcel object
obj_idprivate
static getInstance()
Get instance.
static _getInstance()
Get instance of ilPrivacySettings.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkLicenses()

ilObjCourseGUI::checkLicenses (   $a_keep = false)
private

Check the remaining licenses of course objects and generate a message if raare.

private

Definition at line 2730 of file class.ilObjCourseGUI.php.

References ilObjectGUI\$lng, $remaining, ilLicense\_getLicensedChildObjects(), ilLicenseAccess\_isEnabled(), object, and ilUtil\sendInfo().

2731  {
2732  global $lng;
2733 
2734 
2735  include_once("Services/License/classes/class.ilLicenseAccess.php");
2737  $lic_set = new ilSetting("license");
2738  $buffer = $lic_set->get("license_warning");
2739 
2740  include_once("./Services/License/classes/class.ilLicense.php");
2741  $licensed_items = ilLicense::_getLicensedChildObjects($this->object->getRefId());
2742  foreach ($licensed_items as $item) {
2743  $license = new ilLicense($item['obj_id']);
2744  $remaining = $license->getRemainingLicenses();
2745  if ($remaining <= $buffer) {
2746  $lng->loadlanguageModule("license");
2747  ilUtil::sendInfo(sprintf($this->lng->txt("course_licenses_rare"), $remaining), $a_keep);
2748  break;
2749  }
2750  }
2751  }
2752  }
static _isEnabled()
Check, if licencing is enabled This check is called from the ilAccessHandler class.
if($state['core:TerminatedAssocId'] !==null) $remaining
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Create new PHPExcel object
obj_idprivate
static _getLicensedChildObjects($a_ref_id)
Get a list of all sub objects with activated licensing.
+ Here is the call graph for this function:

◆ confirmDeleteInfoFilesObject()

ilObjCourseGUI::confirmDeleteInfoFilesObject ( )

show info file donfimation table

public

Parameters

Definition at line 579 of file class.ilObjCourseGUI.php.

References $_POST, $file, editInfoObject(), ilUtil\sendFailure(), and setSubTabs().

580  {
581  if (!count($_POST['file_id'])) {
582  ilUtil::sendFailure($this->lng->txt('select_one'));
583  $this->editInfoObject();
584  return false;
585  }
586 
587  $this->setSubTabs('properties');
588  $this->tabs_gui->setTabActive('settings');
589  $this->tabs_gui->setSubTabActive('crs_info_settings');
590 
591  include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
592  $c_gui = new ilConfirmationGUI();
593 
594  // set confirm/cancel commands
595  $c_gui->setFormAction($this->ctrl->getFormAction($this, "deleteInfoFiles"));
596  $c_gui->setHeaderText($this->lng->txt("info_delete_sure"));
597  $c_gui->setCancel($this->lng->txt("cancel"), "editInfo");
598  $c_gui->setConfirm($this->lng->txt("confirm"), "deleteInfoFiles");
599 
600  // add items to delete
601  include_once('Modules/Course/classes/class.ilCourseFile.php');
602  foreach ($_POST["file_id"] as $file_id) {
603  $file = new ilCourseFile($file_id);
604  $c_gui->addItem("file_id[]", $file_id, $file->getFileName());
605  }
606 
607  $this->tpl->setContent($c_gui->getHTML());
608  }
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
setSubTabs($a_tab)
set sub tabs
editInfoObject(ilPropertyFormGUI $a_form=null)
Edit info page informations.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
$_POST["username"]
Confirmation screen class.
+ Here is the call graph for this function:

◆ confirmLPSync()

ilObjCourseGUI::confirmLPSync ( )
protected

Definition at line 971 of file class.ilObjCourseGUI.php.

References ilObjectGUI\$tpl.

Referenced by updateObject().

972  {
973  global $tpl;
974 
975  include_once("./Services/Utilities/classes/class.ilConfirmationGUI.php");
976  $cgui = new ilConfirmationGUI();
977  $cgui->setFormAction($this->ctrl->getFormAction($this, "setLPSync"));
978  $cgui->setHeaderText($this->lng->txt("crs_status_determination_sync"));
979  $cgui->setCancel($this->lng->txt("cancel"), "edit");
980  $cgui->setConfirm($this->lng->txt("confirm"), "setLPSync");
981 
982  $tpl->setContent($cgui->getHTML());
983  }
Confirmation screen class.
+ Here is the caller graph for this function:

◆ createMailSignature()

ilObjCourseGUI::createMailSignature ( )

Create a course mail signature.

Returns
string

Definition at line 3142 of file class.ilObjCourseGUI.php.

References ilLink\_getLink(), and object.

Referenced by infoScreen().

3143  {
3144  $link = chr(13) . chr(10) . chr(13) . chr(10);
3145  $link .= $this->lng->txt('crs_mail_permanent_link');
3146  $link .= chr(13) . chr(10) . chr(13) . chr(10);
3147  include_once './Services/Link/classes/class.ilLink.php';
3148  $link .= ilLink::_getLink($this->object->getRefId());
3149  return rawurlencode(base64_encode($link));
3150  }
Create new PHPExcel object
obj_idprivate
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteInfoFilesObject()

ilObjCourseGUI::deleteInfoFilesObject ( )

Delete info files.

public

Definition at line 616 of file class.ilObjCourseGUI.php.

References $_POST, $file, editInfoObject(), object, ilUtil\sendFailure(), and ilUtil\sendSuccess().

617  {
618  if (!count($_POST['file_id'])) {
619  ilUtil::sendFailure($this->lng->txt('select_one'));
620  $this->editInfoObject();
621  return false;
622  }
623  include_once('Modules/Course/classes/class.ilCourseFile.php');
624 
625  foreach ($_POST['file_id'] as $file_id) {
626  $file = new ilCourseFile($file_id);
627  if ($this->object->getId() == $file->getCourseId()) {
628  $file->delete();
629  }
630  }
631  ilUtil::sendSuccess($this->lng->txt('settings_saved'));
632  $this->editInfoObject();
633  return true;
634  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Create new PHPExcel object
obj_idprivate
editInfoObject(ilPropertyFormGUI $a_form=null)
Edit info page informations.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
$_POST["username"]
+ Here is the call graph for this function:

◆ deliverCertificateObject()

ilObjCourseGUI::deliverCertificateObject ( )

Definition at line 3217 of file class.ilObjCourseGUI.php.

References $certificate, $ilUser, array, ilCourseParticipants\getDateTimeOfPassed(), ilCertificate\isActive(), ilCertificate\isObjectActive(), object, and ilUtil\sendFailure().

3218  {
3219  global $ilUser, $ilAccess;
3220 
3221  $user_id = null;
3222  if ($ilAccess->checkAccess('manage_members', '', $this->ref_id)) {
3223  $user_id = $_REQUEST["member_id"];
3224  }
3225  if (!$user_id) {
3226  $user_id = $ilUser->getId();
3227  }
3228 
3229  include_once "Services/Certificate/classes/class.ilCertificate.php";
3230  if (!ilCertificate::isActive() ||
3231  !ilCertificate::isObjectActive($this->object->getId()) ||
3232  !ilCourseParticipants::getDateTimeOfPassed($this->object->getId(), $user_id)) {
3233  ilUtil::sendFailure($this->lng->txt("permission_denied"), true);
3234  $this->ctrl->redirect($this);
3235  }
3236 
3237  include_once "./Modules/Course/classes/class.ilCourseCertificateAdapter.php";
3238  $certificate = new ilCertificate(new ilCourseCertificateAdapter($this->object));
3239  $certificate->outCertificate(array("user_id" => $user_id), true);
3240  }
static getDateTimeOfPassed($a_obj_id, $a_usr_id)
if(@file_exists(dirname(__FILE__).'/lang/eng.php')) $certificate
Definition: example_052.php:77
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static isObjectActive($a_obj_id)
Create new PHPExcel object
obj_idprivate
Create PDF certificates.
+ Here is the call graph for this function:

◆ editCourseIconsObject()

ilObjCourseGUI::editCourseIconsObject (   $a_form = null)

edit container icons

Definition at line 1452 of file class.ilObjCourseGUI.php.

References ilObjectGUI\$tpl, ilObjectGUI\checkPermission(), initCourseIconsForm(), and setSubTabs().

Referenced by updateCourseIconsObject().

1453  {
1454  global $tpl;
1455 
1456  $this->checkPermission('write');
1457 
1458  $this->setSubTabs("properties");
1459  $this->tabs_gui->setTabActive('settings');
1460  $this->tabs_gui->activateSubTab('icon_settings');
1461 
1462  if (!$a_form) {
1463  $a_form = $this->initCourseIconsForm();
1464  }
1465 
1466  $tpl->setContent($a_form->getHTML());
1467  }
setSubTabs($a_tab)
set sub tabs
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ editInfoObject()

ilObjCourseGUI::editInfoObject ( ilPropertyFormGUI  $a_form = null)

Edit info page informations.

public

Definition at line 524 of file class.ilObjCourseGUI.php.

References $file, $files, ilObjectGUI\$ilErr, $rows, ilCourseFile\_readFilesByCourse(), array, ilObjectGUI\checkPermission(), initInfoEditor(), object, and setSubTabs().

Referenced by confirmDeleteInfoFilesObject(), deleteInfoFilesObject(), and updateInfoObject().

525  {
526  include_once 'Modules/Course/classes/class.ilCourseFile.php';
527 
528  global $ilErr,$ilAccess;
529 
530  $this->checkPermission('write');
531  /*
532  if(!$ilAccess->checkAccess('write','',$this->object->getRefId()))
533  {
534  $ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->MESSAGE);
535  }
536  */
537  $this->setSubTabs('properties');
538  $this->tabs_gui->setTabActive('settings');
539  $this->tabs_gui->setSubTabActive('crs_info_settings');
540 
541  if (!$a_form) {
542  $a_form = $this->initInfoEditor();
543  }
544  $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.edit_info.html', 'Modules/Course');
545  $this->tpl->setVariable('INFO_TABLE', $a_form->getHTML());
546 
547  if (!count($files = ilCourseFile::_readFilesByCourse($this->object->getId()))) {
548  return true;
549  }
550  $rows = array();
551  foreach ($files as $file) {
552  $table_data['id'] = $file->getFileId();
553  $table_data['filename'] = $file->getFileName();
554  $table_data['filetype'] = $file->getFileType();
555  $table_data['filesize'] = $file->getFileSize();
556 
557  $rows[] = $table_data;
558  }
559 
560  include_once("./Modules/Course/classes/class.ilCourseInfoFileTableGUI.php");
561  $table_gui = new ilCourseInfoFileTableGUI($this, "edit");
562  $table_gui->setTitle($this->lng->txt("crs_info_download"));
563  $table_gui->setData($rows);
564  $table_gui->addCommandButton("cancel", $this->lng->txt("cancel"));
565  $table_gui->addMultiCommand("confirmDeleteInfoFiles", $this->lng->txt("delete"));
566  $table_gui->setSelectAllCheckbox("file_id");
567  $this->tpl->setVariable('INFO_FILE_TABLE', $table_gui->getHTML());
568 
569  return true;
570  }
$files
Definition: add-vimline.php:18
static _readFilesByCourse($a_course_id)
Create styles array
The data for the language used.
$rows
Definition: xhr_table.php:10
setSubTabs($a_tab)
set sub tabs
Create new PHPExcel object
obj_idprivate
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
initInfoEditor()
init info editor
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ editMapSettingsObject()

ilObjCourseGUI::editMapSettingsObject ( )

Edit Map Settings.

Definition at line 2830 of file class.ilObjCourseGUI.php.

References $def, $form, $ilCtrl, $ilUser, ilMapUtil\getDefaultSettings(), ilMapUtil\isActivated(), object, ilLocationInputGUI\setLatitude(), setSubTabs(), and ilCheckboxInputGUI\setValue().

2831  {
2832  global $ilUser, $ilCtrl, $ilUser, $ilAccess;
2833 
2834  $this->setSubTabs("properties");
2835  $this->tabs_gui->activateTab('settings');
2836  $this->tabs_gui->activateSubTab('crs_map_settings');
2837 
2838  if (!ilMapUtil::isActivated() ||
2839  !$ilAccess->checkAccess("write", "", $this->object->getRefId())) {
2840  return;
2841  }
2842 
2843  $latitude = $this->object->getLatitude();
2844  $longitude = $this->object->getLongitude();
2845  $zoom = $this->object->getLocationZoom();
2846 
2847  // Get Default settings, when nothing is set
2848  if ($latitude == 0 && $longitude == 0 && $zoom == 0) {
2850  $latitude = $def["latitude"];
2851  $longitude = $def["longitude"];
2852  $zoom = $def["zoom"];
2853  }
2854 
2855  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
2856  $form = new ilPropertyFormGUI();
2857  $form->setFormAction($ilCtrl->getFormAction($this));
2858 
2859  $form->setTitle($this->lng->txt("crs_map_settings"));
2860 
2861  // enable map
2862  $public = new ilCheckboxInputGUI(
2863  $this->lng->txt("crs_enable_map"),
2864  "enable_map"
2865  );
2866  $public->setValue("1");
2867  $public->setChecked($this->object->getEnableCourseMap());
2868  $form->addItem($public);
2869 
2870  // map location
2871  $loc_prop = new ilLocationInputGUI(
2872  $this->lng->txt("crs_map_location"),
2873  "location"
2874  );
2875  $loc_prop->setLatitude($latitude);
2876  $loc_prop->setLongitude($longitude);
2877  $loc_prop->setZoom($zoom);
2878  $form->addItem($loc_prop);
2879 
2880  $form->addCommandButton("saveMapSettings", $this->lng->txt("save"));
2881 
2882  $this->tpl->setVariable("ADM_CONTENT", $form->getHTML());
2883  //$this->tpl->show();
2884  }
setLatitude($a_latitude)
Set Latitude.
This class represents a property form user interface.
This class represents a checkbox property in a property form.
global $ilCtrl
Definition: ilias.php:18
if(isset($_POST['submit'])) $form
setValue($a_value)
Set Value.
static getDefaultSettings()
Get default longitude, latitude and zoom.
This class represents a location property in a property form.
$ilUser
Definition: imgupload.php:18
static isActivated()
Checks whether Map feature is activated.
setSubTabs($a_tab)
set sub tabs
Create new PHPExcel object
obj_idprivate
$def
Definition: croninfo.php:21
+ Here is the call graph for this function:

◆ editObject()

ilObjCourseGUI::editObject ( ilPropertyFormGUI  $form = null)

edit object

public

Returns

Definition at line 1002 of file class.ilObjCourseGUI.php.

References $form, $GLOBALS, and setSubTabs().

1003  {
1004  $this->setSubTabs('properties');
1005  $this->tabs_gui->setSubTabActive('crs_settings');
1006 
1007  if ($form instanceof ilPropertyFormGUI) {
1008  $GLOBALS['tpl']->setContent($form->getHTML());
1009  return true;
1010  } else {
1011  parent::editObject();
1012  }
1013  }
This class represents a property form user interface.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
setSubTabs($a_tab)
set sub tabs
+ Here is the call graph for this function:

◆ executeCommand()

ilObjCourseGUI::executeCommand ( )

Definition at line 2210 of file class.ilObjCourseGUI.php.

References $_GET, $editor, $GLOBALS, $html, $ilCtrl, ilObjectGUI\$ilErr, $ilUser, ilContainerGUI\$rbacsystem, $ret, $service, $t, ilObjectGUI\$tpl, ilCourseParticipants\_getInstanceByObjId(), ilLink\_getLink(), ilObjCourse\_isActivated(), ilParticipants\_isParticipant(), ilObjCourse\_registrationEnabled(), ilLearningProgress\_tracProgress(), ilObjectGUI\addHeaderAction(), array, ilObjectServiceSettingsGUI\CALENDAR_VISIBILITY, ilObjectGUI\checkPermission(), ilContainerGUI\forwardToPageObject(), ilContainerGUI\forwardToStyleSheet(), forwardToTimingsView(), ilObjectGUI\getCreationMode(), ilNewsTimelineGUI\getInstance(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), getLocalRoles(), infoScreen(), infoScreenObject(), ilLicenseOverviewGUI\LIC_MODE_REPOSITORY, ilLearningProgressBaseGUI\LP_CONTEXT_REPOSITORY, ilCourseConstants\MAIL_ALLOWED_ALL, object, prepareOutput(), ilLTIProviderObjectSettingGUI\setCustomRolesForSelection(), ilMailMemberSearchGUI\setObjParticipants(), setSubTabs(), ilContainerGUI\showPermanentLink(), ilContainerGUI\showRepTree(), and viewObject().

2211  {
2212  global $rbacsystem,$ilUser,$ilAccess,$ilErr,$ilTabs,$ilNavigationHistory,$ilCtrl, $ilToolbar;
2213 
2214  $next_class = $this->ctrl->getNextClass($this);
2215  $cmd = $this->ctrl->getCmd();
2216 
2217  $this->prepareOutput();
2218 
2219  // show repository tree
2220  $this->showRepTree();
2221 
2222  // add entry to navigation history
2223  if (!$this->getCreationMode() &&
2224  $ilAccess->checkAccess('read', '', $_GET['ref_id'])) {
2225  include_once("./Services/Link/classes/class.ilLink.php");
2226  $ilNavigationHistory->addItem(
2227  $_GET["ref_id"],
2228  ilLink::_getLink($_GET["ref_id"], "crs"),
2229  "crs"
2230  );
2231  }
2232 
2233  $header_action = true;
2234 
2235  switch ($next_class) {
2236  case 'illtiproviderobjectsettinggui':
2237 
2238  $this->setSubTabs('properties');
2239  $this->tabs_gui->activateTab('settings');
2240  $this->tabs_gui->activateSubTab('lti_provider');
2241  $lti_gui = new ilLTIProviderObjectSettingGUI($this->object->getRefId());
2242  $lti_gui->setCustomRolesForSelection($GLOBALS['DIC']->rbac()->review()->getLocalRoles($this->object->getRefId()));
2243  $lti_gui->offerLTIRolesForSelection(false);
2244  $this->ctrl->forwardCommand($lti_gui);
2245  break;
2246 
2247  case 'ilcoursemembershipgui':
2248 
2249  $this->tabs_gui->activateTab('members');
2250 
2251  include_once './Modules/Course/classes/class.ilCourseMembershipGUI.php';
2252  $mem_gui = new ilCourseMembershipGUI($this, $this->object);
2253  $this->ctrl->forwardCommand($mem_gui);
2254  break;
2255 
2256  case "ilinfoscreengui":
2257  $this->infoScreen(); // forwards command
2258  break;
2259 
2260  case 'ilobjectmetadatagui':
2261  if (!$ilAccess->checkAccess('write', '', $this->object->getRefId())) {
2262  $ilErr->raiseError($this->lng->txt('permission_denied'), $ilErr->WARNING);
2263  }
2264  $this->tabs_gui->setTabActive('meta_data');
2265  include_once 'Services/Object/classes/class.ilObjectMetaDataGUI.php';
2266  $md_gui = new ilObjectMetaDataGUI($this->object);
2267  $this->ctrl->forwardCommand($md_gui);
2268  break;
2269 
2270  case 'ilcourseregistrationgui':
2271  $this->ctrl->setReturn($this, '');
2272  $this->tabs_gui->setTabActive('join');
2273  include_once('./Modules/Course/classes/class.ilCourseRegistrationGUI.php');
2274  $registration = new ilCourseRegistrationGUI($this->object, $this);
2275  $this->ctrl->forwardCommand($registration);
2276  break;
2277 
2278  case 'ilobjectcustomuserfieldsgui':
2279  include_once './Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
2280  $cdf_gui = new ilObjectCustomUserFieldsGUI($this->object->getId());
2281  $this->setSubTabs('properties');
2282  $this->tabs_gui->activateTab('settings');
2283  $this->tabs_gui->activateSubTab('crs_custom_user_fields');
2284  $this->ctrl->forwardCommand($cdf_gui);
2285  break;
2286 
2287  case "ilcourseobjectivesgui":
2288  include_once './Modules/Course/classes/class.ilCourseObjectivesGUI.php';
2289 
2290  $this->ctrl->setReturn($this, "");
2291  $reg_gui = new ilCourseObjectivesGUI($this->object->getRefId());
2292  $ret =&$this->ctrl->forwardCommand($reg_gui);
2293  break;
2294 
2295  case 'ilobjcoursegroupinggui':
2296  include_once './Modules/Course/classes/class.ilObjCourseGroupingGUI.php';
2297 
2298  $this->ctrl->setReturn($this, 'edit');
2299  $this->setSubTabs('properties');
2300  $this->tabs_gui->activateTab('settings');
2301  $this->tabs_gui->activateSubTab('groupings');
2302  $crs_grp_gui = new ilObjCourseGroupingGUI($this->object, (int) $_GET['obj_id']);
2303  $this->ctrl->forwardCommand($crs_grp_gui);
2304  break;
2305 
2306  case "ilcolumngui":
2307  $this->tabs_gui->setTabActive('none');
2308  $this->checkPermission("read");
2309  //$this->prepareOutput();
2310  //include_once("./Services/Style/Content/classes/class.ilObjStyleSheet.php");
2311  //$this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET",
2312  // ilObjStyleSheet::getContentStylePath(0));
2313  //$this->renderObject();
2314  $this->viewObject();
2315  break;
2316 
2317  case "ilconditionhandlergui":
2318  include_once './Services/AccessControl/classes/class.ilConditionHandlerGUI.php';
2319  // preconditions for whole course
2320  $this->setSubTabs("properties");
2321  $this->tabs_gui->activateTab('settings');
2322  $this->tabs_gui->activateSubTab('preconditions');
2323  $new_gui = new ilConditionHandlerGUI($this);
2324  $this->ctrl->forwardCommand($new_gui);
2325  break;
2326 
2327  case "illearningprogressgui":
2328  include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php';
2329 
2330  $new_gui = new ilLearningProgressGUI(
2332  $this->object->getRefId(),
2333  $_GET['user_id'] ? $_GET['user_id'] : $ilUser->getId()
2334  );
2335  $this->ctrl->forwardCommand($new_gui);
2336  $this->tabs_gui->setTabActive('learning_progress');
2337  break;
2338 
2339 
2340  case 'illicenseoverviewgui':
2341  include_once("./Services/License/classes/class.ilLicenseOverviewGUI.php");
2343  $ret =&$this->ctrl->forwardCommand($license_gui);
2344  $this->tabs_gui->setTabActive('licenses');
2345  break;
2346 
2347  case 'ilpermissiongui':
2348  include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
2349  $this->tabs_gui->setTabActive('perm_settings');
2350  $perm_gui = new ilPermissionGUI($this);
2351  $ret =&$this->ctrl->forwardCommand($perm_gui);
2352  break;
2353 
2354  case 'ilcalendarpresentationgui':
2355  include_once('./Services/Calendar/classes/class.ilCalendarPresentationGUI.php');
2356  $cal = new ilCalendarPresentationGUI($this->object->getRefId());
2357  $ret = $this->ctrl->forwardCommand($cal);
2358  $header_action = false;
2359  break;
2360 
2361  case 'ilcoursecontentinterface':
2362 
2363  $this->initCourseContentInterface();
2364  $this->cci_obj->cci_setContainer($this);
2365 
2366  $this->ctrl->forwardCommand($this->cci_obj);
2367  $this->setSubTabs('content');
2368  $this->tabs_gui->setTabActive('content');
2369  break;
2370 
2371  case 'ilcoursecontentgui':
2372  $this->ctrl->setReturn($this, 'members');
2373  include_once './Modules/Course/classes/class.ilCourseContentGUI.php';
2374  $course_content_obj = new ilCourseContentGUI($this);
2375  $this->ctrl->forwardCommand($course_content_obj);
2376  break;
2377 
2378  case 'ilpublicuserprofilegui':
2379  $this->tpl->enableDragDropFileUpload(null);
2380  require_once './Services/User/classes/class.ilPublicUserProfileGUI.php';
2381  $this->setSubTabs('members');
2382  $this->tabs_gui->setTabActive('members');
2383  $profile_gui = new ilPublicUserProfileGUI($_GET["user"]);
2384  $profile_gui->setBackUrl($this->ctrl->getLinkTargetByClass(["ilCourseMembershipGUI", "ilUsersGalleryGUI"], 'view'));
2385  $this->tabs_gui->setSubTabActive('crs_members_gallery');
2386  $html = $this->ctrl->forwardCommand($profile_gui);
2387  $this->tpl->setVariable("ADM_CONTENT", $html);
2388  break;
2389 
2390 
2391  case 'ilmemberagreementgui':
2392  include_once('Services/Membership/classes/class.ilMemberAgreementGUI.php');
2393  $this->tabs_gui->clearTargets();
2394 
2395  $this->ctrl->setReturn($this, '');
2396  $agreement = new ilMemberAgreementGUI($this->object->getRefId());
2397  $this->ctrl->forwardCommand($agreement);
2398  break;
2399 
2400 
2401  // container page editing
2402  case "ilcontainerpagegui":
2403  $ret = $this->forwardToPageObject();
2404  if ($ret != "") {
2405  $this->tpl->setContent($ret);
2406  }
2407  break;
2408 
2409  case "ilcontainerstartobjectspagegui":
2410  // file downloads, etc. (currently not active)
2411  include_once "Services/Container/classes/class.ilContainerStartObjectsPageGUI.php";
2412  $pgui = new ilContainerStartObjectsPageGUI($this->object->getId());
2413  $ret = $this->ctrl->forwardCommand($pgui);
2414  if ($ret) {
2415  $this->tpl->setContent($ret);
2416  }
2417  break;
2418 
2419  case 'ilobjectcopygui':
2420  include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
2421  $cp = new ilObjectCopyGUI($this);
2422  $cp->setType('crs');
2423  $this->ctrl->forwardCommand($cp);
2424  break;
2425 
2426  case "ilobjstylesheetgui":
2427  $this->forwardToStyleSheet();
2428  break;
2429 
2430 
2431  case 'ilexportgui':
2432  $this->tabs_gui->setTabActive('export');
2433  include_once './Services/Export/classes/class.ilExportGUI.php';
2434  $exp = new ilExportGUI($this);
2435  $exp->addFormat('xml');
2436  $this->ctrl->forwardCommand($exp);
2437  break;
2438 
2439  case "ilcommonactiondispatchergui":
2440  include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
2442  $this->ctrl->forwardCommand($gui);
2443  break;
2444 
2445  case 'ildidactictemplategui':
2446  $this->ctrl->setReturn($this, 'edit');
2447  include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
2448  $did = new ilDidacticTemplateGUI($this);
2449  $this->ctrl->forwardCommand($did);
2450  break;
2451 
2452  case "ilcertificategui":
2453  $this->tabs_gui->activateTab("settings");
2454  $this->setSubTabs("properties");
2455 
2456  include_once "./Services/Certificate/classes/class.ilCertificateGUI.php";
2457  include_once "./Modules/Course/classes/class.ilCourseCertificateAdapter.php";
2458  $output_gui = new ilCertificateGUI(new ilCourseCertificateAdapter($this->object));
2459  $this->ctrl->forwardCommand($output_gui);
2460  break;
2461 
2462  case 'ilobjectservicesettingsgui':
2463  $this->ctrl->setReturn($this, 'edit');
2464  $this->setSubTabs("properties");
2465  $this->tabs_gui->activateTab('settings');
2466  $this->tabs_gui->acltivateSubTab('tool_settings');
2467 
2468  include_once './Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
2470  $this,
2471  $this->object->getId(),
2472  array(
2474  )
2475  );
2476  $this->ctrl->forwardCommand($service);
2477  break;
2478 
2479  case 'illoeditorgui':
2480  #$this->tabs_gui->clearTargets();
2481  #$this->tabs_gui->setBackTarget($this->lng->txt('back'),$this->ctrl->getLinkTarget($this,''));
2482  $this->tabs_gui->activateTab('crs_objectives');
2483 
2484  include_once './Modules/Course/classes/Objectives/class.ilLOEditorGUI.php';
2485  $editor = new ilLOEditorGUI($this->object);
2486  $this->ctrl->forwardCommand($editor);
2487  break;
2488 
2489  case 'ilcontainerstartobjectsgui':
2490  $this->ctrl->setReturn($this, 'edit');
2491  $this->tabs_gui->clearTargets();
2492  $this->tabs_gui->setBackTarget(
2493  $this->lng->txt("back_to_crs_content"),
2494  $this->ctrl->getLinkTarget($this, "edit")
2495  );
2496  $this->tabs_gui->addTab(
2497  "start",
2498  $this->lng->txt("crs_start_objects"),
2499  $this->ctrl->getLinkTargetByClass("ilcontainerstartobjectsgui", "listStructure")
2500  );
2501  global $ilHelp;
2502  $ilHelp->setScreenIdComponent("crs");
2503 
2504  include_once './Services/Container/classes/class.ilContainerStartObjectsGUI.php';
2505  $stgui = new ilContainerStartObjectsGUI($this->object);
2506  $this->ctrl->forwardCommand($stgui);
2507  break;
2508 
2509  case 'illomembertestresultgui':
2510  include_once './Modules/Course/classes/Objectives/class.ilLOMemberTestResultGUI.php';
2511  $GLOBALS['ilCtrl']->setReturn($this, 'members');
2512  $GLOBALS['ilTabs']->clearTargets();
2513  $GLOBALS['ilTabs']->setBackTarget(
2514  $GLOBALS['lng']->txt('back'),
2515  $GLOBALS['ilCtrl']->getLinkTarget($this, 'members')
2516  );
2517 
2518  $result_view = new ilLOMemberTestResultGUI($this, $this->object, (int) $_REQUEST['uid']);
2519  $this->ctrl->forwardCommand($result_view);
2520  break;
2521 
2522  case 'ilmailmembersearchgui':
2523  include_once 'Services/Mail/classes/class.ilMail.php';
2524  $mail = new ilMail($ilUser->getId());
2525 
2526  if (
2527  !($this->object->getMailToMembersType() == ilCourseConstants::MAIL_ALLOWED_ALL ||
2528  $ilAccess->checkAccess('manage_members', "", $this->object->getRefId())) &&
2529  $rbacsystem->checkAccess('internal_mail', $mail->getMailObjectReferenceId())) {
2530  $ilErr->raiseError($this->lng->txt("msg_no_perm_read"), $ilErr->MESSAGE);
2531  }
2532 
2533  $this->tabs_gui->setTabActive('members');
2534 
2535  include_once './Services/Contact/classes/class.ilMailMemberSearchGUI.php';
2536  include_once './Services/Contact/classes/class.ilMailMemberCourseRoles.php';
2537 
2538  $mail_search = new ilMailMemberSearchGUI($this, $this->object->getRefId(), new ilMailMemberCourseRoles());
2539  $mail_search->setObjParticipants(
2541  );
2542  $this->ctrl->forwardCommand($mail_search);
2543  break;
2544 
2545  case 'ilbadgemanagementgui':
2546  $this->tabs_gui->setTabActive('obj_tool_setting_badges');
2547  include_once 'Services/Badge/classes/class.ilBadgeManagementGUI.php';
2548  $bgui = new ilBadgeManagementGUI($this->object->getRefId(), $this->object->getId(), 'crs');
2549  $this->ctrl->forwardCommand($bgui);
2550  break;
2551 
2552  case "ilcontainernewssettingsgui":
2553 
2554  $this->setSubTabs("properties");
2555  $this->tabs_gui->activateTab('settings');
2556  $this->tabs_gui->activateSubTab('obj_news_settings');
2557  include_once("./Services/Container/classes/class.ilContainerNewsSettingsGUI.php");
2558  $news_set_gui = new ilContainerNewsSettingsGUI($this);
2559  $this->ctrl->forwardCommand($news_set_gui);
2560  break;
2561 
2562  case "ilnewstimelinegui":
2563  $this->tabs_gui->setTabActive('news_timeline');
2564  include_once("./Services/News/classes/class.ilNewsTimelineGUI.php");
2565  $t = ilNewsTimelineGUI::getInstance($this->object->getRefId(), $this->object->getNewsTimelineAutoENtries());
2566  $t->setUserEditAll($ilAccess->checkAccess('write', '', $this->object->getRefId(), 'grp'));
2567  $this->showPermanentLink($tpl);
2568  $this->ctrl->forwardCommand($t);
2569  include_once 'Services/Tracking/classes/class.ilLearningProgress.php';
2571  $ilUser->getId(),
2572  $this->object->getId(),
2573  $this->object->getRefId(),
2574  'crs'
2575  );
2576  break;
2577 
2578  case 'ilmemberexportsettingsgui':
2579  $this->setSubTabs('properties');
2580  $this->tabs_gui->activateTab('properties');
2581  $this->tabs_gui->activateSubTab('export_members');
2582  include_once './Services/Membership/classes/Export/class.ilMemberExportSettingsGUI.php';
2583  $settings_gui = new ilMemberExportSettingsGUI($this->object->getType(), $this->object->getId());
2584  $this->ctrl->forwardCommand($settings_gui);
2585  break;
2586 
2587 
2588  case "ilcontainerskillgui":
2589  $this->tabs_gui->activateTab('obj_tool_setting_skills');
2590  include_once("./Services/Container/Skills/classes/class.ilContainerSkillGUI.php");
2591  $gui = new ilContainerSkillGUI($this);
2592  $this->ctrl->forwardCommand($gui);
2593  break;
2594 
2595  default:
2596 /* if(!$this->creation_mode)
2597  {
2598  $this->checkPermission('visible');
2599  }*/
2600  /*
2601  if(!$this->creation_mode and !$ilAccess->checkAccess('visible','',$this->object->getRefId(),'crs'))
2602  {
2603  $ilErr->raiseError($this->lng->txt("msg_no_perm_read"),$ilErr->MESSAGE);
2604  }
2605  */
2606 
2607  // #9401 - see also ilStartupGUI::_checkGoto()
2608  if ($cmd == 'infoScreenGoto') {
2609  if (ilObjCourse::_isActivated($this->object->getId()) &&
2610  ilObjCourse::_registrationEnabled($this->object->getId())) {
2611  $cmd = 'join';
2612  } else {
2613  $cmd = 'infoScreen';
2614  }
2615  }
2616 
2617  if (!$this->creation_mode) {
2618  if ($cmd == "infoScreen") {
2619  $this->checkPermission("visible");
2620  } else {
2621  // $this->checkPermission("read");
2622  }
2623  }
2624 
2625 
2626  if (!$this->creation_mode
2627  && $cmd != 'infoScreen'
2628  && $cmd != 'sendfile'
2629  && $cmd != 'unsubscribe'
2630  && $cmd != 'performUnsubscribe'
2631  && !$ilAccess->checkAccess("read", '', $this->object->getRefId())
2632  || $cmd == 'join'
2633  || $cmd == 'subscribe') {
2634  include_once './Modules/Course/classes/class.ilCourseParticipants.php';
2635  if ($rbacsystem->checkAccess('join', $this->object->getRefId()) &&
2636  !ilCourseParticipants::_isParticipant($this->object->getRefId(), $ilUser->getId())) {
2637  include_once('./Modules/Course/classes/class.ilCourseRegistrationGUI.php');
2638  $this->ctrl->redirectByClass("ilCourseRegistrationGUI");
2639  } else {
2640  $this->infoScreenObject();
2641  break;
2642  }
2643  }
2644 
2645  if ($cmd == 'listObjectives') {
2646  include_once './Modules/Course/classes/class.ilCourseObjectivesGUI.php';
2647 
2648  $this->ctrl->setReturn($this, "");
2649  $obj_gui = new ilCourseObjectivesGUI($this->object->getRefId());
2650  $ret =&$this->ctrl->forwardCommand($obj_gui);
2651  break;
2652  }
2653 
2654  // Dirty hack for course timings view
2655  if ($this->forwardToTimingsView()) {
2656  break;
2657  }
2658 
2659  // if news timeline is landing page, redirect if necessary
2660  if ($cmd == "" && $this->object->isNewsTimelineLandingPageEffective()) {
2661  $this->ctrl->redirectbyclass("ilnewstimelinegui");
2662  }
2663 
2664  if (!$cmd) {
2665  $cmd = 'view';
2666  }
2667  $cmd .= 'Object';
2668  $this->$cmd();
2669 
2670  break;
2671  }
2672 
2673  if ($header_action) {
2674  $this->addHeaderAction();
2675  }
2676 
2677  return true;
2678  }
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
Class ilObjectMetaDataGUI.
class ilConditionHandlerGUI
Container start objects page GUI class.
GUI class for the workflow of copying objects.
$_GET["client_id"]
static _registrationEnabled($a_obj_id)
Registration enabled? Method is in Access class, since it is needed by Access/ListGUI.
Class ilLOEditorGUI.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
getLocalRoles($a_exclude=array())
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
Class ilMailMemberSearchGUI.
$service
Definition: login.php:15
global $ilCtrl
Definition: ilias.php:18
Export User Interface Class.
setCustomRolesForSelection($a_roles)
Set custom roles for mapping to LTI roles.
GUI class for public user profile presentation.
prepareOutput($a_show_subobjects=true)
Handle member view.
Class ilMailMemberCourseRoles.
class ilobjcourseobjectivesgui
GUI class for didactic template settings inside repository objects.
showPermanentLink(&$tpl)
show permanent link
GUI class for LTI provider object settings.
This class handles base functions for mail handling.
Skills for container (course/group) (top gui class)
GUI class to create PDF certificates.
forwardToStyleSheet()
Forward to style object.
& forwardToPageObject()
forward command to page object
$ilUser
Definition: imgupload.php:18
$editor
Create styles array
The data for the language used.
Class ilObjCourseGroupingGUI.
GUI class for course registrations.
setSubTabs($a_tab)
set sub tabs
static _isActivated($a_obj_id)
Is activated.
Create new PHPExcel object
obj_idprivate
Class ilCourseContentGUI.
$ret
Definition: parser.php:6
getCreationMode()
get creation mode
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.
GUI class for service settings (calendar, notes, comments)
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
addHeaderAction()
Add header action menu.
infoScreen()
show information screen
Class ilObjUserTrackingGUI.
$html
Definition: example_001.php:87
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Class ilContainerStartObjectsGUI.
static getInstance($a_ref_id, $a_include_auto_entries)
Get instance.
+ Here is the call graph for this function:

◆ forwardToTimingsView()

ilObjCourseGUI::forwardToTimingsView ( )
protected
Parameters

Definition at line 110 of file class.ilObjCourseGUI.php.

References $_SESSION, and ilContainer\VIEW_TIMING.

Referenced by executeCommand().

111  {
112  if (!$this->ctrl->getCmd() and $this->object->getViewMode() == ilContainer::VIEW_TIMING) {
113  if (!isset($_SESSION['crs_timings'])) {
114  $_SESSION['crs_timings'] = true;
115  }
116 
117  if ($_SESSION['crs_timings'] == true) {
118  include_once './Modules/Course/classes/class.ilCourseContentGUI.php';
119  $course_content_obj = new ilCourseContentGUI($this);
120  $this->ctrl->setCmdClass(get_class($course_content_obj));
121  $this->ctrl->setCmd('editUserTimings');
122  $this->ctrl->forwardCommand($course_content_obj);
123  return true;
124  }
125  }
126  $_SESSION['crs_timings'] = false;
127  return false;
128  }
$_SESSION["AccountId"]
Class ilCourseContentGUI.
+ Here is the caller graph for this function:

◆ gatewayObject()

ilObjCourseGUI::gatewayObject ( )

Definition at line 55 of file class.ilObjCourseGUI.php.

References $_POST, and viewObject().

56  {
57  switch ($_POST["action"]) {
58 
59  case "deleteSubscribers":
60  $this->deleteSubscribers();
61  break;
62 
63  case "addSubscribers":
64  $this->addSubscribers();
65  break;
66 
67  case "addFromWaitingList":
68  $this->addFromWaitingList();
69  break;
70 
71  case "removeFromWaitingList":
72  $this->removeFromWaitingList();
73  break;
74 
75  default:
76  $this->viewObject();
77  break;
78  }
79  return true;
80  }
$_POST["username"]
+ Here is the call graph for this function:

◆ getAgreementTabs()

ilObjCourseGUI::getAgreementTabs ( )
protected

Get tabs for member agreement.

Definition at line 1943 of file class.ilObjCourseGUI.php.

References $GLOBALS, array, and object.

1944  {
1945  if ($GLOBALS['ilAccess']->checkAccess('visible', '', $this->ref_id)) {
1946  $GLOBALS['ilTabs']->addTarget(
1947  "info_short",
1948  $this->ctrl->getLinkTargetByClass(
1949  array("ilobjcoursegui", "ilinfoscreengui"),
1950  "showSummary"
1951  ),
1952  "infoScreen"
1953  );
1954  }
1955  if ($GLOBALS['ilAccess']->checkAccess('leave', '', $this->object->getRefId()) and $this->object->getMemberObject()->isMember()) {
1956  $GLOBALS['ilTabs']->addTarget(
1957  "crs_unsubscribe",
1958  $this->ctrl->getLinkTarget($this, "unsubscribe"),
1959  'leave',
1960  ""
1961  );
1962  }
1963  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
Create styles array
The data for the language used.
Create new PHPExcel object
obj_idprivate

◆ getEditFormValues()

ilObjCourseGUI::getEditFormValues ( )
protected

Definition at line 1444 of file class.ilObjCourseGUI.php.

1445  {
1446  // values are done in initEditForm()
1447  }

◆ getLocalRoles()

ilObjCourseGUI::getLocalRoles (   $a_exclude = array())

Definition at line 3379 of file class.ilObjCourseGUI.php.

References $title, ilObjRole\_getTranslation(), array, and hasAdminPermission().

Referenced by executeCommand().

3380  {
3381  $crs_admin = $this->object->getDefaultAdminRole();
3382  $crs_member = $this->object->getDefaultMemberRole();
3383  $local_roles = $this->object->getLocalCourseRoles(false);
3384  $crs_roles = array();
3385 
3386  //put the course member role to the top of the crs_roles array
3387  if (in_array($crs_member, $local_roles)) {
3388  #$crs_roles[$crs_member] = ilObjRole::_getTranslation(array_search ($crs_member, $local_roles));
3389  #unset($local_roles[$crs_roles[$crs_member]]);
3390  }
3391 
3392  foreach ($local_roles as $title => $role_id) {
3393  if ($role_id == $crs_admin && !$this->hasAdminPermission()) {
3394  continue;
3395  }
3396 
3397  $crs_roles[$role_id] = ilObjRole::_getTranslation($title);
3398  }
3399 
3400  if (count($a_exclude) > 0) {
3401  foreach ($a_exclude as $excluded_role) {
3402  if (isset($crs_roles[$excluded_role])) {
3403  unset($crs_roles[$excluded_role]);
3404  }
3405  }
3406  }
3407  return $crs_roles;
3408  }
hasAdminPermission()
user has admin permission or "edit permission" permission on this course
static _getTranslation($a_role_title)
Create styles array
The data for the language used.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTabs()

ilObjCourseGUI::getTabs ( )

Get tabs.

Definition at line 1983 of file class.ilObjCourseGUI.php.

References $_GET, $GLOBALS, $ilUser, ilObjectGUI\$lng, ilCourseObjective\_getCountObjectives(), ilLicenseAccess\_isEnabled(), ilWaitingList\_isOnList(), ilParticipants\_isParticipant(), ilContainer\_lookupContainerSetting(), addContentTab(), array, ilLearningProgressAccess\checkAccess(), ilBadgeHandler\getInstance(), IL_CRS_VIEW_OBJECTIVE, object, and ilObjectServiceSettingsGUI\SKILLS.

1984  {
1985  global $ilUser, $lng, $ilHelp;
1986 
1987  $ilAccess = $GLOBALS['DIC']->access();
1988 
1989  $ilHelp->setScreenIdComponent("crs");
1990 
1991  $this->ctrl->setParameter($this, "ref_id", $this->ref_id);
1992 
1993  if ($ilAccess->checkAccess('read', '', $this->ref_id)) {
1994  // default activation
1995  $this->tabs_gui->activateTab('view_content');
1996  if ($this->object->isNewsTimelineEffective()) {
1997  if (!$this->object->isNewsTimelineLandingPageEffective()) {
1998  $this->addContentTab();
1999  }
2000  $this->tabs_gui->addTab(
2001  "news_timeline",
2002  $lng->txt("cont_news_timeline_tab"),
2003  $this->ctrl->getLinkTargetByClass("ilnewstimelinegui", "show")
2004  );
2005  if ($this->object->isNewsTimelineLandingPageEffective()) {
2006  $this->addContentTab();
2007  }
2008  } else {
2009  $this->addContentTab();
2010  }
2011  }
2012 
2013  // learning objectives
2014  if ($ilAccess->checkAccess('write', '', $this->ref_id)) {
2015  include_once('./Modules/Course/classes/class.ilCourseObjective.php');
2016  if ($this->object->getViewMode() == IL_CRS_VIEW_OBJECTIVE or ilCourseObjective::_getCountObjectives($this->object->getId())) {
2017  $this->tabs_gui->addTarget(
2018  'crs_objectives',
2019  $this->ctrl->getLinkTargetByClass('illoeditorgui', ''),
2020  'illoeditorgui'
2021  );
2022  }
2023  }
2024 
2025  if (
2026  $ilAccess->checkAccess('visible', '', $this->ref_id) ||
2027  $ilAccess->checkAccess('join', '', $this->ref_id) ||
2028  $ilAccess->checkAccess('read', '', $this->ref_id)
2029  ) {
2030  //$next_class = $this->ctrl->getNextClass($this);
2031 
2032  // this is not nice. tabs should be displayed in ilcoursegui
2033  // not via ilrepositorygui, then next_class == ilinfoscreengui
2034  // could be checked
2035  $force_active = (strtolower($_GET["cmdClass"]) == "ilinfoscreengui"
2036  || strtolower($_GET["cmdClass"]) == "ilnotegui")
2037  ? true
2038  : false;
2039  $this->tabs_gui->addTarget(
2040  "info_short",
2041  $this->ctrl->getLinkTargetByClass(
2042  array("ilobjcoursegui", "ilinfoscreengui"),
2043  "showSummary"
2044  ),
2045  "infoScreen",
2046  "",
2047  "",
2048  $force_active
2049  );
2050  }
2051  if ($ilAccess->checkAccess('write', '', $this->ref_id)) {
2052  $force_active = (strtolower($_GET["cmdClass"]) == "ilconditionhandlergui"
2053  && $_GET["item_id"] == "")
2054  ? true
2055  : false;
2056  $this->tabs_gui->addTarget(
2057  "settings",
2058  $this->ctrl->getLinkTarget($this, "edit"),
2059  array("edit", "editMapSettings", "editCourseIcons", "listStructure"),
2060  "",
2061  "",
2062  $force_active
2063  );
2064  }
2065 
2066 
2067  $is_participant = ilCourseParticipants::_isParticipant($this->ref_id, $ilUser->getId());
2068  include_once './Services/Mail/classes/class.ilMail.php';
2069  $mail = new ilMail($GLOBALS['ilUser']->getId());
2070 
2071  include_once './Modules/Course/classes/class.ilCourseMembershipGUI.php';
2072  $membership_gui = new ilCourseMembershipGUI($this, $this->object);
2073  $membership_gui->addMemberTab($this->tabs_gui, $is_participant);
2074 
2075  // badges
2076  if ($ilAccess->checkAccess('write', '', $this->ref_id)) {
2077  include_once 'Services/Badge/classes/class.ilBadgeHandler.php';
2078  if (ilBadgeHandler::getInstance()->isObjectActive($this->object->getId())) {
2079  $this->tabs_gui->addTarget(
2080  "obj_tool_setting_badges",
2081  $this->ctrl->getLinkTargetByClass("ilbadgemanagementgui", ""),
2082  "",
2083  "ilbadgemanagementgui"
2084  );
2085  }
2086  }
2087 
2088  // skills
2089  include_once("./Services/Object/classes/class.ilObjectServiceSettingsGUI.php");
2090  if ($ilAccess->checkAccess('read', '', $this->ref_id) && ilContainer::_lookupContainerSetting(
2091  $this->object->getId(),
2093  false
2094  )) {
2095  $skmg_set = new ilSetting("skmg");
2096  if ($skmg_set->get("enable_skmg")) {
2097  $this->tabs_gui->addTarget(
2098  "obj_tool_setting_skills",
2099  $this->ctrl->getLinkTargetByClass(array("ilcontainerskillgui", "ilcontskillpresentationgui"), ""),
2100  "",
2101  array("ilcontainerskillgui", "ilcontskillpresentationgui", "ilcontskilladmingui")
2102  );
2103  }
2104  }
2105 
2106  // learning progress
2107  include_once './Services/Tracking/classes/class.ilLearningProgressAccess.php';
2108  if (ilLearningProgressAccess::checkAccess($this->object->getRefId(), $is_participant)) {
2109  $this->tabs_gui->addTarget(
2110  'learning_progress',
2111  $this->ctrl->getLinkTargetByClass(array('ilobjcoursegui','illearningprogressgui'), ''),
2112  '',
2113  array('illplistofobjectsgui','illplistofsettingsgui','illearningprogressgui','illplistofprogressgui')
2114  );
2115  }
2116 
2117  // license overview
2118  include_once("Services/License/classes/class.ilLicenseAccess.php");
2119  if ($ilAccess->checkAccess('edit_permission', '', $this->ref_id)
2121  $this->tabs_gui->addTarget(
2122  "licenses",
2123  $this->ctrl->getLinkTargetByClass('illicenseoverviewgui', ''),
2124  "",
2125  "illicenseoverviewgui"
2126  );
2127  }
2128 
2129  // meta data
2130  if ($ilAccess->checkAccess('write', '', $this->ref_id)) {
2131  include_once "Services/Object/classes/class.ilObjectMetaDataGUI.php";
2132  $mdgui = new ilObjectMetaDataGUI($this->object);
2133  $mdtab = $mdgui->getTab();
2134  if ($mdtab) {
2135  $this->tabs_gui->addTarget(
2136  "meta_data",
2137  $mdtab,
2138  "",
2139  "ilobjectmetadatagui"
2140  );
2141  }
2142  }
2143 
2144  if ($ilAccess->checkAccess('write', '', $this->object->getRefId())) {
2145  $this->tabs_gui->addTarget(
2146  'export',
2147  $this->ctrl->getLinkTargetByClass('ilexportgui', ''),
2148  'export',
2149  'ilexportgui'
2150  );
2151  }
2152 
2153  if ($ilAccess->checkAccess('edit_permission', '', $this->ref_id)) {
2154  $this->tabs_gui->addTarget(
2155  "perm_settings",
2156  $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
2157  array("perm","info","owner"),
2158  'ilpermissiongui'
2159  );
2160  }
2161 
2162  if ($this->ctrl->getTargetScript() == "adm_object.php") {
2163  $this->tabs_gui->addTarget(
2164  "show_owner",
2165  $this->ctrl->getLinkTarget($this, "owner"),
2166  "owner",
2167  get_class($this)
2168  );
2169 
2170  if ($this->tree->getSavedNodeData($this->ref_id)) {
2171  $this->tabs_gui->addTarget(
2172  "trash",
2173  $this->ctrl->getLinkTarget($this, "trash"),
2174  "trash",
2175  get_class($this)
2176  );
2177  }
2178  }
2179  // Join/Leave
2180  if ($ilAccess->checkAccess('join', '', $this->ref_id)
2181  and !$this->object->getMemberObject()->isAssigned()) {
2182  include_once './Modules/Course/classes/class.ilCourseWaitingList.php';
2183  if (ilCourseWaitingList::_isOnList($ilUser->getId(), $this->object->getId())) {
2184  $this->tabs_gui->addTab(
2185  'leave',
2186  $this->lng->txt('membership_leave'),
2187  $this->ctrl->getLinkTargetByClass('ilcourseregistrationgui', 'show', '')
2188  );
2189  } else {
2190  $this->tabs_gui->addTarget(
2191  "join",
2192  $this->ctrl->getLinkTargetByClass('ilcourseregistrationgui', "show"),
2193  'show',
2194  ""
2195  );
2196  }
2197  }
2198  if ($ilAccess->checkAccess('leave', '', $this->object->getRefId())
2199  and $this->object->getMemberObject()->isMember()) {
2200  $this->tabs_gui->addTarget(
2201  "crs_unsubscribe",
2202  $this->ctrl->getLinkTarget($this, "unsubscribe"),
2203  'leave',
2204  ""
2205  );
2206  }
2207  }
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
Class ilObjectMetaDataGUI.
const IL_CRS_VIEW_OBJECTIVE
$_GET["client_id"]
static _isEnabled()
Check, if licencing is enabled This check is called from the ilAccessHandler class.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
addContentTab()
Add content tab.
This class handles base functions for mail handling.
$ilUser
Definition: imgupload.php:18
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.
Create styles array
The data for the language used.
static _getCountObjectives($a_obj_id, $a_activated_only=false)
get count objectives
Create new PHPExcel object
obj_idprivate
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
static getInstance()
Constructor.
+ Here is the call graph for this function:

◆ hasAdminPermission()

ilObjCourseGUI::hasAdminPermission ( )
protected

user has admin permission or "edit permission" permission on this course

Returns
bool

Definition at line 3414 of file class.ilObjCourseGUI.php.

References $ilUser, ilCourseParticipant\_getInstanceByObjId(), ilObjectGUI\checkPermissionBool(), and object.

Referenced by getLocalRoles().

3415  {
3416  global $ilUser;
3417  return ilCourseParticipant::_getInstanceByObjId($this->object->getId(), $ilUser->getId())->isAdmin()
3418  or $this->checkPermissionBool('edit_permission');
3419  }
$ilUser
Definition: imgupload.php:18
static _getInstanceByObjId($a_obj_id, $a_usr_id)
Get singleton instance.
Create new PHPExcel object
obj_idprivate
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ infoScreen()

ilObjCourseGUI::infoScreen ( )

show information screen

Definition at line 222 of file class.ilObjCourseGUI.php.

References $_GET, $email, $file, $files, ilObjectGUI\$ilErr, $ilSetting, $ilUser, $info, ilObjectGUI\$tpl, $txt, ilCourseDefinedFieldDefinition\_fieldsToInfoString(), ilMDUtils\_fillHTMLMetaTags(), ilCourseDefinedFieldDefinition\_getFields(), ilPrivacySettings\_getInstance(), ilExportFieldsInfo\_getInstanceByType(), ilCourseFile\_readFilesByCourse(), array, ilObjectGUI\checkPermission(), ilObjectGUI\checkPermissionBool(), ilMailFormCall\CONTEXT_KEY, createMailSignature(), ilDatePresentation\formatDate(), ilDatePresentation\formatPeriod(), ilParticipants\getInstanceByObjId(), ilMailFormCall\getLinkTarget(), ilCourseMailTemplateMemberContext\ID, IL_CAL_UNIX, IL_CRS_SUBSCRIPTION_CONFIRMATION, IL_CRS_SUBSCRIPTION_DEACTIVATED, IL_CRS_SUBSCRIPTION_DIRECT, IL_CRS_SUBSCRIPTION_PASSWORD, ilObjCourseAccess\lookupRegistrationInfo(), ilUtil\makeClickable(), ilAdvancedMDRecordGUI\MODE_INFO, object, ilAdvancedMDRecordGUI\setInfoObject(), and time.

Referenced by executeCommand(), and infoScreenObject().

223  {
224  global $ilErr,$ilAccess, $ilUser, $ilSetting;
225 
226  if (!$this->checkPermissionBool('read')) {
227  $this->checkPermission('visible');
228  }
229 
230  // Fill meta header tags
231  include_once('Services/MetaData/classes/class.ilMDUtils.php');
232  ilMDUtils::_fillHTMLMetaTags($this->object->getId(), $this->object->getId(), 'crs');
233 
234  $this->tabs_gui->setTabActive('info_short');
235 
236  include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
237  include_once 'Modules/Course/classes/class.ilCourseFile.php';
238 
240 
241  $info = new ilInfoScreenGUI($this);
242  $info->enablePrivateNotes();
243  $info->enableFeedback();
244  $info->enableNews();
245  if ($ilAccess->checkAccess("write", "", $_GET["ref_id"])) {
246  $info->enableNewsEditing();
247  }
248 
249  if (strlen($this->object->getImportantInformation()) or
250  strlen($this->object->getSyllabus()) or
251  count($files)) {
252  $info->addSection($this->lng->txt('crs_general_informations'));
253  }
254 
255  if (strlen($this->object->getImportantInformation())) {
256  $info->addProperty(
257  $this->lng->txt('crs_important_info'),
258  "<strong>" . nl2br(
259  ilUtil::makeClickable($this->object->getImportantInformation(), true) . "</strong>"
260  )
261  );
262  }
263  if (strlen($this->object->getSyllabus())) {
264  $info->addProperty($this->lng->txt('crs_syllabus'), nl2br(
265  ilUtil::makeClickable($this->object->getSyllabus(), true)
266  ));
267  }
268  // files
269  if (count($files)) {
270  $tpl = new ilTemplate('tpl.event_info_file.html', true, true, 'Modules/Course');
271 
272  foreach ($files as $file) {
273  $tpl->setCurrentBlock("files");
274  $this->ctrl->setParameter($this, 'file_id', $file->getFileId());
275  $tpl->setVariable("DOWN_LINK", $this->ctrl->getLinkTarget($this, 'sendfile'));
276  $tpl->setVariable("DOWN_NAME", $file->getFileName());
277  $tpl->setVariable("DOWN_INFO_TXT", $this->lng->txt('crs_file_size_info'));
278  $tpl->setVariable("DOWN_SIZE", $file->getFileSize());
279  $tpl->setVariable("TXT_BYTES", $this->lng->txt('bytes'));
280  $tpl->parseCurrentBlock();
281  }
282  $info->addProperty(
283  $this->lng->txt('crs_file_download'),
284  $tpl->get()
285  );
286  }
287 
288  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
289  $record_gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_INFO, 'crs', $this->object->getId());
290  $record_gui->setInfoObject($info);
291  $record_gui->parse();
292 
293  // meta data
294  $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
295 
296  // contact
297  if ($this->object->hasContactData()) {
298  $info->addSection($this->lng->txt("crs_contact"));
299  }
300  if (strlen($this->object->getContactName())) {
301  $info->addProperty(
302  $this->lng->txt("crs_contact_name"),
303  $this->object->getContactName()
304  );
305  }
306  if (strlen($this->object->getContactResponsibility())) {
307  $info->addProperty(
308  $this->lng->txt("crs_contact_responsibility"),
309  $this->object->getContactResponsibility()
310  );
311  }
312  if (strlen($this->object->getContactPhone())) {
313  $info->addProperty(
314  $this->lng->txt("crs_contact_phone"),
315  $this->object->getContactPhone()
316  );
317  }
318  if ($this->object->getContactEmail()) {
319  include_once './Modules/Course/classes/class.ilCourseMailTemplateMemberContext.php';
320  require_once 'Services/Mail/classes/class.ilMailFormCall.php';
321 
322  $emails = explode(",", $this->object->getContactEmail());
323  foreach ($emails as $email) {
324  $email = trim($email);
325  $etpl = new ilTemplate("tpl.crs_contact_email.html", true, true, 'Modules/Course');
326  $etpl->setVariable(
327  "EMAIL_LINK",
329  $info,
330  'showSummary',
331  array(),
332  array(
333  'type' => 'new',
334  'rcp_to' => $email,
335  'sig' => $this->createMailSignature()
336  ),
337  array(
339  'ref_id' => $this->object->getRefId(),
340  'ts' => time()
341  )
342  )
343  );
344  $etpl->setVariable("CONTACT_EMAIL", $email);
345  $mailString .= $etpl->get() . "<br />";
346  }
347  $info->addProperty($this->lng->txt("crs_contact_email"), $mailString);
348  }
349  if (strlen($this->object->getContactConsultation())) {
350  $info->addProperty(
351  $this->lng->txt("crs_contact_consultation"),
352  nl2br($this->object->getContactConsultation())
353  );
354  }
355 
356 
357  // support contacts
358  $parts = ilParticipants::getInstanceByObjId($this->object->getId());
359  $conts = $parts->getContacts();
360  if (count($conts) > 0) {
361  $info->addSection($this->lng->txt("crs_mem_contacts"));
362  foreach ($conts as $c) {
363  include_once("./Services/User/classes/class.ilPublicUserProfileGUI.php");
364  $pgui = new ilPublicUserProfileGUI($c);
365  $pgui->setBackUrl($this->ctrl->getLinkTargetByClass("ilinfoscreengui"));
366  $pgui->setEmbedded(true);
367  $info->addProperty("", $pgui->getHTML());
368  }
369  }
370 
371 
372 
373  //
374  // access
375  //
376 
377  // #10360
378  $this->lng->loadLanguageModule("rep");
379  $info->addSection($this->lng->txt("rep_activation_availability"));
380  $info->showLDAPRoleGroupMappingInfo();
381 
382  // activation
383  if ($this->object->getActivationUnlimitedStatus()) {
384  $info->addProperty(
385  $this->lng->txt("rep_activation_access"),
386  $this->lng->txt('crs_visibility_limitless')
387  );
388  } else {
389  $info->addProperty(
390  $this->lng->txt('rep_activation_access'),
392  new ilDateTime($this->object->getActivationStart(), IL_CAL_UNIX),
393  new ilDateTime($this->object->getActivationEnd(), IL_CAL_UNIX)
394  )
395  );
396  }
397  switch ($this->object->getSubscriptionLimitationType()) {
399  $txt = $this->lng->txt("crs_info_reg_deactivated");
400  break;
401 
402  default:
403  switch ($this->object->getSubscriptionType()) {
405  $txt = $this->lng->txt("crs_info_reg_confirmation");
406  break;
408  $txt = $this->lng->txt("crs_info_reg_direct");
409  break;
411  $txt = $this->lng->txt("crs_info_reg_password");
412  break;
413  }
414  }
415 
416  // subscription
417  $info->addProperty($this->lng->txt("crs_info_reg"), $txt);
418 
419 
420  if ($this->object->getSubscriptionLimitationType() != IL_CRS_SUBSCRIPTION_DEACTIVATED) {
421  if ($this->object->getSubscriptionUnlimitedStatus()) {
422  $info->addProperty(
423  $this->lng->txt("crs_reg_until"),
424  $this->lng->txt('crs_unlimited')
425  );
426  } elseif ($this->object->getSubscriptionStart() < time()) {
427  $info->addProperty(
428  $this->lng->txt("crs_reg_until"),
429  $this->lng->txt('crs_to') . ' ' .
430  ilDatePresentation::formatDate(new ilDateTime($this->object->getSubscriptionEnd(), IL_CAL_UNIX))
431  );
432  } elseif ($this->object->getSubscriptionStart() > time()) {
433  $info->addProperty(
434  $this->lng->txt("crs_reg_until"),
435  $this->lng->txt('crs_from') . ' ' .
436  ilDatePresentation::formatDate(new ilDateTime($this->object->getSubscriptionStart(), IL_CAL_UNIX))
437  );
438  }
439  if ($this->object->isSubscriptionMembershipLimited()) {
440  if ($this->object->getSubscriptionMinMembers()) {
441  $info->addProperty(
442  $this->lng->txt("mem_min_users"),
443  $this->object->getSubscriptionMinMembers()
444  );
445  }
446  if ($this->object->getSubscriptionMaxMembers()) {
447  include_once './Modules/Course/classes/class.ilObjCourseAccess.php';
448  $reg_info = ilObjCourseAccess::lookupRegistrationInfo($this->object->getId());
449 
450  $info->addProperty(
451  $this->lng->txt('mem_free_places'),
452  $reg_info['reg_info_free_places']
453  );
454  }
455  }
456  }
457 
458  if ($this->object->getCancellationEnd()) {
459  $info->addProperty(
460  $this->lng->txt('crs_cancellation_end'),
461  ilDatePresentation::formatDate($this->object->getCancellationEnd())
462  );
463  }
464 
465  if ($this->object->getCourseStart()) {
466  $info->addProperty(
467  $this->lng->txt('crs_period'),
469  $this->object->getCourseStart(),
470  $this->object->getCourseEnd()
471  )
472  );
473  }
474 
475  // Confirmation
476  include_once('Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
477  $privacy = ilPrivacySettings::_getInstance();
478 
479  include_once('Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
480  if ($privacy->courseConfirmationRequired() or ilCourseDefinedFieldDefinition::_getFields($this->object->getId()) or $privacy->enabledCourseExport()) {
481  include_once('Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
482 
483  $field_info = ilExportFieldsInfo::_getInstanceByType($this->object->getType());
484 
485  $this->lng->loadLanguageModule('ps');
486  $info->addSection($this->lng->txt('crs_user_agreement_info'));
487  $info->addProperty($this->lng->txt('ps_export_data'), $field_info->exportableFieldsToInfoString());
488 
489  if ($fields = ilCourseDefinedFieldDefinition::_fieldsToInfoString($this->object->getId())) {
490  $info->addProperty($this->lng->txt('ps_crs_user_fields'), $fields);
491  }
492  }
493 
494  $info->enableLearningProgress(true);
495 
496  // forward the command
497  $this->ctrl->forwardCommand($info);
498  }
$files
Definition: add-vimline.php:18
if($orgName !==null) if($spconfig->hasValue('contacts')) $email
Definition: metadata.php:193
Class ilInfoScreenGUI.
static _fieldsToInfoString($a_obj_id)
Fields to info string.
$_GET["client_id"]
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date public.
const IL_CRS_SUBSCRIPTION_CONFIRMATION
const IL_CAL_UNIX
static getLinkTarget($gui, $cmd, array $gui_params=array(), array $mail_params=array(), $context_params=array())
GUI class for public user profile presentation.
const IL_CRS_SUBSCRIPTION_PASSWORD
setInfoObject($info)
get info sections
createMailSignature()
Create a course mail signature.
static _getInstanceByType($a_type)
Get Singleton Instance.
static makeClickable($a_text, $detectGotoLinks=false)
makeClickable In Texten enthaltene URLs und Mail-Adressen klickbar machen
special template class to simplify handling of ITX/PEAR
static lookupRegistrationInfo($a_obj_id)
Lookup registration info ilDB $ilDB ilObjUser $ilUser ilLanguage $lng.
Date and time handling
$ilUser
Definition: imgupload.php:18
$txt
Definition: error.php:11
static _readFilesByCourse($a_course_id)
Create styles array
The data for the language used.
const CONTEXT_KEY
Session parameter for the context.
static formatPeriod(ilDateTime $start, ilDateTime $end, $a_skip_starting_day=false)
Format a period of two date Shows: 14.
static _fillHTMLMetaTags($a_rbac_id, $a_obj_id, $a_type)
Fill html meta tags.
Create new PHPExcel object
obj_idprivate
global $ilSetting
Definition: privfeed.php:17
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
const IL_CRS_SUBSCRIPTION_DIRECT
static _getInstance()
Get instance of ilPrivacySettings.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
$info
Definition: index.php:5
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
const IL_CRS_SUBSCRIPTION_DEACTIVATED
static _getFields($a_container_id, $a_sort=IL_CDF_SORT_NAME)
Get all fields of a container.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ infoScreenObject()

ilObjCourseGUI::infoScreenObject ( )

this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed

Definition at line 212 of file class.ilObjCourseGUI.php.

References infoScreen().

Referenced by executeCommand().

213  {
214  $this->ctrl->setCmd("showSummary");
215  $this->ctrl->setCmdClass("ilinfoscreengui");
216  $this->infoScreen();
217  }
infoScreen()
show information screen
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initCourseIconsForm()

ilObjCourseGUI::initCourseIconsForm ( )

Definition at line 1469 of file class.ilObjCourseGUI.php.

References $form, and ilContainerGUI\showCustomIconsEditing().

Referenced by editCourseIconsObject(), and updateCourseIconsObject().

1470  {
1471  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
1472  $form = new ilPropertyFormGUI();
1473  $form->setFormAction($this->ctrl->getFormAction($this));
1474 
1475  $this->showCustomIconsEditing(1, $form);
1476 
1477  // $form->setTitle($this->lng->txt('edit_grouping'));
1478  $form->addCommandButton('updateCourseIcons', $this->lng->txt('save'));
1479 
1480  return $form;
1481  }
This class represents a property form user interface.
if(isset($_POST['submit'])) $form
showCustomIconsEditing($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
show edit section of custom icons for container
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initEditForm()

ilObjCourseGUI::initEditForm ( )
protected

init form

protected

Parameters

Definition at line 1022 of file class.ilObjCourseGUI.php.

References $form, $pass, $section, $sess, $title, ilObjUserTracking\_enabledLearningProgress(), ilLink\_getLink(), array, ilObjectServiceSettingsGUI\AUTO_RATING_NEW_OBJECTS, ilObjectServiceSettingsGUI\BADGES, ilObjectServiceSettingsGUI\CALENDAR_VISIBILITY, ilObjectServiceSettingsGUI\CUSTOM_METADATA, ilMembershipRegistrationCodeUtils\generateCode(), ilObjectLP\getInstance(), IL_CAL_UNIX, IL_CRS_SUBSCRIPTION_CONFIRMATION, IL_CRS_SUBSCRIPTION_DEACTIVATED, IL_CRS_SUBSCRIPTION_DIRECT, IL_CRS_SUBSCRIPTION_PASSWORD, IL_CRS_VIEW_BY_TYPE, IL_CRS_VIEW_OBJECTIVE, IL_CRS_VIEW_SESSIONS, IL_CRS_VIEW_SIMPLE, IL_CRS_VIEW_TIMING, ilObjectGUI\initDidacticTemplate(), ilObjectServiceSettingsGUI\initServiceSettingsForm(), ilContainerGUI\initSortingForm(), ilCourseConstants\MAIL_ALLOWED_ALL, ilCourseConstants\MAIL_ALLOWED_TUTORS, object, ilObjectServiceSettingsGUI\ORGU_POSITION_ACCESS, ilCheckboxInputGUI\setChecked(), ilRadioOption\setInfo(), ilFormPropertyGUI\setInfo(), ilNumberInputGUI\setMinValue(), ilDateDurationInputGUI\setShowTime(), ilCheckboxInputGUI\setValue(), ilRadioGroupInputGUI\setValue(), ilRadioOption\setValue(), ilTextAreaInputGUI\setValue(), ilObjectServiceSettingsGUI\SKILLS, ilContainer\SORT_ACTIVATION, ilContainer\SORT_CREATION, ilContainer\SORT_MANUAL, ilContainer\SORT_TITLE, ilObjCourse\STATUS_DETERMINATION_LP, ilObjCourse\STATUS_DETERMINATION_MANUAL, ilObjectServiceSettingsGUI\TAG_CLOUD, ilObject\TITLE_LENGTH, and ilObjectServiceSettingsGUI\USE_NEWS.

Referenced by updateObject().

1023  {
1024  include_once('./Services/Form/classes/class.ilPropertyFormGUI.php');
1025  include_once('./Services/Calendar/classes/class.ilDateTime.php');
1026 
1027  $form = new ilPropertyFormGUI();
1028  $form->setTitle($this->lng->txt('crs_edit'));
1029 
1030  $form->addCommandButton('update', $this->lng->txt('save'));
1031  $form->addCommandButton('cancel', $this->lng->txt('cancel'));
1032 
1033  $form->setFormAction($this->ctrl->getFormAction($this, 'update'));
1034 
1035  // title
1036  $title = new ilTextInputGUI($this->lng->txt('title'), 'title');
1037  $title->setSubmitFormOnEnter(true);
1038  $title->setValue($this->object->getTitle());
1039  $title->setSize(min(40, ilObject::TITLE_LENGTH));
1040  $title->setMaxLength(ilObject::TITLE_LENGTH);
1041  $title->setRequired(true);
1042  $form->addItem($title);
1043 
1044  // desc
1045  $desc = new ilTextAreaInputGUI($this->lng->txt('description'), 'desc');
1046  $desc->setValue($this->object->getLongDescription());
1047  $desc->setRows(2);
1048  $desc->setCols(40);
1049  $form->addItem($desc);
1050 
1051  // Show didactic template type
1052  $this->initDidacticTemplate($form);
1053 
1054  // period
1055  include_once "Services/Form/classes/class.ilDateDurationInputGUI.php";
1056  $cdur = new ilDateDurationInputGUI($this->lng->txt('crs_period'), 'period');
1057  $cdur->setInfo($this->lng->txt('crs_period_info'));
1058  if ($this->object->getCourseStart()) {
1059  $cdur->setStart($this->object->getCourseStart());
1060  }
1061  if ($this->object->getCourseStart()) {
1062  $cdur->setEnd($this->object->getCourseEnd());
1063  }
1064  $form->addItem($cdur);
1065 
1066 
1067  // activation/availability
1068 
1069  $this->lng->loadLanguageModule('rep');
1070 
1072  $section->setTitle($this->lng->txt('rep_activation_availability'));
1073  $form->addItem($section);
1074 
1075  $online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'), 'activation_online');
1076  $online->setChecked(!$this->object->getOfflineStatus());
1077  $online->setInfo($this->lng->txt('crs_activation_online_info'));
1078  $form->addItem($online);
1079 
1080  // $act_type = new ilCheckboxInputGUI($this->lng->txt('crs_visibility_until'), 'activation_type');
1081  // $act_type->setInfo($this->lng->txt('crs_visibility_until_info'));
1082  // $act_type->setChecked($this->object->getActivationType() == IL_CRS_ACTIVATION_LIMITED);
1083  // $form->addItem($act_type);
1084 
1085  include_once "Services/Form/classes/class.ilDateDurationInputGUI.php";
1086  $dur = new ilDateDurationInputGUI($this->lng->txt('rep_time_period'), "access_period");
1087  $dur->setShowTime(true);
1088  $dur->setStart(new ilDateTime($this->object->getActivationStart(), IL_CAL_UNIX));
1089  $dur->setEnd(new ilDateTime($this->object->getActivationEnd(), IL_CAL_UNIX));
1090  $form->addItem($dur);
1091 
1092  $visible = new ilCheckboxInputGUI($this->lng->txt('rep_activation_limited_visibility'), 'activation_visibility');
1093  $visible->setInfo($this->lng->txt('crs_activation_limited_visibility_info'));
1094  $visible->setChecked($this->object->getActivationVisibility());
1095  $dur->addSubItem($visible);
1096 
1097 
1099  $section->setTitle($this->lng->txt('crs_reg'));
1100  $form->addItem($section);
1101 
1102  $reg_proc = new ilRadioGroupInputGUI($this->lng->txt('crs_registration_type'), 'subscription_type');
1103  $reg_proc->setValue(
1104  ($this->object->getSubscriptionLimitationType() != IL_CRS_SUBSCRIPTION_DEACTIVATED)
1105  ? $this->object->getSubscriptionType()
1107  );
1108  // $reg_proc->setInfo($this->lng->txt('crs_reg_type_info'));
1109 
1110  $opt = new ilRadioOption($this->lng->txt('crs_subscription_options_direct'), IL_CRS_SUBSCRIPTION_DIRECT);
1111  $reg_proc->addOption($opt);
1112 
1113  $opt = new ilRadioOption($this->lng->txt('crs_subscription_options_password'), IL_CRS_SUBSCRIPTION_PASSWORD);
1114 
1115  $pass = new ilTextInputGUI($this->lng->txt("password"), 'subscription_password');
1116  $pass->setRequired(true);
1117  $pass->setInfo($this->lng->txt('crs_reg_password_info'));
1118  $pass->setSubmitFormOnEnter(true);
1119  $pass->setSize(32);
1120  $pass->setMaxLength(32);
1121  $pass->setValue($this->object->getSubscriptionPassword());
1122 
1123  $opt->addSubItem($pass);
1124  $reg_proc->addOption($opt);
1125 
1126  $opt = new ilRadioOption($this->lng->txt('crs_subscription_options_confirmation'), IL_CRS_SUBSCRIPTION_CONFIRMATION);
1127  $opt->setInfo($this->lng->txt('crs_registration_confirmation_info'));
1128  $reg_proc->addOption($opt);
1129 
1130  $opt = new ilRadioOption($this->lng->txt('crs_reg_no_selfreg'), IL_CRS_SUBSCRIPTION_DEACTIVATED);
1131  $opt->setInfo($this->lng->txt('crs_registration_deactivated'));
1132  $reg_proc->addOption($opt);
1133 
1134  $form->addItem($reg_proc);
1135 
1136 
1137  // Registration codes
1138  $reg_code = new ilCheckboxInputGUI($this->lng->txt('crs_reg_code'), 'reg_code_enabled');
1139  $reg_code->setChecked($this->object->isRegistrationAccessCodeEnabled());
1140  $reg_code->setValue(1);
1141  $reg_code->setInfo($this->lng->txt('crs_reg_code_enabled_info'));
1142 
1143  /*
1144  $code = new ilNonEditableValueGUI($this->lng->txt('crs_reg_code_value'));
1145  $code->setValue($this->object->getRegistrationAccessCode());
1146  $reg_code->addSubItem($code);
1147  */
1148 
1149  #$link = new ilNonEditableValueGUI($this->lng->txt('crs_reg_code_link'));
1150  // Create default access code
1151  if (!$this->object->getRegistrationAccessCode()) {
1152  include_once './Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
1153  $this->object->setRegistrationAccessCode(ilMembershipRegistrationCodeUtils::generateCode());
1154  }
1155  $reg_link = new ilHiddenInputGUI('reg_code');
1156  $reg_link->setValue($this->object->getRegistrationAccessCode());
1157  $form->addItem($reg_link);
1158 
1159  $link = new ilCustomInputGUI($this->lng->txt('crs_reg_code_link'));
1160  include_once './Services/Link/classes/class.ilLink.php';
1161  $val = ilLink::_getLink($this->object->getRefId(), $this->object->getType(), array(), '_rcode' . $this->object->getRegistrationAccessCode());
1162  $link->setHTML('<font class="small">' . $val . '</font>');
1163  $reg_code->addSubItem($link);
1164 
1165  $form->addItem($reg_code);
1166 
1167  // time limit
1168  include_once "Services/Form/classes/class.ilDateDurationInputGUI.php";
1169  $sdur = new ilDateDurationInputGUI($this->lng->txt('crs_registration_limited'), "subscription_period");
1170  $sdur->setShowTime(true);
1171  if ($this->object->getSubscriptionStart()) {
1172  $sdur->setStart(new ilDateTime($this->object->getSubscriptionStart(), IL_CAL_UNIX));
1173  }
1174  if ($this->object->getSubscriptionEnd()) {
1175  $sdur->setEnd(new ilDateTime($this->object->getSubscriptionEnd(), IL_CAL_UNIX));
1176  }
1177  $form->addItem($sdur);
1178 
1179  // cancellation limit
1180  $cancel = new ilDateTimeInputGUI($this->lng->txt('crs_cancellation_end'), 'cancel_end');
1181  $cancel->setInfo($this->lng->txt('crs_cancellation_end_info'));
1182  $cancel_end = $this->object->getCancellationEnd();
1183  if ($cancel_end) {
1184  $cancel->setDate($cancel_end);
1185  }
1186  $form->addItem($cancel);
1187 
1188  // Max members
1189  $lim = new ilCheckboxInputGUI($this->lng->txt('crs_subscription_max_members_short'), 'subscription_membership_limitation');
1190  $lim->setInfo($this->lng->txt('crs_subscription_max_members_short_info'));
1191  $lim->setValue(1);
1192  $lim->setChecked($this->object->isSubscriptionMembershipLimited());
1193 
1194  $min = new ilTextInputGUI('', 'subscription_min');
1195  $min->setSubmitFormOnEnter(true);
1196  $min->setSize(4);
1197  $min->setMaxLength(4);
1198  $min->setValue($this->object->getSubscriptionMinMembers() ? $this->object->getSubscriptionMinMembers() : '');
1199  $min->setTitle($this->lng->txt('crs_subscription_min_members'));
1200  $min->setInfo($this->lng->txt('crs_subscription_min_members_info'));
1201  $lim->addSubItem($min);
1202 
1203  $max = new ilTextInputGUI('', 'subscription_max');
1204  $max->setSubmitFormOnEnter(true);
1205  $max->setSize(4);
1206  $max->setMaxLength(4);
1207  $max->setValue($this->object->getSubscriptionMaxMembers() ? $this->object->getSubscriptionMaxMembers() : '');
1208  $max->setTitle($this->lng->txt('crs_subscription_max_members'));
1209  $max->setInfo($this->lng->txt('crs_reg_max_info'));
1210 
1211  $lim->addSubItem($max);
1212 
1213  /*
1214  $wait = new ilCheckboxInputGUI($this->lng->txt('crs_waiting_list'),'waiting_list');
1215  $wait->setChecked($this->object->enabledWaitingList());
1216  $wait->setInfo($this->lng->txt('crs_wait_info'));
1217  $lim->addSubItem($wait);
1218 
1219  $wait = new ilCheckboxInputGUI($this->lng->txt('crs_waiting_list'),'waiting_list');
1220  $wait->setChecked($this->object->enabledWaitingList());
1221  $wait->setInfo($this->lng->txt('crs_wait_info'));
1222  $lim->addSubItem($wait);
1223 
1224  $auto = new ilCheckboxInputGUI($this->lng->txt('crs_waiting_list_autofill'), 'auto_wait');
1225  $auto->setChecked($this->object->hasWaitingListAutoFill());
1226  $auto->setInfo($this->lng->txt('crs_waiting_list_autofill_info'));
1227  $wait->addSubItem($auto);
1228  */
1229 
1230  $wait = new ilRadioGroupInputGUI($this->lng->txt('crs_waiting_list'), 'waiting_list');
1231 
1232  $option = new ilRadioOption($this->lng->txt('none'), 0);
1233  $wait->addOption($option);
1234 
1235  $option = new ilRadioOption($this->lng->txt('crs_waiting_list_no_autofill'), 1);
1236  $option->setInfo($this->lng->txt('crs_wait_info'));
1237  $wait->addOption($option);
1238 
1239  $option = new ilRadioOption($this->lng->txt('crs_waiting_list_autofill'), 2);
1240  $option->setInfo($this->lng->txt('crs_waiting_list_autofill_info'));
1241  $wait->addOption($option);
1242 
1243  if ($this->object->hasWaitingListAutoFill()) {
1244  $wait->setValue(2);
1245  } elseif ($this->object->enabledWaitingList()) {
1246  $wait->setValue(1);
1247  }
1248 
1249  $lim->addSubItem($wait);
1250 
1251  $form->addItem($lim);
1252 
1253 
1254  $pres = new ilFormSectionHeaderGUI();
1255  $pres->setTitle($this->lng->txt('crs_view_mode'));
1256 
1257  $form->addItem($pres);
1258 
1259  // presentation type
1260  $view_type = new ilRadioGroupInputGUI($this->lng->txt('crs_presentation_type'), 'view_mode');
1261  $view_type->setValue($this->object->getViewMode());
1262 
1263  $opts = new ilRadioOption($this->lng->txt('cntr_view_sessions'), IL_CRS_VIEW_SESSIONS);
1264  $opts->setInfo($this->lng->txt('cntr_view_info_sessions'));
1265  $view_type->addOption($opts);
1266 
1267  // Limited sessions
1268  $sess = new ilCheckboxInputGUI($this->lng->txt('sess_limit'), 'sl');
1269  $sess->setValue(1);
1270  $sess->setChecked($this->object->isSessionLimitEnabled());
1271  $sess->setInfo($this->lng->txt('sess_limit_info'));
1272 
1273  $prev = new ilNumberInputGUI($this->lng->txt('sess_num_prev'), 'sp');
1274  #$prev->setSubmitFormOnEnter(true);
1275  $prev->setMinValue(0);
1276  $prev->setValue(
1277  $this->object->getNumberOfPreviousSessions() == -1 ?
1278  '' :
1279  $this->object->getNumberOfPreviousSessions()
1280  );
1281  $prev->setSize(2);
1282  $prev->setMaxLength(3);
1283  $sess->addSubItem($prev);
1284 
1285  $next = new ilNumberInputGUI($this->lng->txt('sess_num_next'), 'sn');
1286  #$next->setSubmitFormOnEnter(true);
1287  $next->setMinValue(0);
1288  $next->setValue(
1289  $this->object->getNumberOfNextSessions() == -1 ?
1290  '' :
1291  $this->object->getNumberOfnextSessions()
1292  );
1293  $next->setSize(2);
1294  $next->setMaxLength(3);
1295  $sess->addSubItem($next);
1296 
1297  $opts->addSubItem($sess);
1298 
1299 
1300 
1301 
1302  $optsi = new ilRadioOption($this->lng->txt('cntr_view_simple'), IL_CRS_VIEW_SIMPLE);
1303  $optsi->setInfo($this->lng->txt('cntr_view_info_simple'));
1304  $view_type->addOption($optsi);
1305 
1306  $optbt = new ilRadioOption($this->lng->txt('cntr_view_by_type'), IL_CRS_VIEW_BY_TYPE);
1307  $optbt->setInfo($this->lng->txt('cntr_view_info_by_type'));
1308  $view_type->addOption($optbt);
1309 
1310  $opto = new ilRadioOption($this->lng->txt('crs_view_objective'), IL_CRS_VIEW_OBJECTIVE);
1311  $opto->setInfo($this->lng->txt('crs_view_info_objective'));
1312  $view_type->addOption($opto);
1313 
1314  $optt = new ilRadioOption($this->lng->txt('crs_view_timing'), IL_CRS_VIEW_TIMING);
1315  $optt->setInfo($this->lng->txt('crs_view_info_timing'));
1316  $view_type->addOption($optt);
1317 
1318  $form->addItem($view_type);
1319 
1320  $this->initSortingForm(
1321  $form,
1322  array(
1327  )
1328  );
1329 
1330 
1331 
1332  // lp vs. course status
1333  include_once("Services/Tracking/classes/class.ilObjUserTracking.php");
1335  include_once './Services/Object/classes/class.ilObjectLP.php';
1336  $olp = ilObjectLP::getInstance($this->object->getId());
1337  if ($olp->getCurrentMode()) {
1338  $lp_status = new ilFormSectionHeaderGUI();
1339  $lp_status->setTitle($this->lng->txt('crs_course_status_of_users'));
1340  $form->addItem($lp_status);
1341 
1342  $lp_status_options = new ilRadioGroupInputGUI($this->lng->txt('crs_status_determination'), "status_dt");
1343  // $lp_status_options->setRequired(true);
1344  $lp_status_options->setValue($this->object->getStatusDetermination());
1345 
1346  $lp_option = new ilRadioOption(
1347  $this->lng->txt('crs_status_determination_lp'),
1349  $this->lng->txt('crs_status_determination_lp_info')
1350  );
1351  $lp_status_options->addOption($lp_option);
1352  $lp_status_options->addOption(new ilRadioOption(
1353  $this->lng->txt('crs_status_determination_manual'),
1355  ));
1356 
1357  $form->addItem($lp_status_options);
1358  }
1359  }
1360 
1361  // additional features
1362  $feat = new ilFormSectionHeaderGUI();
1363  $feat->setTitle($this->lng->txt('obj_features'));
1364  $form->addItem($feat);
1365 
1366  include_once './Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
1368  $this->object->getId(),
1369  $form,
1370  array(
1379  )
1380  );
1381 
1382  $mem = new ilCheckboxInputGUI($this->lng->txt('crs_show_members'), 'show_members');
1383  $mem->setChecked($this->object->getShowMembers());
1384  $mem->setInfo($this->lng->txt('crs_show_members_info'));
1385  $form->addItem($mem);
1386 
1387  $part_list = new ilCheckboxInputGUI($this->lng->txt('crs_show_member_export'), 'show_members_export');
1388  $part_list->setChecked($this->object->getShowMembersExport());
1389  $part_list->setInfo($this->lng->txt('crs_show_member_export_info'));
1390  $mem->addSubItem($part_list);
1391 
1392 
1393  // Show members type
1394  $mail_type = new ilRadioGroupInputGUI($this->lng->txt('crs_mail_type'), 'mail_type');
1395  $mail_type->setValue($this->object->getMailToMembersType());
1396 
1397  $mail_tutors = new ilRadioOption(
1398  $this->lng->txt('crs_mail_tutors_only'),
1400  $this->lng->txt('crs_mail_tutors_only_info')
1401  );
1402  $mail_type->addOption($mail_tutors);
1403 
1404  $mail_all = new ilRadioOption(
1405  $this->lng->txt('crs_mail_all'),
1407  $this->lng->txt('crs_mail_all_info')
1408  );
1409  $mail_type->addOption($mail_all);
1410  $form->addItem($mail_type);
1411 
1412  // Notification Settings
1413  /*$notification = new ilFormSectionHeaderGUI();
1414  $notification->setTitle($this->lng->txt('crs_notification'));
1415  $form->addItem($notification);*/
1416 
1417  // Self notification
1418  $not = new ilCheckboxInputGUI($this->lng->txt('crs_auto_notification'), 'auto_notification');
1419  $not->setValue(1);
1420  $not->setInfo($this->lng->txt('crs_auto_notification_info'));
1421  $not->setChecked($this->object->getAutoNotification());
1422  $form->addItem($not);
1423 
1424 
1425  // Further information
1426  //$further = new ilFormSectionHeaderGUI();
1427  //$further->setTitle($this->lng->txt('crs_further_settings'));
1428  //$form->addItem($further);
1429 
1430  $desk = new ilCheckboxInputGUI($this->lng->txt('crs_add_remove_from_desktop'), 'abo');
1431  $desk->setChecked($this->object->getAboStatus());
1432  $desk->setInfo($this->lng->txt('crs_add_remove_from_desktop_info'));
1433  $form->addItem($desk);
1434 
1435 
1436  // Edit ecs export settings
1437  include_once 'Modules/Course/classes/class.ilECSCourseSettings.php';
1438  $ecs = new ilECSCourseSettings($this->object);
1439  $ecs->addSettingsToForm($form, 'crs');
1440 
1441  return $form;
1442  }
This class represents an option in a radio group.
const IL_CRS_VIEW_OBJECTIVE
This class represents a property form user interface.
const TITLE_LENGTH
max length of object title
This class represents a section header in a property form.
setValue($a_value)
Set Value.
This class represents a checkbox property in a property form.
const IL_CRS_SUBSCRIPTION_CONFIRMATION
const IL_CAL_UNIX
const IL_CRS_VIEW_TIMING
const STATUS_DETERMINATION_LP
setInfo($a_info)
Set Info.
const IL_CRS_VIEW_SIMPLE
const IL_CRS_VIEW_BY_TYPE
This class represents a date/time property in a property form.
setInfo($a_info)
Set Information Text.
$section
Definition: Utf8Test.php:83
setChecked($a_checked)
Set Checked.
This class represents a hidden form property in a property form.
input GUI for a time span (start and end date)
static _enabledLearningProgress()
check wether learing progress is enabled or not
const IL_CRS_SUBSCRIPTION_PASSWORD
This class represents a property in a property form.
setValue($a_value)
Set Value.
setMinValue($a_minvalue, $a_display_always=false)
Set Minimum Value.
const IL_CRS_VIEW_SESSIONS
if(isset($_POST['submit'])) $form
This class represents a number property in a property form.
initDidacticTemplate(ilPropertyFormGUI $form)
Show didactic template types.
setValue($a_value)
Set Value.
This class represents a text property in a property form.
Date and time handling
setShowTime($a_showtime)
Set Show Time Information.
const STATUS_DETERMINATION_MANUAL
Create styles array
The data for the language used.
This class represents a custom property in a property form.
static generateCode()
Generate new registration key.
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
Create new PHPExcel object
obj_idprivate
This class represents a text area property in a property form.
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
const IL_CRS_SUBSCRIPTION_DIRECT
static getInstance($a_obj_id)
Class ilECSCourseSettings.
const IL_CRS_SUBSCRIPTION_DEACTIVATED
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initHeaderAction()

ilObjCourseGUI::initHeaderAction (   $a_sub_type = null,
  $a_sub_id = null 
)
protected

Definition at line 3152 of file class.ilObjCourseGUI.php.

References $ilSetting, $ilUser, $lg, ilParticipants\_isParticipant(), ilCourseParticipants\getDateTimeOfPassed(), ilUtil\getImagePath(), ilMembershipNotifications\isActive(), ilCertificate\isActive(), ilCertificate\isObjectActive(), and object.

3153  {
3154  global $ilSetting, $ilUser;
3155 
3156  $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
3157 
3158  if ($lg && $this->ref_id && ilCourseParticipants::_isParticipant($this->ref_id, $ilUser->getId())) {
3159  // certificate
3160  include_once "Services/Certificate/classes/class.ilCertificate.php";
3161  if (ilCertificate::isActive() &&
3162  ilCertificate::isObjectActive($this->object->getId()) &&
3163  ilCourseParticipants::getDateTimeOfPassed($this->object->getId(), $ilUser->getId())) {
3164  $cert_url = $this->ctrl->getLinkTarget($this, "deliverCertificate");
3165 
3166  $this->lng->loadLanguageModule("certificate");
3167  $lg->addCustomCommand($cert_url, "download_certificate");
3168 
3169  $lg->addHeaderIcon(
3170  "cert_icon",
3171  ilUtil::getImagePath("icon_cert.svg"),
3172  $this->lng->txt("download_certificate"),
3173  null,
3174  null,
3175  $cert_url
3176  );
3177  }
3178 
3179  // notification
3180  include_once "Services/Membership/classes/class.ilMembershipNotifications.php";
3182  $noti = new ilMembershipNotifications($this->ref_id);
3183  if (!$noti->isCurrentUserActive()) {
3184  $lg->addHeaderIcon(
3185  "not_icon",
3186  ilUtil::getImagePath("notification_off.svg"),
3187  $this->lng->txt("crs_notification_deactivated")
3188  );
3189 
3190  $this->ctrl->setParameter($this, "crs_ntf", 1);
3191  $caption = "crs_activate_notification";
3192  } else {
3193  $lg->addHeaderIcon(
3194  "not_icon",
3195  ilUtil::getImagePath("notification_on.svg"),
3196  $this->lng->txt("crs_notification_activated")
3197  );
3198 
3199  $this->ctrl->setParameter($this, "crs_ntf", 0);
3200  $caption = "crs_deactivate_notification";
3201  }
3202 
3203  if ($noti->canCurrentUserEdit()) {
3204  $lg->addCustomCommand(
3205  $this->ctrl->getLinkTarget($this, "saveNotification"),
3206  $caption
3207  );
3208  }
3209 
3210  $this->ctrl->setParameter($this, "crs_ntf", "");
3211  }
3212  }
3213 
3214  return $lg;
3215  }
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
$lg
Definition: example_018.php:62
static isActive()
Is feature active?
static getDateTimeOfPassed($a_obj_id, $a_usr_id)
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
$ilUser
Definition: imgupload.php:18
static isObjectActive($a_obj_id)
Create new PHPExcel object
obj_idprivate
global $ilSetting
Definition: privfeed.php:17
Membership notification settings.
+ Here is the call graph for this function:

◆ initInfoEditor()

ilObjCourseGUI::initInfoEditor ( )

init info editor

public

Parameters

Definition at line 643 of file class.ilObjCourseGUI.php.

References $file, $form, $section, $text, ilAdvancedMDRecordGUI\MODE_EDITOR, object, ilAdvancedMDRecordGUI\setPropertyForm(), and ilTextAreaInputGUI\setValue().

Referenced by editInfoObject(), and updateInfoObject().

644  {
645  include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
646  $form = new ilPropertyFormGUI();
647  $form->setFormAction($this->ctrl->getFormAction($this, 'updateInfo'));
648  $form->setMultipart(true);
649  $form->setTitle($this->lng->txt('crs_general_info'));
650  $form->addCommandButton('updateInfo', $this->lng->txt('save'));
651  $form->addCommandButton('cancel', $this->lng->txt('cancel'));
652 
653  $area = new ilTextAreaInputGUI($this->lng->txt('crs_important_info'), 'important');
654  $area->setValue($this->object->getImportantInformation());
655  $area->setRows(6);
656  $area->setCols(80);
657  $form->addItem($area);
658 
659  $area = new ilTextAreaInputGUI($this->lng->txt('crs_syllabus'), 'syllabus');
660  $area->setValue($this->object->getSyllabus());
661  $area->setRows(6);
662  $area->setCols(80);
663  $form->addItem($area);
664 
666  $section->setTitle($this->lng->txt('crs_info_download'));
667  $form->addItem($section);
668 
669  $file = new ilFileInputGUI($this->lng->txt('crs_file'), 'file');
670  $file->enableFileNameSelection('file_name');
671  $form->addItem($file);
672 
674  $section->setTitle($this->lng->txt('crs_contact'));
675  $form->addItem($section);
676 
677  $text = new ilTextInputGUI($this->lng->txt('crs_contact_name'), 'contact_name');
678  $text->setValue($this->object->getContactName());
679  $text->setSize(40);
680  $text->setMaxLength(70);
681  $form->addItem($text);
682 
683  $text = new ilTextInputGUI($this->lng->txt('crs_contact_responsibility'), 'contact_responsibility');
684  $text->setValue($this->object->getContactResponsibility());
685  $text->setSize(40);
686  $text->setMaxLength(70);
687  $form->addItem($text);
688 
689  $text = new ilTextInputGUI($this->lng->txt('crs_contact_phone'), 'contact_phone');
690  $text->setValue($this->object->getContactPhone());
691  $text->setSize(40);
692  $text->setMaxLength(40);
693  $form->addItem($text);
694 
695  $text = new ilTextInputGUI($this->lng->txt('crs_contact_email'), 'contact_email');
696  $text->setValue($this->object->getContactEmail());
697  $text->setInfo($this->lng->txt('crs_contact_email_info'));
698  $text->setSize(40);
699  $text->setMaxLength(255);
700  $form->addItem($text);
701 
702  $area = new ilTextAreaInputGUI($this->lng->txt('crs_contact_consultation'), 'contact_consultation');
703  $area->setValue($this->object->getContactConsultation());
704  $area->setRows(6);
705  $area->setCols(80);
706  $form->addItem($area);
707 
708  include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
709  $this->record_gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_EDITOR, 'crs', $this->object->getId());
710  $this->record_gui->setPropertyForm($form);
711  $this->record_gui->parse();
712 
713  return $form;
714  }
This class represents a property form user interface.
setPropertyForm($form)
set property form object
This class represents a section header in a property form.
This class represents a file property in a property form.
setValue($a_value)
Set Value.
$section
Definition: Utf8Test.php:83
if(isset($_POST['submit'])) $form
$text
Definition: errorreport.php:18
This class represents a text property in a property form.
Create new PHPExcel object
obj_idprivate
This class represents a text area property in a property form.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ jump2UsersGalleryObject()

ilObjCourseGUI::jump2UsersGalleryObject ( )
protected

Definition at line 3425 of file class.ilObjCourseGUI.php.

3426  {
3427  $this->ctrl->redirectByClass('ilUsersGalleryGUI');
3428  }

◆ leaveObject()

ilObjCourseGUI::leaveObject ( )

Definition at line 1893 of file class.ilObjCourseGUI.php.

References $ilUser, ilObjectGUI\checkPermission(), object, ilUtil\sendFailure(), and viewObject().

Referenced by unsubscribeObject().

1894  {
1895  global $ilUser;
1896 
1897  $this->checkPermission('leave');
1898 
1899  if ($this->object->getMembersObject()->isLastAdmin($ilUser->getId())) {
1900  ilUtil::sendFailure($this->lng->txt('crs_min_one_admin'));
1901  $this->viewObject();
1902  return false;
1903  }
1904 
1905  $this->tabs_gui->setTabActive('crs_unsubscribe');
1906 
1907  include_once "Services/Utilities/classes/class.ilConfirmationGUI.php";
1908  $cgui = new ilConfirmationGUI();
1909  $cgui->setHeaderText($this->lng->txt('crs_unsubscribe_sure'));
1910  $cgui->setFormAction($this->ctrl->getFormAction($this));
1911  $cgui->setCancel($this->lng->txt("cancel"), "cancel");
1912  $cgui->setConfirm($this->lng->txt("crs_unsubscribe"), "performUnsubscribe");
1913  $this->tpl->setContent($cgui->getHTML());
1914  }
$ilUser
Definition: imgupload.php:18
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Create new PHPExcel object
obj_idprivate
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
Confirmation screen class.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadDate()

ilObjCourseGUI::loadDate (   $a_field)
protected

load date

protected

Parameters

Definition at line 3023 of file class.ilObjCourseGUI.php.

References $_POST, $ilUser, and IL_CAL_FKT_GETDATE.

3024  {
3025  global $ilUser;
3026 
3027  include_once('./Services/Calendar/classes/class.ilDateTime.php');
3028 
3029  // #10206 / #10217
3030  if (is_array($_POST[$a_field]['date'])) {
3031  $dt['year'] = (int) $_POST[$a_field]['date']['y'];
3032  $dt['mon'] = (int) $_POST[$a_field]['date']['m'];
3033  $dt['mday'] = (int) $_POST[$a_field]['date']['d'];
3034  $dt['hours'] = (int) $_POST[$a_field]['time']['h'];
3035  $dt['minutes'] = (int) $_POST[$a_field]['time']['m'];
3036  $dt['seconds'] = (int) $_POST[$a_field]['time']['s'];
3037  } else {
3038  $date = date_parse($_POST[$a_field]['date'] . " " . $_POST[$a_field]['time']);
3039  $dt['year'] = (int) $date['year'];
3040  $dt['mon'] = (int) $date['month'];
3041  $dt['mday'] = (int) $date['day'];
3042  $dt['hours'] = (int) $date['hour'];
3043  $dt['minutes'] = (int) $date['minute'];
3044  $dt['seconds'] = (int) $date['second'];
3045  }
3046 
3047  $date = new ilDateTime($dt, IL_CAL_FKT_GETDATE, $ilUser->getTimeZone());
3048  return $date;
3049  }
Date and time handling
$ilUser
Definition: imgupload.php:18
const IL_CAL_FKT_GETDATE
$_POST["username"]

◆ membersObject()

ilObjCourseGUI::membersObject ( )
protected

Called from goto?

Definition at line 2773 of file class.ilObjCourseGUI.php.

References $GLOBALS.

Referenced by autoFillObject().

2774  {
2775  $GLOBALS['ilCtrl']->redirectByClass('ilcoursemembershipgui');
2776  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
+ Here is the caller graph for this function:

◆ modifyItemGUI()

ilObjCourseGUI::modifyItemGUI (   $a_item_list_gui,
  $a_item_data,
  $a_show_path 
)

Modify Item ListGUI for presentation in container.

Parameters
type$a_item_list_gui
type$a_item_data
type$a_show_path
Returns
type

Definition at line 2907 of file class.ilObjCourseGUI.php.

References _modifyItemGUI(), and object.

2908  {
2910  $a_item_list_gui,
2911  'ilcoursecontentgui',
2912  $a_item_data,
2913  $a_show_path,
2914  $this->object->getAboStatus(),
2915  $this->object->getRefId(),
2916  $this->object->getId()
2917  );
2918  }
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.
Create new PHPExcel object
obj_idprivate
+ Here is the call graph for this function:

◆ performUnsubscribeObject()

ilObjCourseGUI::performUnsubscribeObject ( )

Definition at line 1924 of file class.ilObjCourseGUI.php.

References $ilCtrl, $ilUser, ilObjectGUI\checkPermission(), object, and ilUtil\sendSuccess().

1925  {
1926  global $ilUser, $ilCtrl;
1927 
1928  // CHECK ACCESS
1929  $this->checkPermission('leave');
1930  $this->object->getMembersObject()->delete($this->ilias->account->getId());
1931  $this->object->getMembersObject()->sendUnsubscribeNotificationToAdmins($this->ilias->account->getId());
1932  $this->object->getMembersObject()->sendNotification($this->object->getMembersObject()->NOTIFY_UNSUBSCRIBE, $ilUser->getId());
1933 
1934  ilUtil::sendSuccess($this->lng->txt('crs_unsubscribed_from_crs'), true);
1935 
1936  $ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $this->tree->getParentId($this->ref_id));
1937  $ilCtrl->redirectByClass("ilrepositorygui", "");
1938  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
global $ilCtrl
Definition: ilias.php:18
$ilUser
Definition: imgupload.php:18
redirection script todo: (a better solution should control the processing via a xml file) ...
Create new PHPExcel object
obj_idprivate
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
+ Here is the call graph for this function:

◆ prepareOutput()

ilObjCourseGUI::prepareOutput (   $a_show_subobjects = true)

Handle member view.

Returns

Definition at line 3124 of file class.ilObjCourseGUI.php.

References ilContainerGUI\$rbacsystem, ilContainerGUI\$settings, ilObjectGUI\getCreationMode(), ilMemberViewSettings\getInstance(), and object.

Referenced by executeCommand().

3125  {
3126  global $rbacsystem;
3127  if (!$this->getCreationMode()) {
3128  include_once './Services/Container/classes/class.ilMemberViewSettings.php';
3130  if ($settings->isActive() and $settings->getContainer() != $this->object->getRefId()) {
3131  $settings->setContainer($this->object->getRefId());
3132  $rbacsystem->initMemberView();
3133  }
3134  }
3135  parent::prepareOutput($a_show_subobjects);
3136  }
Create new PHPExcel object
obj_idprivate
static getInstance()
Get instance.
getCreationMode()
get creation mode
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ readMemberData()

ilObjCourseGUI::readMemberData (   $ids,
  $selected_columns = null 
)

Definition at line 1746 of file class.ilObjCourseGUI.php.

References $failed, $name, ilObjUserTracking\_enabledLearningProgress(), ilObjUserTracking\_enabledUserRelatedData(), ilPrivacySettings\_getInstance(), ilLPStatusWrapper\_lookupCompletedForObject(), ilLPStatusWrapper\_lookupFailedForObject(), ilLPStatusWrapper\_lookupInProgressForObject(), ilObjUser\_lookupLogin(), ilObjUser\_lookupName(), ilLearningProgress\_lookupProgressByObjId(), array, ilDatePresentation\formatDate(), ilObjPortfolio\getAvailablePortfolioLinksForUserIds(), ilObjectLP\getInstance(), IL_CAL_UNIX, ilLPStatus\LP_STATUS_COMPLETED, ilLPStatus\LP_STATUS_FAILED, ilLPStatus\LP_STATUS_IN_PROGRESS, ilLPStatus\LP_STATUS_NOT_ATTEMPTED, object, and ilObjCourse\STATUS_DETERMINATION_LP.

1747  {
1748  include_once './Services/Tracking/classes/class.ilObjUserTracking.php';
1749  $this->show_tracking =
1750  (
1752  ilObjUserTracking::_enabledUserRelatedData()
1753  );
1754  if ($this->show_tracking) {
1755  include_once('./Services/Object/classes/class.ilObjectLP.php');
1756  $olp = ilObjectLP::getInstance($this->object->getId());
1757  $this->show_tracking = $olp->isActive();
1758  }
1759 
1760  if ($this->show_tracking) {
1761  include_once 'Services/Tracking/classes/class.ilLPStatusWrapper.php';
1762  $completed = ilLPStatusWrapper::_lookupCompletedForObject($this->object->getId());
1763  $in_progress = ilLPStatusWrapper::_lookupInProgressForObject($this->object->getId());
1765  }
1766  include_once('./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1767  $privacy = ilPrivacySettings::_getInstance();
1768 
1769  if ($privacy->enabledCourseAccessTimes()) {
1770  include_once('./Services/Tracking/classes/class.ilLearningProgress.php');
1771  $progress = ilLearningProgress::_lookupProgressByObjId($this->object->getId());
1772  }
1773 
1774  $do_prtf = (is_array($selected_columns) &&
1775  in_array('prtf', $selected_columns) &&
1776  is_array($ids));
1777  if ($do_prtf) {
1778  include_once "Modules/Portfolio/classes/class.ilObjPortfolio.php";
1780  $ids,
1781  $this->ctrl->getLinkTarget($this, "members")
1782  );
1783  }
1784 
1785  foreach ((array) $ids as $usr_id) {
1786  $name = ilObjUser::_lookupName($usr_id);
1787  $tmp_data['firstname'] = $name['firstname'];
1788  $tmp_data['lastname'] = $name['lastname'];
1789  $tmp_data['login'] = ilObjUser::_lookupLogin($usr_id);
1790  $tmp_data['passed'] = $this->object->getMembersObject()->hasPassed($usr_id) ? 1 : 0;
1791  if ($this->object->getStatusDetermination() == ilObjCourse::STATUS_DETERMINATION_LP) {
1792  $tmp_data['passed_info'] = $this->object->getMembersObject()->getPassedInfo($usr_id);
1793  }
1794  $tmp_data['notification'] = $this->object->getMembersObject()->isNotificationEnabled($usr_id) ? 1 : 0;
1795  $tmp_data['blocked'] = $this->object->getMembersObject()->isBlocked($usr_id) ? 1 : 0;
1796  // cognos-blu-patch: begin
1797  $tmp_data['contact'] = $this->object->getMembersObject()->isContact($usr_id) ? 1 : 0;
1798  // cognos-blu-patch: end
1799 
1800  $tmp_data['usr_id'] = $usr_id;
1801 
1802  if ($this->show_tracking) {
1803  if (in_array($usr_id, $completed)) {
1804  $tmp_data['progress'] = ilLPStatus::LP_STATUS_COMPLETED;
1805  } elseif (in_array($usr_id, $in_progress)) {
1806  $tmp_data['progress'] = ilLPStatus::LP_STATUS_IN_PROGRESS;
1807  } elseif (in_array($usr_id, $failed)) {
1808  $tmp_data['progress'] = ilLPStatus::LP_STATUS_FAILED;
1809  } else {
1810  $tmp_data['progress'] = ilLPStatus::LP_STATUS_NOT_ATTEMPTED;
1811  }
1812  }
1813 
1814  if ($privacy->enabledCourseAccessTimes()) {
1815  if (isset($progress[$usr_id]['ts']) and $progress[$usr_id]['ts']) {
1816  $tmp_data['access_ut'] = $progress[$usr_id]['ts'];
1817  $tmp_data['access_time'] = ilDatePresentation::formatDate(new ilDateTime($progress[$usr_id]['ts'], IL_CAL_UNIX));
1818  } else {
1819  $tmp_data['access_ut'] = 0;
1820  $tmp_data['access_time'] = $this->lng->txt('no_date');
1821  }
1822  }
1823 
1824  if ($do_prtf) {
1825  $tmp_data['prtf'] = $all_prtf[$usr_id];
1826  }
1827 
1828  $members[$usr_id] = $tmp_data;
1829  }
1830  return $members ? $members : array();
1831  }
static _lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
const LP_STATUS_NOT_ATTEMPTED
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date public.
static _lookupFailedForObject($a_obj_id, $a_user_ids=null)
Get failed users for object.
const IL_CAL_UNIX
const STATUS_DETERMINATION_LP
const LP_STATUS_IN_PROGRESS
static _enabledLearningProgress()
check wether learing progress is enabled or not
if($format !==null) $name
Definition: metadata.php:146
const LP_STATUS_FAILED
static _lookupProgressByObjId($a_obj_id)
lookup progress for a specific object
Date and time handling
static getAvailablePortfolioLinksForUserIds(array $a_owner_ids, $a_back_url=null)
$failed
Definition: Utf8Test.php:85
Create styles array
The data for the language used.
static _lookupInProgressForObject($a_obj_id, $a_user_ids=null)
Get in progress users for object.
Create new PHPExcel object
obj_idprivate
static _getInstance()
Get instance of ilPrivacySettings.
static _lookupCompletedForObject($a_obj_id, $a_user_ids=null)
Get completed users for object.
const LP_STATUS_COMPLETED
static getInstance($a_obj_id)
PHPExcel root directory.
Definition: Database.php:30
+ Here is the call graph for this function:

◆ redirectLocToTestConfirmation()

ilObjCourseGUI::redirectLocToTestConfirmation (   $a_objective_id,
  $a_test_id 
)
protected

Show confirmation whether user wants to start a new run or resume a previous run.

Parameters
type$a_objective_id
type$a_test_id

Definition at line 3349 of file class.ilObjCourseGUI.php.

References $GLOBALS, ilObjectGUI\getFormAction(), and ilUtil\sendQuestion().

Referenced by redirectLocToTestObject().

3350  {
3351  include_once './Services/Utilities/classes/class.ilConfirmationGUI.php';
3352  $confirm = new ilConfirmationGUI();
3353  $confirm->setFormAction($GLOBALS['ilCtrl']->getFormAction($this));
3354 
3355  if ($a_objective_id) {
3356  $question = $this->lng->txt('crs_loc_objective_passed_confirmation');
3357  } else {
3358  $question = $this->lng->txt('crs_loc_objectives_passed_confirmation');
3359  }
3360 
3361  $confirm->addHiddenItem('objective_id', $a_objective_id);
3362  $confirm->addHiddenItem('tid', $a_test_id);
3363  $confirm->setConfirm($this->lng->txt('crs_loc_tst_start'), 'redirectLocToTestConfirmed');
3364  $confirm->setCancel($this->lng->txt('cancel'), 'view');
3365 
3366  ilUtil::sendQuestion($question);
3367 
3368  $GLOBALS['tpl']->setContent($confirm->getHTML());
3369  return true;
3370  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
getFormAction($a_cmd, $a_formaction="")
get form action for command (command is method name without "Object", e.g.
Confirmation screen class.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ redirectLocToTestConfirmedObject()

ilObjCourseGUI::redirectLocToTestConfirmedObject ( )
protected
Returns
booleanRedirect ot test after confirmation of resetting completed objectives

Definition at line 3289 of file class.ilObjCourseGUI.php.

References ilLink\_getLink(), and ilUtil\redirect().

3290  {
3291  include_once './Services/Link/classes/class.ilLink.php';
3292  ilUtil::redirect(ilLink::_getLink((int) $_REQUEST['tid']));
3293  return true;
3294  }
static redirect($a_script)
+ Here is the call graph for this function:

◆ redirectLocToTestObject()

ilObjCourseGUI::redirectLocToTestObject (   $a_force_new_run = null)
protected

Test redirection will be moved lo adapter.

Definition at line 3299 of file class.ilObjCourseGUI.php.

References $GLOBALS, $res, ilLink\_getLink(), ilCourseObjective\_getObjectiveIds(), array, object, ilUtil\redirect(), and redirectLocToTestConfirmation().

3300  {
3301  $objective_id = (int) $_REQUEST['objective_id'];
3302  $test_id = (int) $_REQUEST['tid'];
3303 
3304  include_once './Modules/Course/classes/Objectives/class.ilLOUserResults.php';
3305  include_once './Modules/Course/classes/Objectives/class.ilLOSettings.php';
3306  include_once './Modules/Course/classes/Objectives/class.ilLOTestAssignments.php';
3307 
3308 
3309  $res = new ilLOUserResults(
3310  $this->object->getId(),
3311  $GLOBALS['ilUser']->getId()
3312  );
3313  $passed = $res->getCompletedObjectiveIds();
3314 
3315  $has_completed = false;
3316  if ($objective_id) {
3317  $objective_ids = array($objective_id);
3318  if (in_array($objective_id, $passed)) {
3319  $has_completed = true;
3320  $passed = array();
3321  }
3322  } else {
3323  include_once './Modules/Course/classes/class.ilCourseObjective.php';
3324  $objective_ids = ilCourseObjective::_getObjectiveIds($this->object->getId(), true);
3325 
3326  // do not disable objective question if all are passed
3327  if (count($objective_ids) == count($passed)) {
3328  $has_completed = true;
3329  $passed = array();
3330  }
3331  }
3332 
3333  if ($has_completed) {
3334  // show confirmation
3335  $this->redirectLocToTestConfirmation($objective_id, $test_id);
3336  return true;
3337  }
3338 
3339  include_once './Services/Link/classes/class.ilLink.php';
3341  return true;
3342  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static _getObjectiveIds($course_id, $a_activated_only=false)
foreach($_POST as $key=> $value) $res
redirectLocToTestConfirmation($a_objective_id, $a_test_id)
Show confirmation whether user wants to start a new run or resume a previous run. ...
Create styles array
The data for the language used.
Create new PHPExcel object
obj_idprivate
static redirect($a_script)
+ Here is the call graph for this function:

◆ removeBigIconObject()

ilObjCourseGUI::removeBigIconObject ( )

remove big icon

public

Definition at line 1664 of file class.ilObjCourseGUI.php.

1665  {
1666  $this->object->removeBigIcon();
1667  $this->ctrl->redirect($this, 'editCourseIcons');
1668  }

◆ removeSmallIconObject()

ilObjCourseGUI::removeSmallIconObject ( )

remove small icon

public

Definition at line 1653 of file class.ilObjCourseGUI.php.

1654  {
1655  $this->object->removeSmallIcon();
1656  $this->ctrl->redirect($this, 'editCourseIcons');
1657  }

◆ removeTinyIconObject()

ilObjCourseGUI::removeTinyIconObject ( )

remove small icon

public

Definition at line 1676 of file class.ilObjCourseGUI.php.

1677  {
1678  $this->object->removeTinyIcon();
1679  $this->ctrl->redirect($this, 'editCourseIcons');
1680  }

◆ renderContainer()

ilObjCourseGUI::renderContainer ( )

Definition at line 202 of file class.ilObjCourseGUI.php.

203  {
204  return parent::renderObject();
205  }

◆ renderObject()

ilObjCourseGUI::renderObject ( )

Definition at line 99 of file class.ilObjCourseGUI.php.

References viewObject().

100  {
101  $this->ctrl->setCmd("view");
102  $this->viewObject();
103  }
+ Here is the call graph for this function:

◆ resetObject()

ilObjCourseGUI::resetObject ( )

Definition at line 3072 of file class.ilObjCourseGUI.php.

References $GLOBALS, $ilUser, ilLOUserResults\delete(), ilLOTestRun\deleteRuns(), object, ilCourseObjectiveResult\reset(), ilUtil\sendSuccess(), and viewObject().

3073  {
3074  global $ilUser;
3075 
3076  include_once './Modules/Course/classes/Objectives/class.ilLOUserResults.php';
3077  $usr_results = new ilLOUserResults($this->object->getId(), $GLOBALS['ilUser']->getId());
3078  $usr_results->delete();
3079 
3080 
3081  include_once './Modules/Course/classes/Objectives/class.ilLOTestRun.php';
3082  include_once './Modules/Course/classes/Objectives/class.ilLOSettings.php';
3084  $this->object->getId(),
3085  $GLOBALS['ilUser']->getId()
3086  );
3087 
3088  include_once './Modules/Course/classes/class.ilCourseObjectiveResult.php';
3089 
3090  $tmp_obj_res = new ilCourseObjectiveResult($ilUser->getId());
3091  $tmp_obj_res->reset($this->object->getId());
3092 
3093  $ilUser->deletePref('crs_objectives_force_details_' . $this->object->getId());
3094 
3095  ilUtil::sendSuccess($this->lng->txt('crs_objectives_reseted'));
3096  $this->viewObject();
3097  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
delete()
Delete for user and course type $ilDB.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static deleteRuns($a_container_id, $a_user_id)
Delete runs type $ilDB.
$ilUser
Definition: imgupload.php:18
Create new PHPExcel object
obj_idprivate
+ Here is the call graph for this function:

◆ saveMapSettingsObject()

ilObjCourseGUI::saveMapSettingsObject ( )

Definition at line 2886 of file class.ilObjCourseGUI.php.

References $_POST, $ilCtrl, $ilUser, and ilUtil\stripSlashes().

2887  {
2888  global $ilCtrl, $ilUser;
2889 
2890  $this->object->setLatitude(ilUtil::stripSlashes($_POST["location"]["latitude"]));
2891  $this->object->setLongitude(ilUtil::stripSlashes($_POST["location"]["longitude"]));
2892  $this->object->setLocationZoom(ilUtil::stripSlashes($_POST["location"]["zoom"]));
2893  $this->object->setEnableCourseMap(ilUtil::stripSlashes($_POST["enable_map"]));
2894  $this->object->update();
2895 
2896  $ilCtrl->redirect($this, "editMapSettings");
2897  }
global $ilCtrl
Definition: ilias.php:18
$ilUser
Definition: imgupload.php:18
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$_POST["username"]
+ Here is the call graph for this function:

◆ saveNotificationObject()

ilObjCourseGUI::saveNotificationObject ( )

:TEMP: Save notification setting (from infoscreen)

Definition at line 503 of file class.ilObjCourseGUI.php.

References ilUtil\sendSuccess().

504  {
505  include_once "Services/Membership/classes/class.ilMembershipNotifications.php";
506  $noti = new ilMembershipNotifications($this->ref_id);
507  if ($noti->canCurrentUserEdit()) {
508  if ((bool) $_REQUEST["crs_ntf"]) {
509  $noti->activateUser();
510  } else {
511  $noti->deactivateUser();
512  }
513  }
514  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
515  $this->ctrl->redirect($this, "");
516  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
Membership notification settings.
+ Here is the call graph for this function:

◆ saveSortingObject()

ilObjCourseGUI::saveSortingObject ( )

Definition at line 3248 of file class.ilObjCourseGUI.php.

References $_POST, and array.

3249  {
3250  if (isset($_POST['position']["lobj"])) {
3251  $lobj = $_POST['position']["lobj"];
3252  unset($_POST['position']["lobj"]);
3253 
3254  $objective_order = array();
3255  foreach ($lobj as $objective_id => $materials) {
3256  $objective_order[$objective_id] = $materials[0];
3257  unset($lobj[$objective_id][0]);
3258  }
3259 
3260  // objective order
3261  include_once "Modules/Course/classes/class.ilCourseObjective.php";
3262  asort($objective_order);
3263  $pos = 0;
3264  foreach (array_keys($objective_order) as $objective_id) {
3265  $obj = new ilCourseObjective($this->object, $objective_id);
3266  $obj->writePosition(++$pos);
3267  }
3268 
3269  // material order
3270  include_once "Modules/Course/classes/class.ilCourseObjectiveMaterials.php";
3271  foreach ($lobj as $objective_id => $materials) {
3272  $objmat = new ilCourseObjectiveMaterials($objective_id);
3273 
3274  asort($materials);
3275  $pos = 0;
3276  foreach (array_keys($materials) as $ass_id) {
3277  $objmat->writePosition($ass_id, ++$pos);
3278  }
3279  }
3280  }
3281 
3282  return parent::saveSortingObject();
3283  }
class ilCourseObjectiveMaterials
class ilcourseobjective
Create styles array
The data for the language used.
$_POST["username"]

◆ sendFileObject()

ilObjCourseGUI::sendFileObject ( )

Definition at line 1483 of file class.ilObjCourseGUI.php.

References $_GET, $file, and ilUtil\deliverFile().

1484  {
1485  include_once 'Modules/Course/classes/class.ilCourseFile.php';
1486  $file = new ilCourseFile((int) $_GET['file_id']);
1487  ilUtil::deliverFile($file->getAbsolutePath(), $file->getFileName(), $file->getFileType());
1488  return true;
1489  }
$_GET["client_id"]
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
+ Here is the call graph for this function:

◆ setContentSubTabs()

ilObjCourseGUI::setContentSubTabs ( )

Set content sub tabs.

Definition at line 2969 of file class.ilObjCourseGUI.php.

References $_SESSION, $ilCtrl, ilObjectGUI\$lng, ilContainerGUI\addStandardContainerSubTabs(), IL_CRS_VIEW_TIMING, ilContainerGUI\isActiveAdministrationPanel(), and object.

2970  {
2971  global $ilAccess, $lng, $ilCtrl;
2972 
2973  if ($this->object->getType() != 'crs') {
2974  return true;
2975  }
2976  if (!$ilAccess->checkAccess(
2977  'write',
2978  '',
2979  $this->object->getRefId(),
2980  'crs',
2981  $this->object->getId()
2982  )) {
2983  $is_tutor = false;
2984  // No further tabs if objective view or archives
2985  if ($this->object->enabledObjectiveView()) {
2986  return false;
2987  }
2988  } else {
2989  $is_tutor = true;
2990  }
2991 
2992  // These subtabs should also work, if the command is called directly in
2993  // ilObjCourseGUI, so please use ...ByClass methods.
2994  // (see ilObjCourseGUI->executeCommand: case "ilcolumngui")
2995 
2996  if (!$_SESSION['crs_timings_panel'][$this->object->getId()] or 1) {
2997  if (!$this->isActiveAdministrationPanel()) {
2998  $this->tabs_gui->addSubTab("view_content", $lng->txt("view"), $ilCtrl->getLinkTargetByClass("ilobjcoursegui", "view"));
2999  } else {
3000  $this->tabs_gui->addSubTab("view_content", $lng->txt("view"), $ilCtrl->getLinkTargetByClass("ilobjcoursegui", "disableAdministrationPanel"));
3001  }
3002  }
3003  if ($this->object->getViewMode() == IL_CRS_VIEW_TIMING) {
3004  $this->tabs_gui->addSubTabTarget(
3005  'timings_timings',
3006  $this->ctrl->getLinkTargetByClass('ilcoursecontentgui', 'editUserTimings')
3007  );
3008  }
3009 
3010  $this->addStandardContainerSubTabs(false);
3011 
3012 
3013  return true;
3014  }
$_SESSION["AccountId"]
const IL_CRS_VIEW_TIMING
global $ilCtrl
Definition: ilias.php:18
Create new PHPExcel object
obj_idprivate
addStandardContainerSubTabs($a_include_view=true)
Add standar container subtabs for view, manage, oderdering and text/media editor link.
+ Here is the call graph for this function:

◆ setLPSyncObject()

ilObjCourseGUI::setLPSyncObject ( )
protected

Definition at line 985 of file class.ilObjCourseGUI.php.

References ilUtil\sendSuccess(), and ilObjCourse\STATUS_DETERMINATION_LP.

986  {
987  $this->object->setStatusDetermination(ilObjCourse::STATUS_DETERMINATION_LP);
988  $this->object->update();
989 
990  $this->object->syncMembersStatusWithLP();
991 
992  ilUtil::sendSuccess($this->lng->txt("settings_saved"), true);
993  $this->ctrl->redirect($this, "edit");
994  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
const STATUS_DETERMINATION_LP
+ Here is the call graph for this function:

◆ setShowHidePrefs()

ilObjCourseGUI::setShowHidePrefs ( )

set preferences (show/hide tabel content)

public

Returns

Definition at line 1719 of file class.ilObjCourseGUI.php.

References $_GET, $ilUser, ilCourseParticipants\getMemberRoles(), and object.

1720  {
1721  global $ilUser;
1722 
1723  if (isset($_GET['admin_hide'])) {
1724  $ilUser->writePref('crs_admin_hide', (int) $_GET['admin_hide']);
1725  }
1726  if (isset($_GET['tutor_hide'])) {
1727  $ilUser->writePref('crs_tutor_hide', (int) $_GET['tutor_hide']);
1728  }
1729  if (isset($_GET['member_hide'])) {
1730  $ilUser->writePref('crs_member_hide', (int) $_GET['member_hide']);
1731  }
1732  if (isset($_GET['subscriber_hide'])) {
1733  $ilUser->writePref('crs_subscriber_hide', (int) $_GET['subscriber_hide']);
1734  }
1735  if (isset($_GET['wait_hide'])) {
1736  $ilUser->writePref('crs_wait_hide', (int) $_GET['wait_hide']);
1737  }
1738  include_once './Modules/Course/classes/class.ilCourseParticipants.php';
1739  foreach (ilCourseParticipants::getMemberRoles($this->object->getRefId()) as $role_id) {
1740  if (isset($_GET['role_hide_' . $role_id])) {
1741  $ilUser->writePref('crs_role_hide_' . $role_id, (int) $_GET['role_hide_' . $role_id]);
1742  }
1743  }
1744  }
$_GET["client_id"]
static getMemberRoles($a_ref_id)
Get member roles.
$ilUser
Definition: imgupload.php:18
Create new PHPExcel object
obj_idprivate
+ Here is the call graph for this function:

◆ setSideColumnReturn()

ilObjCourseGUI::setSideColumnReturn ( )

Set return point for side column actions.

Definition at line 3433 of file class.ilObjCourseGUI.php.

3434  {
3435  $this->ctrl->setReturn($this, "view");
3436  }

◆ setSubTabs()

ilObjCourseGUI::setSubTabs (   $a_tab)

set sub tabs

Definition at line 1522 of file class.ilObjCourseGUI.php.

References $ilUser, ilContainerGUI\$rbacsystem, ilObjectGUI\$tree, ilPrivacySettings\_getInstance(), ilCourseDefinedFieldDefinition\_hasFields(), ilMapUtil\isActivated(), ilCertificate\isActive(), and object.

Referenced by confirmDeleteInfoFilesObject(), editCourseIconsObject(), editInfoObject(), editMapSettingsObject(), editObject(), and executeCommand().

1523  {
1524  global $rbacsystem,$ilUser,$ilAccess,$tree;
1525 
1526  switch ($a_tab) {
1527  case "properties":
1528  $this->tabs_gui->addSubTabTarget(
1529  "crs_settings",
1530  $this->ctrl->getLinkTarget($this, 'edit'),
1531  "edit",
1532  get_class($this)
1533  );
1534 
1535  $this->tabs_gui->addSubTabTarget(
1536  "crs_info_settings",
1537  $this->ctrl->getLinkTarget($this, 'editInfo'),
1538  "editInfo",
1539  get_class($this)
1540  );
1541 
1542  $this->tabs_gui->addSubTabTarget(
1543  "preconditions",
1544  $this->ctrl->getLinkTargetByClass('ilConditionHandlerGUI', 'listConditions'),
1545  "",
1546  "ilConditionHandlerGUI"
1547  );
1548 
1549  $this->tabs_gui->addSubTabTarget(
1550  "crs_start_objects",
1551  $this->ctrl->getLinkTargetByClass('ilContainerStartObjectsGUI', 'listStructure'),
1552  "listStructure",
1553  get_class($this)
1554  );
1555 
1556  $this->tabs_gui->addSubTabTarget(
1557  'groupings',
1558  $this->ctrl->getLinkTargetByClass('ilobjcoursegroupinggui', 'listGroupings'),
1559  'listGroupings',
1560  get_class($this)
1561  );
1562  $lti_settings = new ilLTIProviderObjectSettingGUI($this->object->getRefId());
1563  if ($lti_settings->hasSettingsAccess()) {
1564  $this->tabs_gui->addSubTabTarget(
1565  'lti_provider',
1566  $this->ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
1567  );
1568  }
1569 
1570  // custom icon
1571  if ($this->ilias->getSetting("custom_icons")) {
1572  $this->tabs_gui->addSubTabTarget(
1573  "icon_settings",
1574  $this->ctrl->getLinkTarget($this, 'editCourseIcons'),
1575  "editCourseIcons",
1576  get_class($this)
1577  );
1578  }
1579 
1580  // map settings
1581  include_once("./Services/Maps/classes/class.ilMapUtil.php");
1582  if (ilMapUtil::isActivated()) {
1583  $this->tabs_gui->addSubTabTarget(
1584  "crs_map_settings",
1585  $this->ctrl->getLinkTarget($this, 'editMapSettings'),
1586  "editMapSettings",
1587  get_class($this)
1588  );
1589  }
1590 
1591 
1592  include_once('Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1593  include_once('Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
1594  // only show if export permission is granted
1595  if (ilPrivacySettings::_getInstance()->checkExportAccess($this->object->getRefId()) or ilCourseDefinedFieldDefinition::_hasFields($this->object->getId())) {
1596  $this->tabs_gui->addSubTabTarget(
1597  'crs_custom_user_fields',
1598  $this->ctrl->getLinkTargetByClass('ilobjectcustomuserfieldsgui'),
1599  '',
1600  'ilobjectcustomuserfieldsgui'
1601  );
1602  }
1603 
1604  // certificates
1605  include_once "Services/Certificate/classes/class.ilCertificate.php";
1606  if (ilCertificate::isActive()) {
1607  $this->tabs_gui->addSubTabTarget(
1608  "certificate",
1609  $this->ctrl->getLinkTargetByClass("ilcertificategui", "certificateeditor"),
1610  "",
1611  "ilcertificategui"
1612  );
1613  }
1614  // news settings
1615  if ($this->object->getUseNews()) {
1616  $this->tabs_gui->addSubTab(
1617  'obj_news_settings',
1618  $this->lng->txt("cont_news_settings"),
1619  $this->ctrl->getLinkTargetByClass('ilcontainernewssettingsgui')
1620  );
1621  }
1622 
1623  if ($this->object->getShowMembersExport()) {
1624  $this->tabs_gui->addSubTab(
1625  'export_members',
1626  $this->lng->txt('crs_show_member_export_settings'),
1627  $this->ctrl->getLinkTargetByClass('ilmemberexportsettingsgui', '')
1628  );
1629  }
1630 
1631  break;
1632 
1633  }
1634  }
GUI class for LTI provider object settings.
$ilUser
Definition: imgupload.php:18
redirection script todo: (a better solution should control the processing via a xml file) ...
static _hasFields($a_container_id)
Check if there are any define fields.
static isActivated()
Checks whether Map feature is activated.
Create new PHPExcel object
obj_idprivate
static _getInstance()
Get instance of ilPrivacySettings.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showPossibleSubObjects()

ilObjCourseGUI::showPossibleSubObjects ( )

show possible sub objects selection list

Definition at line 1639 of file class.ilObjCourseGUI.php.

References ilContainerGUI\isActiveAdministrationPanel(), object, and ilContainer\VIEW_OBJECTIVE.

1640  {
1641  if ($this->object->getViewMode() == ilContainer::VIEW_OBJECTIVE
1642  && !$this->isActiveAdministrationPanel()) {
1643  return false;
1644  }
1645  parent::showPossibleSubObjects();
1646  }
Create new PHPExcel object
obj_idprivate
+ Here is the call graph for this function:

◆ unsubscribeObject()

ilObjCourseGUI::unsubscribeObject ( )

DEPRECATED?

Definition at line 1919 of file class.ilObjCourseGUI.php.

References leaveObject().

1920  {
1921  $this->leaveObject();
1922  }
+ Here is the call graph for this function:

◆ updateCourseIconsObject()

ilObjCourseGUI::updateCourseIconsObject ( )

update container icons

Definition at line 1494 of file class.ilObjCourseGUI.php.

References $_POST, $form, $ilSetting, ilObjectGUI\checkPermission(), editCourseIconsObject(), initCourseIconsForm(), and ilUtil\sendSuccess().

1495  {
1496  global $ilSetting;
1497 
1498  $this->checkPermission('write');
1499 
1500  $form = $this->initCourseIconsForm();
1501  if ($form->checkInput()) {
1502  //save custom icons
1503  if ($ilSetting->get("custom_icons")) {
1504  if ($_POST["cont_icon_delete"]) {
1505  $this->object->removeCustomIcon();
1506  }
1507  $this->object->saveIcons($_FILES["cont_icon"]['tmp_name']);
1508  }
1509 
1510  ilUtil::sendSuccess($this->lng->txt("msg_obj_modified"), true);
1511  $this->ctrl->redirect($this, "editCourseIcons");
1512  }
1513 
1514  $form->setValuesByPost();
1515  $this->editCourseIconsObject($form);
1516  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(isset($_POST['submit'])) $form
global $ilSetting
Definition: privfeed.php:17
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
editCourseIconsObject($a_form=null)
edit container icons
$_POST["username"]
+ Here is the call graph for this function:

◆ updateInfoObject()

ilObjCourseGUI::updateInfoObject ( )

Definition at line 716 of file class.ilObjCourseGUI.php.

References $_POST, ilContainerGUI\$error, $form, ilObjectGUI\$ilErr, ilObjectGUI\checkPermission(), editInfoObject(), initInfoEditor(), object, ilUtil\sendFailure(), ilUtil\sendSuccess(), and ilUtil\stripSlashes().

717  {
718  global $ilErr,$ilAccess;
719 
720  $this->checkPermission('write');
721 
722  include_once 'Modules/Course/classes/class.ilCourseFile.php';
723  $file_obj = new ilCourseFile();
724  $file_obj->setCourseId($this->object->getId());
725  $file_obj->setFileName(strlen($_POST['file_name']) ?
726  ilUtil::stripSlashes($_POST['file_name']) :
727  $_FILES['file']['name']);
728  $file_obj->setFileSize($_FILES['file']['size']);
729  $file_obj->setFileType($_FILES['file']['type']);
730  $file_obj->setTemporaryName($_FILES['file']['tmp_name']);
731  $file_obj->setErrorCode($_FILES['file']['error']);
732 
733  $this->object->setImportantInformation(ilUtil::stripSlashes($_POST['important']));
734  $this->object->setSyllabus(ilUtil::stripSlashes($_POST['syllabus']));
735  $this->object->setContactName(ilUtil::stripSlashes($_POST['contact_name']));
736  $this->object->setContactResponsibility(ilUtil::stripSlashes($_POST['contact_responsibility']));
737  $this->object->setContactPhone(ilUtil::stripSlashes($_POST['contact_phone']));
738  $this->object->setContactEmail(ilUtil::stripSlashes($_POST['contact_email']));
739  $this->object->setContactConsultation(ilUtil::stripSlashes($_POST['contact_consultation']));
740 
741 
742  // validate
743 
744  $error = false;
745  $ilErr->setMessage('');
746 
747  $file_obj->validate();
748  $this->object->validateInfoSettings();
749  if (strlen($ilErr->getMessage())) {
750  $error = $ilErr->getMessage();
751  }
752 
753  // needed for proper advanced MD validation
754  $form = $this->initInfoEditor();
755  $form->checkInput();
756  if (!$this->record_gui->importEditFormPostValues()) {
757  $error = true;
758  }
759 
760  if ($error) {
761  if ($error !== true) {
762  ilUtil::sendFailure($ilErr->getMessage());
763  }
764  $this->editInfoObject($form);
765  return false;
766  }
767 
768  $this->object->update();
769  $file_obj->create();
770  $this->record_gui->writeEditForm();
771 
772 
773  // Update ecs content
774  include_once 'Modules/Course/classes/class.ilECSCourseSettings.php';
775  $ecs = new ilECSCourseSettings($this->object);
776  $ecs->handleContentUpdate();
777 
778  ilUtil::sendSuccess($this->lng->txt("crs_settings_saved"));
779  $this->editInfoObject();
780  return true;
781  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if(isset($_POST['submit'])) $form
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Create new PHPExcel object
obj_idprivate
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
editInfoObject(ilPropertyFormGUI $a_form=null)
Edit info page informations.
$_POST["username"]
Class ilECSCourseSettings.
initInfoEditor()
init info editor
+ Here is the call graph for this function:

◆ updateLPFromStatus()

ilObjCourseGUI::updateLPFromStatus (   $a_member_id,
  $a_has_passed 
)

sync course status and lp status

Parameters
int$a_member_id
bool$a_has_passed

Definition at line 1839 of file class.ilObjCourseGUI.php.

References $ilUser, ilObjUserTracking\_enabledLearningProgress(), ilLPStatusWrapper\_updateStatus(), ilObjectLP\getInstance(), ilLPObjSettings\LP_MODE_MANUAL_BY_TUTOR, object, ilCourseAppEventListener\setBlockedForLP(), ilLPMarks\setCompleted(), and ilObjCourse\STATUS_DETERMINATION_LP.

1840  {
1841  global $ilUser;
1842 
1843  include_once("Services/Tracking/classes/class.ilObjUserTracking.php");
1845  $this->object->getStatusDetermination() == ilObjCourse::STATUS_DETERMINATION_LP) {
1846  include_once './Services/Object/classes/class.ilObjectLP.php';
1847  $olp = ilObjectLP::getInstance($this->object->getId());
1848  if ($olp->getCurrentMode() == ilLPObjSettings::LP_MODE_MANUAL_BY_TUTOR) {
1849  include_once 'Services/Tracking/classes/class.ilLPMarks.php';
1850  $marks = new ilLPMarks($this->object->getId(), $a_member_id);
1851 
1852  // only if status has changed
1853  if ($marks->getCompleted() != $a_has_passed) {
1854  $marks->setCompleted($a_has_passed);
1855  $marks->update();
1856 
1857  // as course is origin of LP status change, block syncing
1858  include_once("./Modules/Course/classes/class.ilCourseAppEventListener.php");
1860 
1861  include_once("./Services/Tracking/classes/class.ilLPStatusWrapper.php");
1862  ilLPStatusWrapper::_updateStatus($this->object->getId(), $a_member_id);
1863  }
1864  }
1865  }
1866  }
static _updateStatus($a_obj_id, $a_usr_id, $a_obj=null, $a_percentage=false, $a_force_raise=false)
Update status.
const STATUS_DETERMINATION_LP
static _enabledLearningProgress()
check wether learing progress is enabled or not
$ilUser
Definition: imgupload.php:18
Create new PHPExcel object
obj_idprivate
setCompleted($a_status)
static getInstance($a_obj_id)
static setBlockedForLP($a_status)
Toggle LP blocking property status.
+ Here is the call graph for this function:

◆ updateObject()

ilObjCourseGUI::updateObject ( )

Update course settings type $ilUser.

Returns
boolean

Definition at line 789 of file class.ilObjCourseGUI.php.

References $_POST, $form, $GLOBALS, $ilUser, ilChangeEvent\_catchupWriteEvents(), ilChangeEvent\_recordWriteEvent(), ilContainerGUI\afterUpdate(), array, ilObjectServiceSettingsGUI\AUTO_RATING_NEW_OBJECTS, ilObjectServiceSettingsGUI\BADGES, ilObjectServiceSettingsGUI\CALENDAR_VISIBILITY, confirmLPSync(), ilObjectServiceSettingsGUI\CUSTOM_METADATA, ilObjectGUI\editObject(), IL_CAL_UNIX, IL_CRS_ACTIVATION_LIMITED, IL_CRS_ACTIVATION_UNLIMITED, IL_CRS_SUBSCRIPTION_DEACTIVATED, IL_CRS_SUBSCRIPTION_DIRECT, IL_CRS_SUBSCRIPTION_LIMITED, IL_CRS_SUBSCRIPTION_UNLIMITED, IL_CRS_VIEW_TIMING, initEditForm(), object, ilObjectServiceSettingsGUI\ORGU_POSITION_ACCESS, ilContainerGUI\saveSortingSettings(), ilUtil\sendFailure(), ilObjectServiceSettingsGUI\SKILLS, ilContainer\SORT_ACTIVATION, ilObjCourse\STATUS_DETERMINATION_LP, ilObjectServiceSettingsGUI\TAG_CLOUD, ilObjectServiceSettingsGUI\updateServiceSettingsForm(), and ilObjectServiceSettingsGUI\USE_NEWS.

790  {
791  $form = $this->initEditForm();
792 
793  if (!$form->checkInput()) {
794  $form->setValuesByPost();
795  ilUtil::sendFailure($GLOBALS['DIC']->language()->txt('err_check_input'));
796  return $this->editObject($form);
797  }
798 
799  // Additional checks
800  if (
801  $form->getInput('subscription_max') &&
802  $form->getInput('subscription_min') &&
803  ($form->getInput('subscription_max') < $form->getInput('subscription_min'))
804  ) {
805  $min = $form->getItemByPostVar('subscription_min');
806  $min->setAlert($this->lng->txt('crs_subscription_min_members_err'));
807  ilUtil::sendFailure($GLOBALS['DIC']->language()->txt('err_check_input'));
808  return $this->editObject($form);
809  }
810 
811  // check successful
812 
813  // title/desc
814  $this->object->setTitle($form->getInput('title'));
815  $this->object->setDescription($form->getInput('desc'));
816 
817  // period
818  $crs_period = $form->getItemByPostVar("period");
819  $this->object->setCourseStart($crs_period->getStart());
820  $this->object->setCourseEnd($crs_period->getEnd());
821 
822  // activation/online
823  $this->object->setOfflineStatus((bool) !$form->getInput('activation_online'));
824 
825  // activation period
826  $period = $form->getItemByPostVar("access_period");
827  if ($period->getStart() && $period->getEnd()) {
828  $this->object->setActivationType(IL_CRS_ACTIVATION_LIMITED);
829  $this->object->setActivationStart($period->getStart()->get(IL_CAL_UNIX));
830  $this->object->setActivationEnd($period->getEnd()->get(IL_CAL_UNIX));
831  $this->object->setActivationVisibility((int) $form->getInput('activation_visibility'));
832  } else {
833  $this->object->setActivationType(IL_CRS_ACTIVATION_UNLIMITED);
834  $this->object->setActivationStart(null);
835  $this->object->setActivationEnd(null);
836  }
837 
838  // subscription settings
839  $this->object->setSubscriptionPassword($form->getInput('subscription_password'));
840  $this->object->setSubscriptionStart(null);
841  $this->object->setSubscriptionEnd(null);
842 
843  $sub_type = $form->getInput('subscription_type');
844  $sub_period = $form->getItemByPostVar('subscription_period');
845 
846  $this->object->setSubscriptionType($sub_type);
847  if ($sub_type != IL_CRS_SUBSCRIPTION_DEACTIVATED) {
848  if ($sub_period->getStart() && $sub_period->getEnd()) {
849  $this->object->setSubscriptionLimitationType(IL_CRS_SUBSCRIPTION_LIMITED);
850  $this->object->setSubscriptionStart($sub_period->getStart()->get(IL_CAL_UNIX));
851  $this->object->setSubscriptionEnd($sub_period->getEnd()->get(IL_CAL_UNIX));
852  } else {
853  $this->object->setSubscriptionLimitationType(IL_CRS_SUBSCRIPTION_UNLIMITED);
854  }
855  } else {
856  $this->object->setSubscriptionType(IL_CRS_SUBSCRIPTION_DIRECT);
857  $this->object->setSubscriptionLimitationType(IL_CRS_SUBSCRIPTION_DEACTIVATED);
858  }
859 
860  // registration code
861  $this->object->enableRegistrationAccessCode((int) $form->getInput('reg_code_enabled'));
862  $this->object->setRegistrationAccessCode($form->getInput('reg_code'));
863 
864  // cancellation end
865  $this->object->setCancellationEnd($form->getItemByPostVar("cancel_end")->getDate());
866 
867  // waiting list
868  $this->object->enableSubscriptionMembershipLimitation((int) $form->getInput('subscription_membership_limitation'));
869  $this->object->setSubscriptionMaxMembers((int) $form->getInput('subscription_max'));
870  $this->object->setSubscriptionMinMembers((int) $form->getInput('subscription_min'));
871  $old_autofill = $this->object->hasWaitingListAutoFill();
872  switch ((int) $form->getInput('waiting_list')) {
873  case 2:
874  $this->object->enableWaitingList(true);
875  $this->object->setWaitingListAutoFill(true);
876  break;
877 
878  case 1:
879  $this->object->enableWaitingList(true);
880  $this->object->setWaitingListAutoFill(false);
881  break;
882 
883  default:
884  $this->object->enableWaitingList(false);
885  $this->object->setWaitingListAutoFill(false);
886  break;
887  }
888 
889  // view mode settings
890  $this->object->setViewMode((int) $form->getInput('view_mode'));
891  if ($this->object->getViewMode() == IL_CRS_VIEW_TIMING) {
892  $this->object->setOrderType(ilContainer::SORT_ACTIVATION);
893  } else {
894  $this->object->setOrderType($form->getInput('sorting'));
895  }
896  $this->saveSortingSettings($form);
897 
898  $this->object->setAboStatus((int) $form->getInput('abo'));
899  $this->object->setShowMembers((int) $form->getInput('show_members'));
900 
901  $this->object->setShowMembersExport((int) $form->getInput('show_members_export'));
902  $this->object->setMailToMembersType((int) $form->getInput('mail_type'));
903 
904  $this->object->enableSessionLimit((int) $form->getInput('sl'));
905 
906  $session_sp = $form->getInput('sp');
907  $this->object->setNumberOfPreviousSessions(is_numeric($session_sp) ? (int) $session_sp : -1);
908  $session_sn = $form->getInput('sn');
909  $this->object->setNumberOfnextSessions(is_numeric($session_sn) ? (int) $session_sn : -1);
910  $this->object->setAutoNotification($form->getInput('auto_notification') == 1 ? true : false);
911 
912  // lp sync
913  $show_lp_sync_confirmation = false;
914 
915  // could be hidden in form
916  if (isset($_POST['status_dt'])) {
917  if (
918  $this->object->getStatusDetermination() != ilObjCourse::STATUS_DETERMINATION_LP &&
919  (int) $_POST['status_dt'] == ilObjCourse::STATUS_DETERMINATION_LP
920  ) {
921  $show_lp_sync_confirmation = true;
922  } else {
923  $this->object->setStatusDetermination((int) $form->getInput('status_dt'));
924  }
925  }
926 
927  if (!$old_autofill && $this->object->hasWaitingListAutoFill()) {
928  $this->object->handleAutoFill();
929  }
930  $this->object->update();
931 
932 
933  include_once './Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
935  $this->object->getId(),
936  $form,
937  array(
946  )
947  );
948 
949  require_once('Services/Tracking/classes/class.ilChangeEvent.php');
950  global $ilUser;
951  ilChangeEvent::_recordWriteEvent($this->object->getId(), $ilUser->getId(), 'update');
952  ilChangeEvent::_catchupWriteEvents($this->object->getId(), $ilUser->getId());
953 
954  // lp sync confirmation required
955  if ($show_lp_sync_confirmation) {
956  return $this->confirmLPSync();
957  }
958 
959  // Update ecs export settings
960  include_once 'Modules/Course/classes/class.ilECSCourseSettings.php';
961  $ecs = new ilECSCourseSettings($this->object);
962  if (!$ecs->handleSettingsUpdate()) {
963  $form->setValuesByPost();
964  ilUtil::sendFailure($GLOBALS['DIC']->language()->txt('err_check_input'));
965  return $this->editObject($form);
966  }
967 
968  return $this->afterUpdate();
969  }
const IL_CRS_ACTIVATION_LIMITED
const IL_CRS_SUBSCRIPTION_LIMITED
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
const IL_CAL_UNIX
const IL_CRS_VIEW_TIMING
const STATUS_DETERMINATION_LP
static _catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
if(isset($_POST['submit'])) $form
const IL_CRS_SUBSCRIPTION_UNLIMITED
$ilUser
Definition: imgupload.php:18
editObject()
edit object
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Create new PHPExcel object
obj_idprivate
const IL_CRS_SUBSCRIPTION_DIRECT
$_POST["username"]
Class ilECSCourseSettings.
const IL_CRS_SUBSCRIPTION_DEACTIVATED
const IL_CRS_ACTIVATION_UNLIMITED
+ Here is the call graph for this function:

◆ viewObject()

ilObjCourseGUI::viewObject ( )

Definition at line 131 of file class.ilObjCourseGUI.php.

References $_GET, $ilCtrl, $ilUser, ilContainerGUI\$rbacsystem, $ret, __checkStartObjects(), ilMDUtils\_fillHTMLMetaTags(), ilLearningProgress\_tracProgress(), checkAgreement(), ilObjectGUI\checkPermission(), object, ilContainer\VIEW_BY_TYPE, ilContainer\VIEW_OBJECTIVE, ilContainer\VIEW_SESSIONS, ilContainer\VIEW_SIMPLE, and ilContainer\VIEW_TIMING.

Referenced by executeCommand(), gatewayObject(), leaveObject(), renderObject(), and resetObject().

132  {
133  global $rbacsystem, $ilUser, $ilCtrl;
134 
135  $this->tabs_gui->setTabActive('view_content');
136 
137  // CHECK ACCESS
138  $this->checkPermission('read', 'view');
139  /*
140  if(!$rbacsystem->checkAccess("read",$this->object->getRefId()))
141  {
142  $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
143  }
144  */
145  if (strtolower($_GET["baseClass"]) == "iladministrationgui") {
146  parent::viewObject();
147  return true;
148  }
149 
150  // Fill meta header tags
151  include_once('Services/MetaData/classes/class.ilMDUtils.php');
152  ilMDUtils::_fillHTMLMetaTags($this->object->getId(), $this->object->getId(), 'crs');
153 
154  // Trac access
155  if ($ilCtrl->getNextClass() != "ilcolumngui") {
156  include_once 'Services/Tracking/classes/class.ilLearningProgress.php';
158  $ilUser->getId(),
159  $this->object->getId(),
160  $this->object->getRefId(),
161  'crs'
162  );
163  }
164 
165  if (!$this->checkAgreement()) {
166  include_once('Services/Membership/classes/class.ilMemberAgreementGUI.php');
167  $this->tabs_gui->clearTargets();
168  $this->ctrl->setReturn($this, 'view_content');
169  $agreement = new ilMemberAgreementGUI($this->object->getRefId());
170  $this->ctrl->setCmdClass(get_class($agreement));
171  $this->ctrl->forwardCommand($agreement);
172  return true;
173  }
174 
175  if (!$this->__checkStartObjects()) {
176  include_once "Services/Container/classes/class.ilContainerStartObjectsContentGUI.php";
177  $stgui = new ilContainerStartObjectsContentGUI($this, $this->object);
178  $stgui->enableDesktop($this->object->getAboStatus(), $this);
179  return $stgui->getHTML();
180  }
181 
182  // views handled by general container logic
183  if ($this->object->getViewMode() == ilContainer::VIEW_SIMPLE ||
184  $this->object->getViewMode() == ilContainer::VIEW_BY_TYPE ||
185  $this->object->getViewMode() == ilContainer::VIEW_SESSIONS ||
186  $this->object->getViewMode() == ilContainer::VIEW_TIMING ||
187  $this->object->getViewMode() == ilContainer::VIEW_OBJECTIVE
188  ) {
189  $ret = parent::renderObject();
190  return $ret;
191  } else {
192  include_once './Modules/Course/classes/class.ilCourseContentGUI.php';
193  $course_content_obj = new ilCourseContentGUI($this);
194 
195  $this->ctrl->setCmdClass(get_class($course_content_obj));
196  $this->ctrl->forwardCommand($course_content_obj);
197  }
198 
199  return true;
200  }
$_GET["client_id"]
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
global $ilCtrl
Definition: ilias.php:18
$ilUser
Definition: imgupload.php:18
static _fillHTMLMetaTags($a_rbac_id, $a_obj_id, $a_type)
Fill html meta tags.
Create new PHPExcel object
obj_idprivate
Class ilCourseContentGUI.
$ret
Definition: parser.php:6
Class ilContainerStartObjectsContentGUI.
checkAgreement()
Check agreement and redirect if it is not accepted.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: