ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilObjStudyProgrammeGUI Class Reference

Class ilObjStudyProgrammeGUI class. More...

+ Inheritance diagram for ilObjStudyProgrammeGUI:
+ Collaboration diagram for ilObjStudyProgrammeGUI:

Public Member Functions

 __construct ()
 
 executeCommand ()
 
 isActiveAdministrationPanel ()
 
 getAsyncCreationForm ()
 Method for implementing async windows-output Should be moved into core to enable async requests on creation-form. More...
 
 getTabs ()
 Adds the default tabs to the gui. More...
 
 getSubTabs ($a_parent_tab)
 Adds subtabs based on the parent tab. More...
 
 setContentSubTabs ()
 Disable default content subtabs. More...
 
 addToNavigationHistory ()
 
- 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...
 
 renderBlockAsynchObject ()
 render the object More...
 
 setContentSubTabs ()
 Set content sub tabs. More...
 
 showAdministrationPanel ()
 show administration panel More...
 
 __showTimingsButton (&$tpl)
 
 showPermanentLink ()
 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...
 
 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...
 
 enableMultiDownloadObject ()
 
 isMultiDownloadEnabled ()
 
 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 ()
 
 getBucketTitle ()
 get proper label to add in the background task popover More...
 
 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...
 
 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. 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...
 
 trashObject ()
 Show trash content of object. More...
 
 trashApplyFilterObject ()
 trash table apply filter More...
 
 trashResetFilterObject ()
 trash table reset filter 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...
 
 getAdminTabs ()
 
- 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 ()
 viewObject container presentation for "administration -> repository, trash, permissions" More...
 
 deleteObject ($a_error=false)
 Display deletion confirmation screen. More...
 
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI. More...
 
 redirectAfterCreation ()
 Redirect after creation, see https://docu.ilias.de/goto_docu_wiki_wpage_5035_1357.html. More...
 
 addToDeskObject ()
 
 removeFromDeskObject ()
 
- Public Member Functions inherited from ilDesktopItemHandling
 addToDeskObject ()
 Add desktop item public. More...
 
 removeFromDeskObject ()
 Remove from desktop public. More...
 

Static Public Member Functions

static _goto ($a_target)
 _goto Deep link 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...
 

Data Fields

 $ctrl
 
 $tpl
 
 $tabs_gui
 
 $tree
 
 $object
 
 $ilias
 
const TAB_VIEW_CONTENT = "view_content"
 
const SUBTAB_VIEW_TREE = "view_tree"
 
const TAB_INFO = "info_short"
 
const TAB_SETTINGS = "settings"
 
const TAB_MEMBERS = "members"
 
const TAB_SUBTYPES = "subtypes"
 
- 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 Member Functions

 create ()
 creates the object More...
 
 save ()
 Saves the object. More...
 
 cancel ()
 Cancel the object generation. More...
 
 afterSave (ilObject $a_new_object)
 After save hook Sets the sorting of the container correctly. More...
 
 view ()
 Default view method. More...
 
 initAdvancedSettingsForm ()
 Initialize the form for editing advanced meta data. More...
 
 editAdvancedSettings ()
 Edit Advanced Metadata. More...
 
 updateAdvancedSettings ()
 Update Advanced Metadata. More...
 
 initCreationForms ($a_new_type)
 Overwritten from ilObjectGUI since copy and import are not implemented. More...
 
 checkAccess ($a_which)
 
 denyAccessIfNot ($a_perm, $position_permission=null)
 
 denyAccessIfNotAnyOf ($a_perms, $position_permissions=null)
 
 getLinkTarget ($a_cmd)
 Generates a link based on a cmd. More...
 
 fillInfoScreen ($a_info_screen)
 Adding meta-data to the info-screen. More...
 
 edit ()
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 
 deliverCertificateObject ()
 
 initTreeJS ()
 
- 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...
 
 initEditForm ()
 Init object edit form. More...
 
 initSortingForm (ilPropertyFormGUI $form, array $a_sorting_settings)
 Append sorting settings to property form. More...
 
 initListPresentationForm (ilPropertyFormGUI $form)
 Add list presentation settings to form. More...
 
 saveListPresentation (ilPropertyFormGUI $form)
 Save list presentation setting. 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...
 
 trashHandleFilter (bool $action_apply, bool $action_reset)
 
 restoreToNewLocationObject (\ilPropertyFormGUI $form=null)
 
 getTreeSelectorGUI ($cmd)
 
- Protected Member Functions inherited from ilObjectGUI
 getObjectService ()
 Get object service. More...
 
 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...
 
 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...
 

Protected Attributes

 $ilAccess
 
 $toolbar
 
 $ilLocator
 
 $ilLog
 
 $help
 
 $settings_gui
 
 $members_gui
 
 $memberships_gui
 
 $tree_gui
 
 $type_gui
 
 $type_repository
 
 $autocategories_gui
 
- Protected Attributes inherited from ilContainerGUI
 $rbacsystem
 
 $tabs
 
 $settings
 
 $user
 
 $db
 
 $access
 
 $error
 
 $obj_definition
 
 $rbacadmin
 
 $rbacreview
 
 $log
 
 $obj_data_cache
 
 $toolbar
 
 $plugin_admin
 
 $global_screen
 
 $app_event_handler
 
 $ui
 
 $container_filter_service
 
 $container_user_filter = null
 
 $ui_filter
 
- Protected Attributes inherited from ilObjectGUI
 $ilErr
 
 $locator
 
 $user
 
 $access
 
 $rbacsystem
 
 $settings
 
 $rbacreview
 
 $toolbar
 
 $tmp_import_dir
 
 $tabs_gui = null
 
 $ctrl
 
 $object_service
 
 $favourites
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjStudyProgrammeGUI::__construct ( )

Definition at line 130 of file class.ilObjStudyProgrammeGUI.php.

References $_GET, $DIC, $ilAccess, $ilCtrl, $ilias, $ilLocator, $ilLog, $ilUser, ilObjectGUI\$lng, $tpl, $tree, ILIAS\GlobalScreen\Provider\__construct(), ilStudyProgrammeDIC\dic(), help(), and user().

131  {
132  global $DIC;
133  $tpl = $DIC['tpl'];
134  $ilCtrl = $DIC['ilCtrl'];
135  $ilAccess = $DIC['ilAccess'];
136  $ilToolbar = $DIC['ilToolbar'];
137  $ilLocator = $DIC['ilLocator'];
138  $tree = $DIC['tree'];
139  $lng = $DIC['lng'];
140  $ilLog = $DIC['ilLog'];
141  $ilias = $DIC['ilias'];
142  $ilHelp = $DIC['ilHelp'];
143  $ilUser = $DIC['ilUser'];
144 
145  parent::__construct(array(), (int) $_GET['ref_id'], true, false);
146 
147  $this->tpl = $tpl;
148  $this->ctrl = $ilCtrl;
149  $this->ilAccess = $ilAccess;
150  $this->ilLocator = $ilLocator;
151  $this->tree = $tree;
152  $this->toolbar = $ilToolbar;
153  $this->ilLog = $ilLog;
154  $this->ilias = $ilias;
155  $this->type = "prg";
156  $this->help = $ilHelp;
157  $this->user = $ilUser;
158 
159  $lng->loadLanguageModule("prg");
160 
161  $this->settings_gui = ilStudyProgrammeDIC::dic()['ilObjStudyProgrammeSettingsGUI'];
162  $this->members_gui = ilStudyProgrammeDIC::dic()['ilObjStudyProgrammeMembersGUI'];
163  $this->memberships_gui = ilStudyProgrammeDIC::dic()['ilObjStudyProgrammeAutoMembershipsGUI'];
164  $this->tree_gui = ilStudyProgrammeDIC::dic()['ilObjStudyProgrammeTreeGUI'];
165  $this->type_gui = ilStudyProgrammeDIC::dic()['ilStudyProgrammeTypeGUI'];
166  $this->autocategories_gui = ilStudyProgrammeDIC::dic()['ilObjStudyProgrammeAutoCategoriesGUI'];
167 
168  $this->type_repository = ilStudyProgrammeDIC::dic()['model.Type.ilStudyProgrammeTypeRepository'];
169  }
$_GET["client_id"]
logging
Definition: class.ilLog.php:18
Class ilAccessHandler.
user()
Definition: user.php:4
global $ilCtrl
Definition: ilias.php:18
help()
Definition: help.php:2
$ilUser
Definition: imgupload.php:18
redirection script todo: (a better solution should control the processing via a xml file) ...
__construct(Container $dic, ilPlugin $plugin)
$DIC
Definition: xapitoken.php:46
+ Here is the call graph for this function:

Member Function Documentation

◆ _goto()

static ilObjStudyProgrammeGUI::_goto (   $a_target)
static

_goto Deep link

Parameters
string$a_target

Definition at line 798 of file class.ilObjStudyProgrammeGUI.php.

References $DIC, $ilAccess, $ilCtrl, and ilObjectGUI\$ilErr.

Referenced by ilObjStudyProgrammeReferenceGUI\_goto().

799  {
800  global $DIC;
801  $ilAccess = $DIC['ilAccess'];
802  $ilErr = $DIC['ilErr'];
803  $ilCtrl = $DIC['ilCtrl'];
804  $id = explode("_", $a_target);
805  $ilCtrl->initBaseClass("ilRepositoryGUI");
806  $ilCtrl->setParameterByClass("ilobjstudyprogrammegui", "ref_id", $id[0]);
807 
808  $ilCtrl->redirectByClass(array( "ilRepositoryGUI", "ilobjstudyprogrammegui" ), "view");
809  }
global $ilCtrl
Definition: ilias.php:18
$DIC
Definition: xapitoken.php:46
+ Here is the caller graph for this function:

◆ addToNavigationHistory()

ilObjStudyProgrammeGUI::addToNavigationHistory ( )

Definition at line 811 of file class.ilObjStudyProgrammeGUI.php.

References $_GET, $DIC, ilLink\_getLink(), ilAccess\checkAccess(), and ilObjectGUI\getCreationMode().

Referenced by executeCommand().

812  {
813  global $DIC;
814  $ilNavigationHistory = $DIC['ilNavigationHistory'];
815 
816  if (!$this->getCreationMode() &&
817  $this->ilAccess->checkAccess('read', '', $_GET['ref_id'])) {
818  $link = ilLink::_getLink($_GET["ref_id"], "iass");
819 
820  $ilNavigationHistory->addItem(
821  $_GET['ref_id'],
822  $link,
823  'prg'
824  );
825  }
826  }
$_GET["client_id"]
Class ilAccessHandler.
checkAccess($a_permission, $a_cmd, $a_ref_id, $a_type="", $a_obj_id="", $a_tree_id="")
check access for an object (provide $a_type and $a_obj_id if available for better performance)(option...
$DIC
Definition: xapitoken.php:46
getCreationMode()
get creation mode
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ afterSave()

ilObjStudyProgrammeGUI::afterSave ( ilObject  $a_new_object)
protected

After save hook Sets the sorting of the container correctly.

If its a async call, a json string is returned.

Parameters
ilObject$a_new_object

Definition at line 407 of file class.ilObjStudyProgrammeGUI.php.

References ilContainerGUI\$settings, ilAsyncOutputHandler\encodeAsyncResponse(), ilObject\getId(), ilObject\getRefId(), ilObjectGUI\getReturnLocation(), ilAsyncOutputHandler\handleAsyncOutput(), ilUtil\redirect(), ilContainer\SORT_DIRECTION_ASC, ilContainer\SORT_MANUAL, ilContainer\SORT_NEW_ITEMS_ORDER_CREATION, and ilContainer\SORT_NEW_ITEMS_POSITION_BOTTOM.

408  {
409  // set default sort to manual
410  $settings = new ilContainerSortingSettings($a_new_object->getId());
411  $settings->setSortMode(ilContainer::SORT_MANUAL);
412  $settings->setSortDirection(ilContainer::SORT_DIRECTION_ASC);
414  $settings->setSortNewItemsPosition(ilContainer::SORT_NEW_ITEMS_POSITION_BOTTOM);
415  $settings->save();
416 
417  $async_response = ilAsyncOutputHandler::encodeAsyncResponse(array("cmd" => "cancel", "success" => true, "message" => $this->lng->txt("object_added")));
418 
419  ilAsyncOutputHandler::handleAsyncOutput("", $async_response, false);
420 
421  ilUtil::sendSuccess($this->lng->txt("object_added"), true);
422 
423  $this->ctrl->setParameter($this, "ref_id", $a_new_object->getRefId());
425  "save",
426  $this->ctrl->getLinkTarget($this, "edit", "", false, false)
427  ));
428  }
const SORT_NEW_ITEMS_POSITION_BOTTOM
static encodeAsyncResponse(array $data=array())
Encode data as json for async output.
getId()
get object id public
const SORT_NEW_ITEMS_ORDER_CREATION
getRefId()
get reference id public
static redirect($a_script)
getReturnLocation($a_cmd, $a_location="")
get return location for command (command is method name without "Object", e.g.
static handleAsyncOutput($normal_content, $async_content=null, $apply_to_tpl=true)
Handles async output.
+ Here is the call graph for this function:

◆ cancel()

ilObjStudyProgrammeGUI::cancel ( )
protected

Cancel the object generation.

If

Definition at line 391 of file class.ilObjStudyProgrammeGUI.php.

References ilAsyncOutputHandler\encodeAsyncResponse(), and ilAsyncOutputHandler\handleAsyncOutput().

392  {
393  $async_response = ilAsyncOutputHandler::encodeAsyncResponse(array("cmd" => "cancel", "success" => false));
394 
395  ilAsyncOutputHandler::handleAsyncOutput("", $async_response, false);
396 
397  parent::cancelCreation();
398  }
static encodeAsyncResponse(array $data=array())
Encode data as json for async output.
static handleAsyncOutput($normal_content, $async_content=null, $apply_to_tpl=true)
Handles async output.
+ Here is the call graph for this function:

◆ checkAccess()

ilObjStudyProgrammeGUI::checkAccess (   $a_which)
protected

Definition at line 548 of file class.ilObjStudyProgrammeGUI.php.

References ilAccess\checkAccess().

Referenced by denyAccessIfNotAnyOf(), getSubTabs(), and getTabs().

549  {
550  return $this->ilAccess->checkAccess($a_which, "", $this->ref_id);
551  }
Class ilAccessHandler.
checkAccess($a_permission, $a_cmd, $a_ref_id, $a_type="", $a_obj_id="", $a_tree_id="")
check access for an object (provide $a_type and $a_obj_id if available for better performance)(option...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create()

ilObjStudyProgrammeGUI::create ( )
protected

creates the object

Definition at line 362 of file class.ilObjStudyProgrammeGUI.php.

363  {
364  parent::createObject();
365  }

◆ deliverCertificateObject()

ilObjStudyProgrammeGUI::deliverCertificateObject ( )
protected

Definition at line 849 of file class.ilObjStudyProgrammeGUI.php.

References $DIC, ilObjectGUI\$obj_id, ilCertificatePdfAction\downloadPdf(), ilUtil\sendFailure(), and user().

850  {
851  global $DIC;
852 
853  $user_id = (int) $this->user->getId();
854  $obj_id = (int) $this->object->getId();
855 
856  $validator = new ilCertificateDownloadValidator();
857  if (false === $validator->isCertificateDownloadable($user_id, $obj_id)) {
858  ilUtil::sendFailure($this->lng->txt("permission_denied"), true);
859  $this->ctrl->redirect($this);
860  }
861  $repository = new ilUserCertificateRepository();
862  $cert_logger = $DIC->logger()->cert();
863  $pdf_action = new ilCertificatePdfAction(
864  $cert_logger,
865  new ilPdfGenerator($repository, $cert_logger),
867  $this->lng->txt('error_creating_certificate_pdf')
868  );
869  $pdf_action->downloadPdf($user_id, $obj_id);
870  }
Class ilPdfGeneratorConstantsTest.
user()
Definition: user.php:4
Validates if an active certificate is stored in the database and can be downloaded by the user...
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Just a wrapper class to create Unit Test for other classes.
$DIC
Definition: xapitoken.php:46
downloadPdf(int $userId, int $objectId)
+ Here is the call graph for this function:

◆ denyAccessIfNot()

ilObjStudyProgrammeGUI::denyAccessIfNot (   $a_perm,
  $position_permission = null 
)
protected

Definition at line 553 of file class.ilObjStudyProgrammeGUI.php.

References denyAccessIfNotAnyOf().

Referenced by edit(), executeCommand(), and view().

554  {
555  $perm = array($a_perm);
556  if (!is_null($position_permission)) {
557  $position_permission = array($position_permission);
558  }
559 
560  return $this->denyAccessIfNotAnyOf($perm, $position_permission);
561  }
denyAccessIfNotAnyOf($a_perms, $position_permissions=null)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ denyAccessIfNotAnyOf()

ilObjStudyProgrammeGUI::denyAccessIfNotAnyOf (   $a_perms,
  $position_permissions = null 
)
protected

Definition at line 563 of file class.ilObjStudyProgrammeGUI.php.

References ilObjectGUI\$ref_id, checkAccess(), ilAccess\checkPositionAccess(), and ilUtil\sendFailure().

Referenced by denyAccessIfNot(), and executeCommand().

564  {
565  foreach ($a_perms as $perm) {
566  if ($this->checkAccess($perm)) {
567  return;
568  }
569  }
570  if (!is_null($position_permissions)) {
571  $ref_id = (int) $this->object->getRefId();
572  foreach ($position_permissions as $perm) {
573  if ($this->ilAccess->checkPositionAccess($perm, $ref_id)) {
574  return true;
575  }
576  }
577  }
578 
579  if ($this->checkAccess("visible")) {
580  ilUtil::sendFailure($this->lng->txt("msg_no_perm_write"));
581  $this->ctrl->redirectByClass('ilinfoscreengui', '');
582  }
583 
584  $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"), $this->ilias->error_obj->WARNING);
585  }
Class ilAccessHandler.
checkPositionAccess($pos_perm, $ref_id)
Reference-ID of the desired Object in the treegetAvailablePositionRelatedPermissions for available pe...
redirection script todo: (a better solution should control the processing via a xml file) ...
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ edit()

ilObjStudyProgrammeGUI::edit ( )
protected

Definition at line 784 of file class.ilObjStudyProgrammeGUI.php.

References denyAccessIfNot().

785  {
786  $this->denyAccessIfNot("write");
787 
788  $link = $this->ctrl->getLinkTargetByClass(ilObjStudyProgrammeSettingsGUI::class, 'view');
789  $this->ctrl->redirectToURL($link);
790  }
denyAccessIfNot($a_perm, $position_permission=null)
+ Here is the call graph for this function:

◆ editAdvancedSettings()

ilObjStudyProgrammeGUI::editAdvancedSettings ( )
protected

Edit Advanced Metadata.

Definition at line 464 of file class.ilObjStudyProgrammeGUI.php.

References ilAccess\checkAccess(), initAdvancedSettingsForm(), ilAdvancedMDRecordGUI\MODE_EDITOR, ilUtil\sendFailure(), and ilAdvancedMDRecordGUI\setPropertyForm().

Referenced by executeCommand().

465  {
466  if (!$this->ilAccess->checkAccess("write", "", $this->ref_id)) {
467  ilUtil::sendFailure($this->lng->txt("permission_denied"), true);
468  $this->ctrl->redirect($this);
469  }
470  $form = $this->initAdvancedSettingsForm();
471  $gui = new ilAdvancedMDRecordGUI(
473  'prg',
474  $this->object->getId(),
475  'prg_type',
476  $this->object->getTypeSettings()->getTypeId()
477  );
478  $gui->setPropertyForm($form);
479  $gui->parse();
480  $this->tpl->setContent($form->getHTML());
481  }
setPropertyForm($form)
set property form object
Class ilAccessHandler.
checkAccess($a_permission, $a_cmd, $a_ref_id, $a_type="", $a_obj_id="", $a_tree_id="")
check access for an object (provide $a_type and $a_obj_id if available for better performance)(option...
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
initAdvancedSettingsForm()
Initialize the form for editing advanced meta data.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilObjStudyProgrammeGUI::executeCommand ( )

Definition at line 172 of file class.ilObjStudyProgrammeGUI.php.

References $_SESSION, ilObjectGUI\addHeaderAction(), addToNavigationHistory(), denyAccessIfNot(), denyAccessIfNotAnyOf(), editAdvancedSettings(), fillInfoScreen(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), getSubTabs(), initTreeJS(), ilOrgUnitOperation\OP_VIEW_MEMBERS, setContentSubTabs(), and updateAdvancedSettings().

173  {
174  $cmd = $this->ctrl->getCmd();
175  $next_class = $this->ctrl->getNextClass($this);
176 
177  if ($cmd == "") {
178  $cmd = "view";
179  }
180 
181  $this->addToNavigationHistory();
182 
183  parent::prepareOutput();
184 
185  $this->addHeaderAction();
186 
187  switch ($next_class) {
188  case "ilinfoscreengui":
189  $this->tabs_gui->activateTab(self::TAB_INFO);
190  $this->denyAccessIfNotAnyOf(array("read", "visible"));
191  $info = new ilInfoScreenGUI($this);
192  $this->fillInfoScreen($info);
193  $this->ctrl->forwardCommand($info);
194 
195  // I guess this is how it was supposed to work, but it doesn't... it won't respect our sub-id and sub-type when creating the objects!
196  // So we reimplemented the stuff in the method parseInfoScreen()
197  // $info = new ilInfoScreenGUI($this);
198  // $amd_gui = new ilAdvancedMDRecordGUI(ilAdvancedMDRecordGUI::MODE_INFO, 'orgu', $this->object->getId(), 'orgu_type', $this->object->getOrgUnitTypeId());
199  // $amd_gui->setInfoObject($info);
200  // $amd_gui->setSelectedOnly(true);
201  // $amd_gui->parse();
202  // $this->ctrl->forwardCommand($info);
203  break;
204  case 'ilpermissiongui':
205  $this->tabs_gui->activateTab('perm_settings');
206  $ilPermissionGUI = new ilPermissionGUI($this);
207  $this->ctrl->forwardCommand($ilPermissionGUI);
208  break;
209  case "ilcommonactiondispatchergui":
210  require_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
212  $this->ctrl->forwardCommand($gui);
213  break;
214  case "ilobjstudyprogrammesettingsgui":
215  $this->denyAccessIfNot("write");
216  $this->getSubTabs('settings');
217  $this->tabs_gui->activateTab(self::TAB_SETTINGS);
218  $this->tabs_gui->activateSubTab('settings');
219  $this->settings_gui->setRefId($this->ref_id);
220  $this->ctrl->forwardCommand($this->settings_gui);
221  break;
222 
223  case "ilobjstudyprogrammeautocategoriesgui":
224  $this->denyAccessIfNot("write");
225  $this->getSubTabs('settings');
226  $this->tabs_gui->activateTab(self::TAB_SETTINGS);
227  $this->tabs_gui->activateSubTab('auto_content');
228  $this->autocategories_gui->setRefId($this->ref_id);
229  $this->initTreeJS();
230  $this->ctrl->forwardCommand($this->autocategories_gui);
231  break;
232 
233  case "ilobjstudyprogrammemembersgui":
234  $this->denyAccessIfNot("manage_members", ilOrgUnitOperation::OP_VIEW_MEMBERS);
235  $this->getSubTabs('members');
236 
237  $this->tabs_gui->activateTab(self::TAB_MEMBERS);
238  $this->tabs_gui->activateSubTab('edit_participants');
239 
240  $this->members_gui->setParentGUI($this);
241  $this->members_gui->setRefId($this->ref_id);
242  $this->ctrl->forwardCommand($this->members_gui);
243 
244  break;
245 
246  case "ilobjstudyprogrammeautomembershipsgui":
247  $this->denyAccessIfNot("manage_members");
248  $this->getSubTabs('members');
249 
250  $this->tabs_gui->activateTab(self::TAB_MEMBERS);
251  $this->tabs_gui->activateSubTab('auto_memberships');
252 
253  $this->memberships_gui->setParentGUI($this);
254  $this->memberships_gui->setRefId($this->ref_id);
255  $this->ctrl->forwardCommand($this->memberships_gui);
256 
257  break;
258 
259 
260  case "ilobjstudyprogrammetreegui":
261  $this->denyAccessIfNot("write");
262 
263  $this->getSubTabs($cmd);
264  $this->setContentSubTabs();
265  $this->tabs_gui->activateTab(self::TAB_VIEW_CONTENT);
266  $this->tabs_gui->activateSubTab(self::SUBTAB_VIEW_TREE);
267 
268  // disable admin panel
269  $_SESSION["il_cont_admin_panel"] = false;
270 
271  $this->tree_gui->setRefId($this->id);
272  $this->ctrl->forwardCommand($this->tree_gui);
273  break;
274  case 'ilstudyprogrammetypegui':
275  $this->tabs_gui->activateTab('subtypes');
276 
277  $this->type_gui->setParentGUI($this);
278  $this->ctrl->forwardCommand($this->type_gui);
279  break;
280  case 'ilobjectcopygui':
281  $gui = new ilobjectcopygui($this);
282  $this->ctrl->forwardCommand($gui);
283  break;
284  case 'ilobjecttranslationgui':
285  $this->denyAccessIfNot("write");
286  $this->getSubTabs('settings');
287  $this->tabs_gui->activateTab(self::TAB_SETTINGS);
288  $this->tabs_gui->activateSubTab('settings_trans');
289  $transgui = new ilObjectTranslationGUI($this);
290  $this->ctrl->forwardCommand($transgui);
291  break;
292  case "ilcertificategui":
293  $this->getSubTabs('settings');
294  $this->denyAccessIfNot("write");
295  $this->tabs_gui->activateTab(self::TAB_SETTINGS);
296  $this->tabs_gui->activateSubTab('certificate');
297  $guiFactory = new ilCertificateGUIFactory();
298  $output_gui = $guiFactory->create($this->object);
299  $this->ctrl->forwardCommand($output_gui);
300  break;
301  case false:
302  $this->getSubTabs($cmd);
303  switch ($cmd) {
304  case "cancelDelete":
305  $cmd = "view";
306  // no break
307  case "create":
308  case "save":
309  case "view":
310  case "cancel":
311  case "edit":
312  $this->$cmd();
313  break;
314  case "delete":
315  $this->tabs_gui->clearTargets();
316  $this->tabs_gui->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTarget($this));
317  parent::deleteObject();
318  break;
319  case 'confirmedDelete':
320  parent::confirmedDeleteObject();
321  break;
322  case 'editAdvancedSettings':
323  $this->tabs_gui->activateTab("settings");
324  $this->tabs_gui->activateSubTab('edit_advanced_settings');
325  $this->editAdvancedSettings();
326  break;
327  case 'updateAdvancedSettings':
328  $this->tabs_gui->activateTab("settings");
329  $this->tabs_gui->activateSubTab('edit_advanced_settings');
330  $this->updateAdvancedSettings();
331  break;
332  case "infoScreen":
333  $this->ctrl->redirectByClass("ilInfoScreenGUI", "showSummary");
334  break;
335  case 'getAsynchItemList':
336  parent::getAsynchItemListObject();
337  break;
338  case 'trash':
339  case 'undelete':
340  case 'confirmRemoveFromSystem':
341  case 'removeFromSystem':
342  case 'deliverCertificate':
343  case 'addToDesk':
344  case 'removeFromDesk':
345  $cmd .= "Object";
346  $this->$cmd();
347  break;
348  default:
349  throw new ilException("ilObjStudyProgrammeGUI: Command not supported: $cmd");
350  }
351  break;
352 
353  default:
354  throw new ilException("ilObjStudyProgrammeGUI: Can't forward to next class $next_class");
355  }
356  }
Class ilInfoScreenGUI.
$_SESSION["AccountId"]
denyAccessIfNot($a_perm, $position_permission=null)
getSubTabs($a_parent_tab)
Adds subtabs based on the parent tab.
editAdvancedSettings()
Edit Advanced Metadata.
updateAdvancedSettings()
Update Advanced Metadata.
denyAccessIfNotAnyOf($a_perms, $position_permissions=null)
setContentSubTabs()
Disable default content subtabs.
fillInfoScreen($a_info_screen)
Adding meta-data to the info-screen.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
addHeaderAction()
Add header action menu.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
GUI class for object translation handling.
+ Here is the call graph for this function:

◆ fillInfoScreen()

ilObjStudyProgrammeGUI::fillInfoScreen (   $a_info_screen)
protected

Adding meta-data to the info-screen.

Parameters
$a_info_screen

Definition at line 765 of file class.ilObjStudyProgrammeGUI.php.

References ilStudyProgrammeDIC\dic(), ilAdvancedMDRecordGUI\MODE_INFO, and ilAdvancedMDRecordGUI\setInfoObject().

Referenced by executeCommand().

766  {
767  if (!$this->object->getTypeSettings()->getTypeId() ||
768  !ilStudyProgrammeDIC::dic()['model.Type.ilStudyProgrammeTypeRepository']
769  ->readType($this->object->getTypeSettings()->getTypeId())
770  ) {
771  return;
772  }
773  $record_gui = new ilAdvancedMDRecordGUI(
775  'prg',
776  $this->object->getId(),
777  'prg_type',
778  $this->object->getTypeSettings()->getTypeId()
779  );
780  $record_gui->setInfoObject($a_info_screen);
781  $record_gui->parse();
782  }
setInfoObject($info)
get info sections
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAsyncCreationForm()

ilObjStudyProgrammeGUI::getAsyncCreationForm ( )

Method for implementing async windows-output Should be moved into core to enable async requests on creation-form.

Returns
ilAsyncPropertyFormGUI

Definition at line 533 of file class.ilObjStudyProgrammeGUI.php.

References initCreationForms().

Referenced by save().

534  {
535  $asyncForm = new ilAsyncPropertyFormGUI();
536 
537  $tmp_forms = $this->initCreationForms('prg');
538  $asyncForm->cloneForm($tmp_forms[self::CFORM_NEW]);
539  $asyncForm->setAsync(true);
540 
541  return $asyncForm;
542  }
initCreationForms($a_new_type)
Overwritten from ilObjectGUI since copy and import are not implemented.
Class ilAsyncPropertyFormGUI.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLinkTarget()

ilObjStudyProgrammeGUI::getLinkTarget (   $a_cmd)
protected

Generates a link based on a cmd.

Parameters
$a_cmd
Returns
string

Definition at line 722 of file class.ilObjStudyProgrammeGUI.php.

Referenced by getSubTabs(), and getTabs().

723  {
724  if ($a_cmd == "info_short") {
725  return $this->ctrl->getLinkTargetByClass("ilinfoscreengui", "showSummary");
726  }
727  if ($a_cmd == "settings") {
728  return $this->ctrl->getLinkTargetByClass("ilobjstudyprogrammesettingsgui", "view");
729  }
730  if ($a_cmd == "auto_content") {
731  return $this->ctrl->getLinkTargetByClass("ilObjStudyProgrammeAutoCategoriesGUI", "view");
732  }
733 
734  if ($a_cmd == self::SUBTAB_VIEW_TREE) {
735  return $this->ctrl->getLinkTargetByClass("ilobjstudyprogrammetreegui", "view");
736  }
737  if ($a_cmd == "members") {
738  return $this->ctrl->getLinkTargetByClass("ilobjstudyprogrammemembersgui", "view");
739  }
740  if ($a_cmd == "memberships") {
741  return $this->ctrl->getLinkTargetByClass("ilobjstudyprogrammeautomembershipsgui", "view");
742  }
743  if ($a_cmd == "subtypes") {
744  return $this->ctrl->getLinkTargetByClass("ilstudyprogrammetypegui", "listTypes");
745  }
746  if ($a_cmd == "commonSettings") {
747  return $this->ctrl->getLinkTargetByClass(
748  [
749  "ilobjstudyprogrammesettingsgui",
750  "ilStudyProgrammeCommonSettingsGUI"
751  ],
752  "editSettings"
753  );
754  }
755 
756  return $this->ctrl->getLinkTarget($this, $a_cmd);
757  }
+ Here is the caller graph for this function:

◆ getSubTabs()

ilObjStudyProgrammeGUI::getSubTabs (   $a_parent_tab)

Adds subtabs based on the parent tab.

Parameters
$a_parent_tab| string of the parent tab-id

Definition at line 641 of file class.ilObjStudyProgrammeGUI.php.

References $type, checkAccess(), and getLinkTarget().

Referenced by executeCommand().

642  {
643  switch ($a_parent_tab) {
644  case self::TAB_VIEW_CONTENT:
645  case self::SUBTAB_VIEW_TREE:
646  case 'view':
647  if ($this->checkAccess("read")) {
648  $this->tabs_gui->addSubTab(self::TAB_VIEW_CONTENT, $this->lng->txt("view"), $this->getLinkTarget("view"));
649  }
650 
651  if ($this->checkAccess("write")) {
652  $this->tabs_gui->addSubTab(self::SUBTAB_VIEW_TREE, $this->lng->txt("cntr_manage"), $this->getLinkTarget(self::SUBTAB_VIEW_TREE));
653  }
654  break;
655  case 'settings':
656  case 'editAdvancedSettings':
657  $this->tabs_gui->addSubTab('settings', $this->lng->txt('settings'), $this->getLinkTarget('settings'));
658 
659  if ($this->object->isAutoContentApplicable()) {
660  $this->tabs_gui->addSubTab("auto_content", $this->lng->txt("content_automation"), $this->getLinkTarget("auto_content"));
661  }
662 
663  $this->tabs_gui->addSubTab("settings_trans", $this->lng->txt("obj_multilinguality"), $this->ctrl->getLinkTargetByClass("ilobjecttranslationgui", ""));
664  //$this->tabs_gui->addSubTab("edit_translations", $this->lng->txt("obj_multilinguality"), $this->ctrl->getLinkTargetByClass("iltranslationgui", "editTranslations"));
665 
666  $sub_type_id = $this->object->getTypeSettings()->getTypeId();
667  if ($sub_type_id) {
668  $type = $this->type_repository->readType($sub_type_id);
669  }
670  if (
671  !is_null($type) &&
672  count(
673  $this->type_repository->readAssignedAMDRecordIdsByType(
674  $type->getId(),
675  true
676  )
677  ) > 0
678  ) {
679  $this->tabs_gui->addSubTab('edit_advanced_settings', $this->lng->txt('meta_data'), $this->ctrl->getLinkTarget($this, 'editAdvancedSettings'));
680  }
681  $validator = new ilCertificateActiveValidator();
682  if (true === $validator->validate()) {
683  $this->tabs_gui->addSubTabTarget(
684  "certificate",
685  $this->ctrl->getLinkTargetByClass("ilcertificategui", "certificateeditor"),
686  "",
687  "ilcertificategui"
688  );
689  }
690 
691  $this->tabs_gui->addSubTab(
692  'commonSettings',
693  $this->lng->txt("obj_features"),
694  $this->getLinkTarget("commonSettings")
695  );
696  break;
697 
698  case 'members':
699  $this->tabs_gui->addSubTab('edit_participants', $this->lng->txt('edit_participants'), $this->getLinkTarget('members'));
700  $this->tabs_gui->addSubTab('auto_memberships', $this->lng->txt('auto_memberships'), $this->getLinkTarget('memberships'));
701  break;
702  }
703  }
$type
getLinkTarget($a_cmd)
Generates a link based on a cmd.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTabs()

ilObjStudyProgrammeGUI::getTabs ( )

Adds the default tabs to the gui.

Definition at line 597 of file class.ilObjStudyProgrammeGUI.php.

References checkAccess(), ilAccess\checkPositionAccess(), getLinkTarget(), help(), and ilOrgUnitOperation\OP_VIEW_MEMBERS.

598  {
599  $this->help->setScreenIdComponent("prg");
600  if ($this->checkAccess("read")) {
601  $this->tabs_gui->addTab(self::TAB_VIEW_CONTENT, $this->lng->txt("content"), $this->getLinkTarget("view"));
602  }
603 
604  if ($this->checkAccess("read")) {
605  $this->tabs_gui->addTab(
606  self::TAB_INFO,
607  $this->lng->txt("info_short"),
608  $this->getLinkTarget("info_short")
609  );
610  }
611 
612  if ($this->checkAccess("write")) {
613  $this->tabs_gui->addTab(
614  self::TAB_SETTINGS,
615  $this->lng->txt("settings"),
616  $this->getLinkTarget("settings")
617  );
618  }
619 
620  if (
621  $this->checkAccess("manage_members") ||
624  (int) $this->object->getRefId()
625  )
626  ) {
627  $this->tabs_gui->addTab(
628  self::TAB_MEMBERS,
629  $this->lng->txt("members"),
630  $this->getLinkTarget("members")
631  );
632  }
633  parent::getTabs();
634  }
Class ilAccessHandler.
help()
Definition: help.php:2
checkPositionAccess($pos_perm, $ref_id)
Reference-ID of the desired Object in the treegetAvailablePositionRelatedPermissions for available pe...
getLinkTarget($a_cmd)
Generates a link based on a cmd.
+ Here is the call graph for this function:

◆ initAdvancedSettingsForm()

ilObjStudyProgrammeGUI::initAdvancedSettingsForm ( )
protected

Initialize the form for editing advanced meta data.

Returns
ilPropertyFormGUI

Definition at line 451 of file class.ilObjStudyProgrammeGUI.php.

Referenced by editAdvancedSettings(), and updateAdvancedSettings().

452  {
453  $form = new ilPropertyFormGUI();
454  $form->setFormAction($this->ctrl->getFormAction($this));
455  $form->addCommandButton('updateAdvancedSettings', $this->lng->txt('save'));
456  $form->addCommandButton('editAdvancedSettings', $this->lng->txt('cancel'));
457 
458  return $form;
459  }
This class represents a property form user interface.
+ Here is the caller graph for this function:

◆ initCreationForms()

ilObjStudyProgrammeGUI::initCreationForms (   $a_new_type)
protected

Overwritten from ilObjectGUI since copy and import are not implemented.

Parameters
string$a_new_type
Returns
array

Definition at line 521 of file class.ilObjStudyProgrammeGUI.php.

References ilObjectGUI\initCreateForm().

Referenced by getAsyncCreationForm().

522  {
523  return array( self::CFORM_NEW => $this->initCreateForm($a_new_type));
524  }
initCreateForm($a_new_type)
Init object creation form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initHeaderAction()

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

Definition at line 828 of file class.ilObjStudyProgrammeGUI.php.

References ilUtil\getImagePath().

829  {
830  $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
831  $validator = new ilCertificateDownloadValidator();
832  if (true === $validator->isCertificateDownloadable($this->user->getId(), $this->object->getId()) && $lg) {
833  $cert_url = $this->ctrl->getLinkTarget($this, "deliverCertificate");
834  $this->lng->loadLanguageModule("certificate");
835  $lg->addCustomCommand($cert_url, "download_certificate");
836  $lg->addHeaderIcon(
837  "cert_icon",
838  ilUtil::getImagePath("icon_cert.svg"),
839  $this->lng->txt("download_certificate"),
840  null,
841  null,
842  $cert_url
843  );
844  }
845  return $lg;
846  }
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
Validates if an active certificate is stored in the database and can be downloaded by the user...
+ Here is the call graph for this function:

◆ initTreeJS()

ilObjStudyProgrammeGUI::initTreeJS ( )
protected

Definition at line 872 of file class.ilObjStudyProgrammeGUI.php.

References ilExplorerBaseGUI\init().

Referenced by executeCommand().

872  : void
873  {
875  }
static init($a_main_tpl=null)
Init JS.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isActiveAdministrationPanel()

ilObjStudyProgrammeGUI::isActiveAdministrationPanel ( )

Definition at line 440 of file class.ilObjStudyProgrammeGUI.php.

441  {
442  return false;
443  }

◆ save()

ilObjStudyProgrammeGUI::save ( )
protected

Saves the object.

If its a async call, the response is sent as a json string

Definition at line 373 of file class.ilObjStudyProgrammeGUI.php.

References ilAsyncOutputHandler\encodeAsyncResponse(), exit, and getAsyncCreationForm().

374  {
375  parent::saveObject();
376 
377  if ($this->ctrl->isAsynch()) {
378  $form = $this->getAsyncCreationForm();
379  $form->setValuesByPost();
380  echo ilAsyncOutputHandler::encodeAsyncResponse(array("cmd" => $this->ctrl->getCmd(), "success" => false, "errors" => $form->getErrors()));
381  exit();
382  }
383  }
exit
Definition: login.php:29
static encodeAsyncResponse(array $data=array())
Encode data as json for async output.
getAsyncCreationForm()
Method for implementing async windows-output Should be moved into core to enable async requests on cr...
+ Here is the call graph for this function:

◆ setContentSubTabs()

ilObjStudyProgrammeGUI::setContentSubTabs ( )

Disable default content subtabs.

Definition at line 709 of file class.ilObjStudyProgrammeGUI.php.

Referenced by executeCommand().

710  {
711  return;
712  }
+ Here is the caller graph for this function:

◆ updateAdvancedSettings()

ilObjStudyProgrammeGUI::updateAdvancedSettings ( )
protected

Update Advanced Metadata.

Definition at line 486 of file class.ilObjStudyProgrammeGUI.php.

References ilAccess\checkAccess(), initAdvancedSettingsForm(), ilAdvancedMDRecordGUI\MODE_EDITOR, ilUtil\sendFailure(), and ilAdvancedMDRecordGUI\setPropertyForm().

Referenced by executeCommand().

487  {
488  if (!$this->ilAccess->checkAccess("write", "", $this->ref_id)) {
489  ilUtil::sendFailure($this->lng->txt("permission_denied"), true);
490  $this->ctrl->redirect($this);
491  }
492 
493  $form = $this->initAdvancedSettingsForm();
494  $gui = new ilAdvancedMDRecordGUI(
496  'prg',
497  $this->object->getId(),
498  'prg_type',
499  $this->object->getTypeSettings()->getTypeId()
500  );
501  $gui->setPropertyForm($form);
502  $form->checkInput();
503  $gui->parse();
504  if ($gui->importEditFormPostValues()) {
505  $gui->writeEditForm();
506  ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
507  $this->ctrl->redirect($this, 'editAdvancedSettings');
508  } else {
509  $this->tpl->setContent($form->getHTML());
510  }
511  }
setPropertyForm($form)
set property form object
Class ilAccessHandler.
checkAccess($a_permission, $a_cmd, $a_ref_id, $a_type="", $a_obj_id="", $a_tree_id="")
check access for an object (provide $a_type and $a_obj_id if available for better performance)(option...
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
initAdvancedSettingsForm()
Initialize the form for editing advanced meta data.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ view()

ilObjStudyProgrammeGUI::view ( )
protected

Default view method.

Definition at line 434 of file class.ilObjStudyProgrammeGUI.php.

References denyAccessIfNot().

435  {
436  $this->denyAccessIfNot("read");
437  $this->tabs_gui->activateTab(self::TAB_VIEW_CONTENT);
438  parent::renderObject();
439  }
denyAccessIfNot($a_perm, $position_permission=null)
+ Here is the call graph for this function:

Field Documentation

◆ $autocategories_gui

ilObjStudyProgrammeGUI::$autocategories_gui
protected

Definition at line 127 of file class.ilObjStudyProgrammeGUI.php.

◆ $ctrl

ilObjStudyProgrammeGUI::$ctrl

Definition at line 42 of file class.ilObjStudyProgrammeGUI.php.

◆ $help

ilObjStudyProgrammeGUI::$help
protected

Definition at line 92 of file class.ilObjStudyProgrammeGUI.php.

◆ $ilAccess

ilObjStudyProgrammeGUI::$ilAccess
protected

Definition at line 57 of file class.ilObjStudyProgrammeGUI.php.

Referenced by __construct(), and _goto().

◆ $ilias

ilObjStudyProgrammeGUI::$ilias

Definition at line 87 of file class.ilObjStudyProgrammeGUI.php.

Referenced by __construct().

◆ $ilLocator

ilObjStudyProgrammeGUI::$ilLocator
protected

Definition at line 67 of file class.ilObjStudyProgrammeGUI.php.

Referenced by __construct().

◆ $ilLog

ilObjStudyProgrammeGUI::$ilLog
protected

Definition at line 82 of file class.ilObjStudyProgrammeGUI.php.

Referenced by __construct().

◆ $members_gui

ilObjStudyProgrammeGUI::$members_gui
protected

Definition at line 102 of file class.ilObjStudyProgrammeGUI.php.

◆ $memberships_gui

ilObjStudyProgrammeGUI::$memberships_gui
protected

Definition at line 107 of file class.ilObjStudyProgrammeGUI.php.

◆ $object

ilObjStudyProgrammeGUI::$object

Definition at line 77 of file class.ilObjStudyProgrammeGUI.php.

◆ $settings_gui

ilObjStudyProgrammeGUI::$settings_gui
protected

Definition at line 97 of file class.ilObjStudyProgrammeGUI.php.

◆ $tabs_gui

ilObjStudyProgrammeGUI::$tabs_gui

Definition at line 52 of file class.ilObjStudyProgrammeGUI.php.

◆ $toolbar

ilObjStudyProgrammeGUI::$toolbar
protected

Definition at line 62 of file class.ilObjStudyProgrammeGUI.php.

◆ $tpl

ilObjStudyProgrammeGUI::$tpl

Definition at line 47 of file class.ilObjStudyProgrammeGUI.php.

Referenced by __construct().

◆ $tree

ilObjStudyProgrammeGUI::$tree

Definition at line 72 of file class.ilObjStudyProgrammeGUI.php.

Referenced by __construct().

◆ $tree_gui

ilObjStudyProgrammeGUI::$tree_gui
protected

Definition at line 112 of file class.ilObjStudyProgrammeGUI.php.

◆ $type_gui

ilObjStudyProgrammeGUI::$type_gui
protected

Definition at line 117 of file class.ilObjStudyProgrammeGUI.php.

◆ $type_repository

ilObjStudyProgrammeGUI::$type_repository
protected

Definition at line 122 of file class.ilObjStudyProgrammeGUI.php.

◆ SUBTAB_VIEW_TREE

const ilObjStudyProgrammeGUI::SUBTAB_VIEW_TREE = "view_tree"

Definition at line 588 of file class.ilObjStudyProgrammeGUI.php.

◆ TAB_INFO

const ilObjStudyProgrammeGUI::TAB_INFO = "info_short"

Definition at line 589 of file class.ilObjStudyProgrammeGUI.php.

◆ TAB_MEMBERS

const ilObjStudyProgrammeGUI::TAB_MEMBERS = "members"

Definition at line 591 of file class.ilObjStudyProgrammeGUI.php.

◆ TAB_SETTINGS

const ilObjStudyProgrammeGUI::TAB_SETTINGS = "settings"

Definition at line 590 of file class.ilObjStudyProgrammeGUI.php.

◆ TAB_SUBTYPES

const ilObjStudyProgrammeGUI::TAB_SUBTYPES = "subtypes"

Definition at line 592 of file class.ilObjStudyProgrammeGUI.php.

◆ TAB_VIEW_CONTENT

const ilObjStudyProgrammeGUI::TAB_VIEW_CONTENT = "view_content"

Definition at line 587 of file class.ilObjStudyProgrammeGUI.php.


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