ILIAS  trunk Revision v12.0_alpha-1221-g4e438232683
ilObjPortfolioGUI Class Reference

@ilCtrl_Calls ilObjPortfolioGUI: ilPortfolioPageGUI, ilPageObjectGUI @ilCtrl_Calls ilObjPortfolioGUI: ilWorkspaceAccessGUI, ilCommentGUI, ilCommonActionDispatcherGUI @ilCtrl_Calls ilObjPortfolioGUI: ilObjectContentStyleSettingsGUI, ilPortfolioExerciseGUI @ilCtrl_Calls ilObjPortfolioGUI: ILIAS\Portfolio\Settings\SettingsGUI More...

+ Inheritance diagram for ilObjPortfolioGUI:
+ Collaboration diagram for ilObjPortfolioGUI:

Public Member Functions

 __construct (int $a_id=0)
 
 getType ()
 Functions that must be overwritten. More...
 
 executeCommand ()
 execute command More...
 
 edit ()
 
 create ()
 CRUD. More...
 
 createFromTemplate ()
 
 save ()
 
 saveFromTemplate ()
 
 getPageGUIClassName ()
 
 createPortfolioFromAssignment ()
 
 linkPortfolioToAssignment (int $a_target_id)
 
 getSkillsToPortfolioAssignment (array $a_pskills, array $a_skill_ids, ilPortfolioTemplatePage $a_source_page)
 
 printSelection ()
 
 showPrintView ()
 
- Public Member Functions inherited from ilObjPortfolioBaseGUI
 __construct (int $a_id=0, int $a_id_type=self::REPOSITORY_NODE_ID, int $a_parent_node_id=0)
 
 setAdditional (array $a_additional)
 Set Additonal Information (used in public profile?) More...
 
 getAdditional ()
 
 setPermaLink (int $a_obj_id, string $a_type)
 Set custom perma link (used in public profile?) More...
 
 getPageGUIClassName ()
 
 view ()
 Show list of portfolio pages. More...
 
 initPageForm (string $a_mode="create")
 Init portfolio page form. More...
 
 savePage ()
 Create new portfolio page. More...
 
 savePortfolioPagesOrdering ()
 Save ordering of portfolio pages. More...
 
 confirmPortfolioPageDeletion ()
 
 deletePortfolioPages ()
 
 export (bool $a_with_comments=false)
 
 exportWithComments ()
 
 copyPageForm (?ilPropertyFormGUI $a_form=null)
 Select target portfolio for page(s) copy. More...
 
 copyPage ()
 
 initCopyPageForm ()
 
 setContentStyleSheet (?ilGlobalTemplateInterface $a_tpl=null)
 
- Public Member Functions inherited from ilObject2GUI
 __construct (int $id=0, int $id_type=self::REPOSITORY_NODE_ID, int $parent_node_id=0)
 
 executeCommand ()
 execute command More...
 
 getIdType ()
 
 delete ()
 Display delete confirmation form (repository/workspace switch) More...
 
 confirmedDelete ()
 Delete objects (repository/workspace switch) More...
 
 getHTML ()
 
 withReferences ()
 Final/Private declaration of unchanged parent methods. More...
 
 setCreationMode (bool $mode=true)
 If true, a creation screen is displayed the current [ref_id] does belong to the parent class The mode is determined in ilRepositoryGUI. More...
 
 getCreationMode ()
 
 prepareOutput (bool $show_sub_objects=true)
 
 isVisible (int $ref_id, string $type)
 
 setColumnSettings (ilColumnGUI $column_gui)
 
 view ()
 view object content (repository/workspace switch) More...
 
 getType ()
 Functions that must be overwritten. More...
 
 create ()
 CRUD. More...
 
 save ()
 
 edit ()
 
 update ()
 
 cancel ()
 
 putObjectInTree (ilObject $obj, ?int $parent_node_id=null)
 Add object to tree at given position. More...
 
- Public Member Functions inherited from ilObjectGUI
 getRefId ()
 
 setAdminMode (string $mode)
 
 getAdminMode ()
 
 getObject ()
 
 executeCommand ()
 
 withReferences ()
 determines whether objects are referenced or not (got ref ids or not) More...
 
 setCreationMode (bool $mode=true)
 If true, a creation screen is displayed the current [ref_id] does belong to the parent class The mode is determined in ilRepositoryGUI. More...
 
 getCreationMode ()
 
 prepareOutput (bool $show_sub_objects=true)
 
 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...
 
 cancelObject ()
 cancel action and go back to previous page More...
 
 createObject ()
 create new object form More...
 
 editAvailabilityPeriodObject ()
 
 saveAvailabilityPeriodObject ()
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 
 getDidacticTemplateVar (string $type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $obj, ?int $parent_node_id=null)
 Add object to tree at given position. More...
 
 editObject ()
 
 addExternalEditFormCustom (ilPropertyFormGUI $form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction (string $cmd, string $default_form_action="")
 Get form action for command (command is method name without "Object", e.g. More...
 
 isVisible (int $ref_id, string $type)
 
 viewObject ()
 viewObject container presentation for "administration -> repository, trash, permissions" More...
 
 deleteObject (bool $error=false)
 Display deletion confirmation screen. More...
 
 setColumnSettings (ilColumnGUI $column_gui)
 
 addToDeskObject ()
 
 removeFromDeskObject ()
 
- Public Member Functions inherited from ILIAS\Object\ImplementsCreationCallback
 callCreationCallback (\ilObject $object, \ilObjectDefinition $obj_definition, int $requested_crtcb)
 

Static Public Member Functions

static _goto (string $a_target)
 
- Static Public Member Functions inherited from ilObjPortfolioBaseGUI
static renderFullscreenHeader (ilObjPortfolioBase $a_portfolio, ilGlobalTemplateInterface $a_tpl, int $a_user_id, bool $a_export=false)
 
- Static Public Member Functions inherited from ilObject2GUI
static handleAfterSaveCallback (ilObject $obj, ?int $callback_ref_id)
 After creation callback. More...
 
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot (bool $raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode (int $ref_id, string $cmd="")
 
static _gotoSharedWorkspaceNode (int $wsp_id)
 

Protected Member Functions

 checkPermissionBool (string $perm, string $cmd="", string $type="", ?int $node_id=null)
 
 triggerAssignmentTool ()
 
 setTabs ()
 create tabs (repository/workspace switch) More...
 
 addLocator ()
 
 setTitleAndDescription ()
 
 getCreateInfoMessage ()
 
 getCreationForm ()
 
 initCreateFromTemplateForm ()
 
 afterSave (ilObject $new_object)
 Post (successful) object creation hook. More...
 
 toRepository ()
 
 getPageInstance (?int $a_page_id=null, ?int $a_portfolio_id=null)
 Get portfolio template page instance. More...
 
 getPageGUIInstance (int $a_page_id)
 Get portfolio template page gui instance. More...
 
 initCopyPageFormOptions (ilPropertyFormGUI $a_form)
 
 createPortfolioFromTemplate (?ilPropertyFormGUI $a_form=null)
 
 initCreatePortfolioFromTemplateForm (int $a_prtt_id, string $a_title)
 
 createPortfolioFromTemplateProcess (bool $a_process_form=true)
 
 createFromTemplateDirect (string $title="", int $prtt_id=0)
 Create portfolio template direct. More...
 
 getOfflineMessage ()
 Get offline message for sharing tab. More...
 
 setOnlineAndShare ()
 Set online and switch to share screen. More...
 
- Protected Member Functions inherited from ilObjPortfolioBaseGUI
 addLocatorItems ()
 Functions to be overwritten. More...
 
 determinePageCall ()
 
 handlePageCall (string $a_cmd)
 
 setSettingsSubTabs (string $a_active)
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 updateCustom (ilPropertyFormGUI $form)
 Insert custom update form values into object. More...
 
 getPageInstance (?int $a_page_id=null, ?int $a_portfolio_id=null)
 
 getPageGUIInstance (int $a_page_id)
 
 addPage ()
 Show portfolio page creation form. More...
 
 getCurrentPage ()
 
 getCommentGUI ()
 
 showEditButton (int $page_id)
 
 initCopyPageFormOptions (ilPropertyFormGUI $a_form)
 
- Protected Member Functions inherited from ilObject2GUI
 afterConstructor ()
 Do anything that should be done after constructor in here. More...
 
 assignObject ()
 create object instance as internal property (repository/workspace switch) More...
 
 getAccessHandler ()
 
 setLocator ()
 set Locator More...
 
 deleteConfirmedObjects ()
 Delete objects (workspace specific) This should probably be moved elsewhere as done with RepUtil. More...
 
 setTitleAndDescription ()
 
 omitLocator (bool $omit=true)
 
 getTargetFrame (string $cmd, string $target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame (string $cmd, string $target_frame)
 Set specific target frame for command. More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 checkPermission (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 showPossibleSubObjects ()
 show possible sub objects (pull down menu) More...
 
 redirectToRefId (int $ref_id, string $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 ["ref_id"] value of the request More...
 
 addAdminLocatorItems (bool $do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 setTabs ()
 create tabs (repository/workspace switch) More...
 
 getReturnLocation (string $cmd, string $location="")
 Deprecated functions. More...
 
 setReturnLocation (string $cmd, string $location)
 set specific return location for command More...
 
 showActions ()
 
 getTabs ()
 @abstract overwrite in derived GUI class of your object type More...
 
 addLocatorItems ()
 Functions to be overwritten. More...
 
 checkPermissionBool (string $perm, string $cmd="", string $type="", ?int $node_id=null)
 
 initHeaderAction (?string $sub_type=null, ?int $sub_id=null)
 Add header action menu. More...
 
 redrawHeaderAction ()
 Updating icons after ajax call. More...
 
- Protected Member Functions inherited from ilObjectGUI
 getObjectService ()
 
 assignObject ()
 
 setTitleAndDescription ()
 
 createActionDispatcherGUI ()
 
 initHeaderAction (?string $sub_type=null, ?int $sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction (?ilObjectListGUI $list_gui=null)
 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 More...
 
 setAdminTabs ()
 set admin tabs More...
 
 setLocator ()
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator (bool $omit=true)
 
 addAdminLocatorItems (bool $do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 getCreationFormsHTML (StandardForm|ilPropertyFormGUI|array $form)
 
 getTitleForCreationFormPage ()
 
 getCreationFormTitle ()
 
 initCreateForm (string $new_type)
 
 didacticTemplatesToForm ()
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 
 retrieveAdditionalDidacticTemplateOptions ()
 
 addAdoptContentLinkToToolbar ()
 
 addImportButtonToToolbar ()
 
 addAvailabilityPeriodButtonToToolbar (ilToolbarGUI $toolbar)
 
 parseDidacticTemplateVar (string $var, string $type)
 
 afterSave (ilObject $new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 routeImportCmdObject ()
 
 importFile (string $file_to_import, string $path_to_uploaded_file_in_temp_dir)
 
 deleteUploadedImportFile (string $path_to_uploaded_file_in_temp_dir)
 
 afterImport (ilObject $new_object)
 Post (successful) object import hook. More...
 
 setFormAction (string $cmd, string $form_action)
 
 getReturnLocation (string $cmd, string $default_location="")
 Get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation (string $cmd, string $location)
 set specific return location for command More...
 
 getTargetFrame (string $cmd, string $default_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame (string $cmd, string $target_frame)
 Set specific target frame for command. More...
 
 showPossibleSubObjects ()
 show possible sub objects (pull down menu) More...
 
 getTabs ()
 @abstract overwrite in derived GUI class of your object type More...
 
 redirectToRefId (int $ref_id, string $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 ["ref_id"] value of the request More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 checkPermission (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 checkPermissionBool (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 getCreatableObjectTypes ()
 
 buildAddNewItemElements (array $subtypes, string $create_target_class=ilRepositoryGUI::class, ?int $redirect_target_ref_id=null,)
 
 buildGroup (string $create_target_class, array $obj_types_in_group, string $title, array $subtypes)
 

Protected Attributes

ILIAS Notes GUIService $notes_gui
 
ilWorkspaceAccessHandler $ws_access
 
ContextServices $tool_context
 
ilPortfolioDeclarationOfAuthorship $declaration_authorship
 
ILIAS Skill Service SkillPersonalService $skill_personal_service
 
- Protected Attributes inherited from ilObjPortfolioBaseGUI
ILIAS Notes Service $notes
 
ILIAS Portfolio InternalGUIService $gui
 
StandardGUIRequest $port_request
 
ilHelpGUI $help
 
int $user_id = 0
 
array $additional = array()
 
array $perma_link = []
 
int $page_id = 0
 
string $page_mode
 
int $requested_ppage
 
int $requested_user_page
 
ILIAS DI UIServices $ui
 
ILIAS Style Content GUIService $content_style_gui
 
ILIAS Style Content Object ObjectFacade $content_style_domain
 
- Protected Attributes inherited from ilObject2GUI
ilObjectDefinition $obj_definition
 
ilGlobalTemplateInterface $tpl
 
ilCtrl $ctrl
 
ilLanguage $lng
 
ilTabsGUI $tabs_gui
 
ilFavouritesManager $favourites
 
ilErrorHandling $error
 
ilLocatorGUI $locator
 
ilObjUser $user
 
ilAccessHandler $access
 
ilToolbarGUI $toolbar
 
Factory $refinery
 
ilRbacAdmin $rbac_admin
 
ilRbacSystem $rbac_system
 
ilRbacReview $rbac_review
 
int $request_ref_id
 
int $id_type
 
int $parent_id
 
string $type
 
string $html
 
int $object_id
 
int $node_id = null
 
array $creation_forms = []
 
 $access_handler
 
- Protected Attributes inherited from ilObjectGUI
ILIAS Notes Service $notes_service
 
GlobalHttpState $http
 
ServerRequestInterface $request
 
ilLocatorGUI $locator
 
ilObjUser $user
 
ilAccessHandler $access
 
ilSetting $settings
 
ilToolbarGUI $toolbar
 
ilRbacAdmin $rbac_admin
 
ilRbacSystem $rbac_system
 
ilRbacReview $rbac_review
 
ilObjectService $object_service
 
ilObjectDefinition $obj_definition
 
ilGlobalTemplateInterface $tpl
 
ilTree $tree
 
ilCtrl $ctrl
 
ilErrorHandling $error
 
ilLanguage $lng
 
ilTabsGUI $tabs_gui
 
ILIAS $ilias
 
ArrayBasedRequestWrapper $post_wrapper
 
RequestWrapper $request_wrapper
 
Refinery $refinery
 
ilFavouritesManager $favourites
 
CustomIconFactory $custom_icon_factory
 
UIFactory $ui_factory
 
UIRenderer $ui_renderer
 
Filesystem $temp_file_system
 
ilObject $object = null
 
bool $creation_mode = false
 
 $data
 
int $id
 
bool $call_by_reference = false
 
bool $prepare_output
 
int $ref_id
 
int $obj_id
 
int $maxcount
 
array $form_action = []
 
array $return_location = []
 
array $target_frame = []
 
string $tmp_import_dir
 
string $sub_objects = ""
 
bool $omit_locator = false
 
string $type = ""
 
string $admin_mode = self::ADMIN_MODE_NONE
 
int $requested_ref_id = 0
 
int $requested_crtptrefid = 0
 
int $requested_crtcb = 0
 
string $requested_new_type = ""
 
string $link_params
 
string $html = ""
 

Additional Inherited Members

- Data Fields inherited from ilObject2GUI
const OBJECT_ID = 0
 
const REPOSITORY_NODE_ID = 1
 
const WORKSPACE_NODE_ID = 2
 
const REPOSITORY_OBJECT_ID = 3
 
const WORKSPACE_OBJECT_ID = 4
 
const PORTFOLIO_OBJECT_ID = 5
 
- Data Fields inherited from ilObjectGUI
const ADMIN_MODE_NONE = ""
 
const ADMIN_MODE_SETTINGS = "settings"
 
const ADMIN_MODE_REPOSITORY = "repository"
 
const UPLOAD_TYPE_LOCAL = 1
 
const UPLOAD_TYPE_UPLOAD_DIRECTORY = 2
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 
const SUPPORTED_IMPORT_MIME_TYPES = [MimeType::APPLICATION__ZIP, MimeType::APPLICATION__X_ZIP_COMPRESSED]
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjPortfolioGUI::__construct ( int  $a_id = 0)

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

38 {
39 global $DIC;
40
41 $this->lng = $DIC->language();
42 $this->help = $DIC["ilHelp"];
43 $this->settings = $DIC->settings();
44 $this->access = $DIC->access();
45 $this->user = $DIC->user();
46 $this->ctrl = $DIC->ctrl();
47 $this->ui = $DIC->ui();
48
49 $this->tool_context = $DIC->globalScreen()->tool()->context();
50
51 parent::__construct($a_id, self::PORTFOLIO_OBJECT_ID, 0);
52 $this->declaration_authorship = new ilPortfolioDeclarationOfAuthorship();
53
54 $this->ctrl->saveParameter($this, "exc_back_ref_id");
55 $this->notes_gui = $DIC->notes()->gui();
56 $this->skill_personal_service = $DIC->skills()->personal();
57 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
global $DIC
Definition: shib_login.php:26

References $DIC, ILIAS\GlobalScreen\Provider\__construct(), ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ILIAS\Repository\help(), ILIAS\Repository\lng(), ILIAS\Repository\settings(), ILIAS\Repository\ui(), and ILIAS\Repository\user().

+ Here is the call graph for this function:

Member Function Documentation

◆ _goto()

static ilObjPortfolioGUI::_goto ( string  $a_target)
static

Definition at line 677 of file class.ilObjPortfolioGUI.php.

677 : void
678 {
679 global $DIC;
680
681 $ctrl = $DIC->ctrl();
682
683 $id = explode("_", $a_target);
684
685 $ctrl->setParameterByClass(self::class, 'prt_id', $id[0]);
686 if (count($id) === 2 && is_numeric($id[1])) {
687 $ctrl->setParameterByClass(self::class, 'user_page', $id[1]);
688 }
689 $ctrl->redirectByClass([ilSharedResourceGUI::class, self::class], 'preview');
690 }
redirectByClass( $a_class, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false)
@inheritDoc
setParameterByClass(string $a_class, string $a_parameter, $a_value)
@inheritDoc

References $DIC, and $id.

◆ addLocator()

ilObjPortfolioGUI::addLocator ( )
protected

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

222 : void
223 {
224 if (!$this->creation_mode) {
225 $this->ctrl->setParameter($this, "prt_id", $this->object->getId());
226 }
227
228 $this->addLocatorItems();
229
230 $this->tpl->setLocator();
231 }
addLocatorItems()
Functions to be overwritten.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\object().

+ Here is the call graph for this function:

◆ afterSave()

ilObjPortfolioGUI::afterSave ( ilObject  $new_object)
protected

Post (successful) object creation hook.

Reimplemented from ilObjectGUI.

Definition at line 399 of file class.ilObjPortfolioGUI.php.

399 : void
400 {
401 $this->tpl->setOnScreenMessage('success', $this->lng->txt("prtf_portfolio_created"), true);
402 $this->ctrl->setParameter($this, "prt_id", $new_object->getId());
403 $this->ctrl->redirect($this, "view");
404 }

References ILIAS\Repository\ctrl(), ilObject\getId(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ checkPermissionBool()

ilObjPortfolioGUI::checkPermissionBool ( string  $perm,
string  $cmd = "",
string  $type = "",
?int  $node_id = null 
)
protected

Reimplemented from ilObject2GUI.

Definition at line 64 of file class.ilObjPortfolioGUI.php.

69 : bool {
70 if ($perm === "create") {
71 return true;
72 }
73 if (!$node_id) {
75 }
76 return $this->access_handler->checkAccess($perm, "", $node_id);
77 }

◆ create()

ilObjPortfolioGUI::create ( )

CRUD.

Reimplemented from ilObject2GUI.

Definition at line 262 of file class.ilObjPortfolioGUI.php.

262 : void
263 {
266
267 $new_type = $this->port_request->getNewType();
268
269 // add new object to custom parent container
270 $this->ctrl->saveParameter($this, "crtptrefid");
271 // use forced callback after object creation
272 $this->ctrl->saveParameter($this, "crtcb");
273
274 if (!$this->checkPermissionBool("create", "", $new_type)) {
275 $ilErr->raiseError($this->lng->txt("permission_denied"), $ilErr->MESSAGE);
276 } else {
277 $this->lng->loadLanguageModule($new_type);
278 $this->ctrl->setParameter($this, "new_type", $new_type);
279
280 $form = $this->getCreationForm();
281
282 $tpl->setContent($form->render());
283 }
284 }
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
ilErrorHandling $error
ilGlobalTemplateInterface $tpl
setContent(string $a_html)
Sets content for standard template.
$ilErr
Definition: raiseError.php:33

References $ilErr, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ createFromTemplate()

ilObjPortfolioGUI::createFromTemplate ( )

Definition at line 286 of file class.ilObjPortfolioGUI.php.

286 : void
287 {
290
291 $new_type = $this->port_request->getNewType();
292
293 // add new object to custom parent container
294 $this->ctrl->saveParameter($this, "crtptrefid");
295 // use forced callback after object creation
296 $this->ctrl->saveParameter($this, "crtcb");
297
298 if (!$this->checkPermissionBool("create", "", $new_type)) {
299 $ilErr->raiseError($this->lng->txt("permission_denied"), $ilErr->MESSAGE);
300 } else {
301 $this->lng->loadLanguageModule($new_type);
302 $this->ctrl->setParameter($this, "new_type", $new_type);
303 $form = $this->initCreateFromTemplateForm();
304 $tpl->setContent($form->getHTML());
305 }
306 }

References $ilErr, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ createFromTemplateDirect()

ilObjPortfolioGUI::createFromTemplateDirect ( string  $title = "",
int  $prtt_id = 0 
)
protected

Create portfolio template direct.

Definition at line 640 of file class.ilObjPortfolioGUI.php.

643 : void {
644 if ($prtt_id === 0) {
645 $prtt_id = $this->port_request->getPortfolioTemplateId();
646 }
647 if ($title === "") {
648 $title = ilObject::_lookupTitle($prtt_id);
649 }
650
651 // valid template?
653 if (!count($templates) || !in_array($prtt_id, $templates)) {
654 $this->toRepository();
655 }
656 unset($templates);
657
658 $source = new ilObjPortfolioTemplate($prtt_id, false);
659
660 // create portfolio
661 $target = new ilObjPortfolio();
662 $target->setTitle($title);
663 $target->create();
664 $target_id = $target->getId();
665
666 ilObjPortfolioTemplate::clonePagesAndSettings($source, $target, null, true);
667
668 // link portfolio to exercise assignment
669 //$this->linkPortfolioToAssignment($target_id);
670
671 $this->tpl->setOnScreenMessage('success', $this->lng->txt("prtf_portfolio_created_from_template"), true);
672 $this->ctrl->setParameter($this, "prt_id", $target_id);
673 $this->ctrl->redirect($this, "preview");
674 }
static clonePagesAndSettings(ilObjPortfolioBase $a_source, ilObjPortfolioBase $a_target, ?array $a_recipe=null, bool $copy_all=false)
Build template from portfolio and vice versa.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getAvailablePortfolioTemplates(string $a_permission="read")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupTitle(int $obj_id)

◆ createPortfolioFromAssignment()

ilObjPortfolioGUI::createPortfolioFromAssignment ( )

Definition at line 692 of file class.ilObjPortfolioGUI.php.

692 : void
693 {
694 $ilUser = $this->user;
696
697 $recipe = [];
698
699 $title = $this->port_request->getPortfolioTitle();
700 $prtt_id = $this->port_request->getPortfolioTemplate();
701
702 // get assignment template
703 $ass_template_id = 0;
704 $ass_id = $this->port_request->getExcAssId();
705 if ($ass_id > 0) {
706 $ass = new ilExAssignment($ass_id);
707 $ass_template_id = ilObject::_lookupObjectId($ass->getPortfolioTemplateId());
708 }
709
710 if ($prtt_id > 0) {
712 if (!count($templates) || !in_array($prtt_id, $templates)) {
713 if ($ass_template_id !== $prtt_id) {
714 $this->toRepository();
715 }
716 }
717
718 //skills manipulation
719 $pskills = array_keys($this->skill_personal_service->getSelectedUserSkills($ilUser->getId()));
720 $skill_ids = array();
721
722 $recipe = array();
723 foreach (ilPortfolioTemplatePage::getAllPortfolioPages($prtt_id) as $page) {
724 switch ($page["type"]) {
726 $source_page = new ilPortfolioTemplatePage($page["id"]);
727 $source_page->buildDom(true);
728 $skill_ids = $this->getSkillsToPortfolioAssignment($pskills, $skill_ids, $source_page);
729 break;
730 }
731 }
732
733 if ($skill_ids) {
734 $recipe["skills"] = $skill_ids;
735 }
736 }
737
738 // create portfolio
739 $target = new ilObjPortfolio();
740 $target->setTitle($title);
741 $target->create();
742 $target_id = $target->getId();
743
744 if ($prtt_id) {
745 $source = new ilObjPortfolioTemplate($prtt_id, false);
746 ilObjPortfolioTemplate::clonePagesAndSettings($source, $target, $recipe);
747 }
748
749 // link portfolio to exercise assignment
750 $this->linkPortfolioToAssignment($target_id);
751
752 $this->ctrl->setParameter($this, "prt_id", $target_id);
753 if ($prtt_id) {
754 $this->tpl->setOnScreenMessage('success', $this->lng->txt("prtf_portfolio_created_from_template"), true);
755 $this->ctrl->redirect($this, "preview");
756 } else {
757 $this->tpl->setOnScreenMessage('success', $this->lng->txt("prtf_portfolio_created"), true);
758 $this->ctrl->redirect($this, "view");
759 }
760 }
Exercise assignment.
linkPortfolioToAssignment(int $a_target_id)
getSkillsToPortfolioAssignment(array $a_pskills, array $a_skill_ids, ilPortfolioTemplatePage $a_source_page)
ilSetting $settings
static _lookupObjectId(int $ref_id)
static getAllPortfolioPages(int $a_portfolio_id)
Get pages of portfolio.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $ilSetting
Definition: privfeed.php:31

References $ass_id, $ilSetting, ilObject\_lookupObjectId(), ilObjPortfolioBase\clonePagesAndSettings(), ILIAS\Repository\ctrl(), ilPortfolioPage\getAllPortfolioPages(), ilObjPortfolioTemplate\getAvailablePortfolioTemplates(), ILIAS\Repository\lng(), and ilPortfolioPage\TYPE_PAGE.

+ Here is the call graph for this function:

◆ createPortfolioFromTemplate()

ilObjPortfolioGUI::createPortfolioFromTemplate ( ?ilPropertyFormGUI  $a_form = null)
protected

Definition at line 497 of file class.ilObjPortfolioGUI.php.

499 : void {
500 $title = $this->port_request->getPortfolioTitle();
501 $prtt_id = $this->port_request->getPortfolioTemplate();
502
503 // valid template?
505 if (!count($templates) || !in_array($prtt_id, $templates)) {
506 $this->toRepository();
507 }
508 unset($templates);
509
510 $this->ctrl->setParameter($this, "prtt", $prtt_id);
511
512 if (!$a_form) {
513 $a_form = $this->initCreatePortfolioFromTemplateForm($prtt_id, $title);
514 }
515 if ($a_form) {
516 $this->tpl->setContent($a_form->getHTML());
517 } else {
519 }
520 }
initCreatePortfolioFromTemplateForm(int $a_prtt_id, string $a_title)
createPortfolioFromTemplateProcess(bool $a_process_form=true)

◆ createPortfolioFromTemplateProcess()

ilObjPortfolioGUI::createPortfolioFromTemplateProcess ( bool  $a_process_form = true)
protected

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

590 : void {
592
593 $title = $this->port_request->getPortfolioTitle();
594 $prtt_id = $this->port_request->getPortfolioTemplate();
595
596 // valid template?
598 if (!count($templates) || !in_array($prtt_id, $templates)) {
599 $this->toRepository();
600 }
601 unset($templates);
602
603 // build page recipe (aka import form values)
604 $recipe = null;
605 if ($a_process_form) {
606 $this->ctrl->setParameter($this, "prtt", $prtt_id);
607
608 $form = $this->initCreatePortfolioFromTemplateForm($prtt_id, $title);
609 if ($form->checkInput()) {
610
611 $recipe["skills"] = (array) $form->getInput("skill_ids");
612 } else {
613 $form->setValuesByPost();
614 $this->createPortfolioFromTemplate($form);
615 return;
616 }
617 }
618
619 $source = new ilObjPortfolioTemplate($prtt_id, false);
620
621 // create portfolio
622 $target = new ilObjPortfolio();
623 $target->setTitle($title);
624 $target->create();
625 $target_id = $target->getId();
626
627 ilObjPortfolioTemplate::clonePagesAndSettings($source, $target, $recipe);
628
629 // link portfolio to exercise assignment
630 $this->linkPortfolioToAssignment($target_id);
631
632 $this->tpl->setOnScreenMessage('success', $this->lng->txt("prtf_portfolio_created_from_template"), true);
633 $this->ctrl->setParameter($this, "prt_id", $target_id);
634 $this->ctrl->redirect($this, "preview");
635 }
createPortfolioFromTemplate(?ilPropertyFormGUI $a_form=null)

◆ edit()

ilObjPortfolioGUI::edit ( )

Reimplemented from ilObject2GUI.

Definition at line 165 of file class.ilObjPortfolioGUI.php.

165 : void
166 {
167 $this->ctrl->redirectByClass(SettingsGUI::class);
168 }

References ILIAS\Repository\ctrl().

+ Here is the call graph for this function:

◆ executeCommand()

ilObjPortfolioGUI::executeCommand ( )

execute command

Reimplemented from ilObject2GUI.

Definition at line 79 of file class.ilObjPortfolioGUI.php.

79 : void
80 {
81 $this->checkPermission("read");
83
84 $next_class = $this->ctrl->getNextClass($this);
85 $cmd = $this->ctrl->getCmd("view");
86
87 // trigger assignment tool
88 $this->triggerAssignmentTool();
89 switch ($next_class) {
90 case "ilworkspaceaccessgui":
91 if ($this->checkPermissionBool("write")) {
92 $this->setTabs();
93 $this->tabs_gui->activateTab("share");
94
95 $this->tpl->setPermanentLink("prtf", $this->object->getId());
96
97 $wspacc = new ilWorkspaceAccessGUI($this->object->getId(), $this->access_handler, true);
98 $wspacc->setBlockingMessage($this->getOfflineMessage());
99 $this->ctrl->forwardCommand($wspacc);
100 }
101 break;
102
103 case 'ilportfoliopagegui':
104 if ($this->determinePageCall()) {
105 // only in edit mode
106 $this->addLocator();
107 }
108 $this->handlePageCall($cmd);
109 break;
110
111 case "ilcommentgui":
112 $this->preview();
113 break;
114
115 case "ilcommonactiondispatchergui":
116 //$this->prepareOutput();
118 $this->ctrl->forwardCommand($gui);
119 break;
120
121 case "ilobjectcontentstylesettingsgui":
122 $this->checkPermission("write");
123 $this->addLocator();
124 $this->setTabs();
125 $this->tabs_gui->activateTab("settings");
126 $this->setSettingsSubTabs("style");
127 $settings_gui = $this->content_style_gui
128 ->objectSettingsGUIForObjId(
129 null,
130 $this->object->getId()
131 );
132 $this->ctrl->forwardCommand($settings_gui);
133 break;
134
135 case "ilportfolioexercisegui":
136 $this->ctrl->setReturn($this, "view");
137 $gui = new ilPortfolioExerciseGUI($this->user_id, $this->object->getId());
138 $this->ctrl->forwardCommand($gui);
139 break;
140
141 case strtolower(SettingsGUI::class):
142 $this->checkPermission("write");
143 $this->addLocator();
144 $this->setTabs();
145 $this->tabs_gui->activateTab("settings");
146 $this->setSettingsSubTabs("properties");
147 $gui = $this->gui->settings()->settingsGUI(
148 $this->object->getId(),
149 false
150 );
151 $this->ctrl->forwardCommand($gui);
152 break;
153
154 default:
155
156 if ($cmd !== "preview") {
157 $this->addLocator();
158 $this->setTabs();
159 }
160 $this->$cmd();
161 break;
162 }
163 }
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
ILIAS Portfolio InternalGUIService $gui
getOfflineMessage()
Get offline message for sharing tab.
setTabs()
create tabs (repository/workspace switch)
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
Class ilPortfolioExerciseGUI.

References ILIAS\Repository\ctrl(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), ILIAS\Repository\object(), and ILIAS\UI\examples\Symbol\Glyph\Preview\preview().

+ Here is the call graph for this function:

◆ getCreateInfoMessage()

ilObjPortfolioGUI::getCreateInfoMessage ( )
protected

Definition at line 308 of file class.ilObjPortfolioGUI.php.

308 : string
309 {
310 global $DIC;
311
312 $ui = $DIC->ui();
313 $ilSetting = $DIC->settings();
314
315 $message = "";
316 return $message;
317 }

References $DIC, and $ilSetting.

◆ getCreationForm()

ilObjPortfolioGUI::getCreationForm ( )
protected

Definition at line 319 of file class.ilObjPortfolioGUI.php.

320 {
322 $this->ctrl->setParameter($this, "new_type", $this->getType());
323
324 return $this->gui->form([static::class], "save")
325 ->section("prop", $this->lng->txt("prtf_create_portfolio"))
326 ->addStdTitle(
327 0,
328 "prtf"
329 );
330 }
getType()
Functions that must be overwritten.

References $ilSetting, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ getOfflineMessage()

ilObjPortfolioGUI::getOfflineMessage ( )
protected

Get offline message for sharing tab.

Definition at line 825 of file class.ilObjPortfolioGUI.php.

825 : string
826 {
827 $ui = $this->ui;
830
831 if ($this->object->getOfflineStatus()) {
832 $f = $ui->factory();
833 $renderer = $ui->renderer();
834
835 $buttons = [$f->button()->standard(
836 $lng->txt("prtf_set_online"),
837 $ctrl->getLinkTarget($this, "setOnlineAndShare")
838 )];
839
840 return $renderer->render($f->messageBox()->info($lng->txt("prtf_no_offline_share_info"))
841 ->withButtons($buttons));
842 }
843 return "";
844 }
$renderer
getLinkTarget(object $a_gui_obj, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
@inheritDoc
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...

References Vendor\Package\$f, $lng, $renderer, and ILIAS\Repository\object().

+ Here is the call graph for this function:

◆ getPageGUIClassName()

ilObjPortfolioGUI::getPageGUIClassName ( )

Reimplemented from ilObjPortfolioBaseGUI.

Definition at line 458 of file class.ilObjPortfolioGUI.php.

458 : string
459 {
460 return "ilportfoliopagegui";
461 }

◆ getPageGUIInstance()

ilObjPortfolioGUI::getPageGUIInstance ( int  $a_page_id)
protected

Get portfolio template page gui instance.

Reimplemented from ilObjPortfolioBaseGUI.

Definition at line 444 of file class.ilObjPortfolioGUI.php.

447 $page_gui = new ilPortfolioPageGUI(
448 $this->object->getId(),
449 $a_page_id,
450 0,
451 $this->object->hasPublicComments()
452 );
453 $page_gui->setStyleId($this->content_style_domain->getEffectiveStyleId());
454 $page_gui->setAdditional($this->getAdditional());
455 return $page_gui;
456 }
Portfolio page gui class.

◆ getPageInstance()

ilObjPortfolioGUI::getPageInstance ( ?int  $a_page_id = null,
?int  $a_portfolio_id = null 
)
protected

Get portfolio template page instance.

Reimplemented from ilObjPortfolioBaseGUI.

Definition at line 428 of file class.ilObjPortfolioGUI.php.

432 // #11531
433 if (!$a_portfolio_id && $this->object) {
434 $a_portfolio_id = $this->object->getId();
435 }
436 $page = new ilPortfolioPage((int) $a_page_id);
437 $page->setPortfolioId($a_portfolio_id);
438 return $page;
439 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getSkillsToPortfolioAssignment()

ilObjPortfolioGUI::getSkillsToPortfolioAssignment ( array  $a_pskills,
array  $a_skill_ids,
ilPortfolioTemplatePage  $a_source_page 
)

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

788 : array {
789 $dom = $a_source_page->getDomDoc();
790 $xpath = new DOMXPath($dom);
791 $nodes = $xpath->query("//PageContent/Skills");
792 foreach ($nodes as $node) {
793 $skill_id = $node->getAttribute("Id");
794 if (!in_array($skill_id, $a_pskills)) {
795 $a_skill_ids[] = $skill_id;
796 }
797 }
798 unset($nodes, $xpath, $dom);
799
800 return $a_skill_ids;
801 }
getDomDoc()
Get dom doc (DOMDocument)

◆ getType()

ilObjPortfolioGUI::getType ( )

Functions that must be overwritten.

Reimplemented from ilObject2GUI.

Definition at line 59 of file class.ilObjPortfolioGUI.php.

59 : string
60 {
61 return "prtf";
62 }

◆ initCopyPageFormOptions()

ilObjPortfolioGUI::initCopyPageFormOptions ( ilPropertyFormGUI  $a_form)
protected

Reimplemented from ilObjPortfolioBaseGUI.

Definition at line 463 of file class.ilObjPortfolioGUI.php.

463 : void
464 {
465 $a_tgt = new ilRadioGroupInputGUI($this->lng->txt("target"), "target");
466 $a_tgt->setRequired(true);
467 $a_form->addItem($a_tgt);
468
469 $old = new ilRadioOption($this->lng->txt("prtf_existing_portfolio"), "old");
470 $a_tgt->addOption($old);
471
472 $options = array();
473 $all = ilObjPortfolio::getPortfoliosOfUser($this->user_id);
474 foreach ($all as $item) {
475 $options[$item["id"]] = $item["title"];
476 }
477 $prtf = new ilSelectInputGUI($this->lng->txt("portfolio"), "prtf");
478 $prtf->setRequired(true);
479 $prtf->setOptions($options);
480 $old->addSubItem($prtf);
481
482 $new = new ilRadioOption($this->lng->txt("prtf_new_portfolio"), "new");
483 $a_tgt->addOption($new);
484
485 $tf = new ilTextInputGUI($this->lng->txt("title"), "title");
486 $tf->setMaxLength(128);
487 $tf->setSize(40);
488 $tf->setRequired(true);
489 $new->addSubItem($tf);
490 }
static getPortfoliosOfUser(int $a_user_id)
Get portfolios of user.
This class represents a property in a property form.
This class represents an option in a radio group.
This class represents a selection list property in a property form.
This class represents a text property in a property form.

References ILIAS\UI\Implementation\Component\Input\Field\$options, ilPropertyFormGUI\addItem(), ilObjPortfolio\getPortfoliosOfUser(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ initCreateFromTemplateForm()

ilObjPortfolioGUI::initCreateFromTemplateForm ( )
protected

Definition at line 332 of file class.ilObjPortfolioGUI.php.

333 {
335
336 $this->ctrl->setParameter($this, "new_type", $this->getType());
337
338 $form = new ilPropertyFormGUI();
339 $form->setFormAction($this->ctrl->getFormAction($this));
340
341 // title
342 $ti = new ilTextInputGUI($this->lng->txt("title"), "title");
343 $ti->setSize(min(40, ilObject::TITLE_LENGTH));
344 $ti->setMaxLength(ilObject::TITLE_LENGTH);
345 $ti->setRequired(true);
346 $form->addItem($ti);
347
348 // portfolio templates
350 if (count($templates)) {
351 $tmpl = new ilSelectInputGUI($this->lng->txt("obj_prtt"), "prtt");
352 $tmpl->setRequired(true);
353 $tmpl->setOptions(array("" => $this->lng->txt("please_select")) + $templates);
354 $form->addItem($tmpl);
355
356 // incoming from repository
357 $template_id = $this->port_request->getPortfolioTemplateId();
358 if ($template_id > 0) {
359 $tmpl->setValue($template_id);
360 }
361 }
362
363 $form->setTitle($this->lng->txt("prtf_add_portfolio_from_template"));
364 $form->addCommandButton("saveFromTemplate", $this->lng->txt("create"));
365 $form->addCommandButton("toRepository", $this->lng->txt("cancel"));
366
367 return $form;
368 }
const TITLE_LENGTH
This class represents a property form user interface.

References $ilSetting, ILIAS\Repository\ctrl(), ilObjPortfolioTemplate\getAvailablePortfolioTemplates(), ILIAS\Repository\lng(), and ilObject\TITLE_LENGTH.

+ Here is the call graph for this function:

◆ initCreatePortfolioFromTemplateForm()

ilObjPortfolioGUI::initCreatePortfolioFromTemplateForm ( int  $a_prtt_id,
string  $a_title 
)
protected

Definition at line 522 of file class.ilObjPortfolioGUI.php.

527 $ilUser = $this->user;
528
529 $exc_id = $this->port_request->getExerciseRefId();
530 $ass_id = $this->port_request->getExcAssId();
531 if ($exc_id > 0) {
532 $this->ctrl->setParameter($this, "exc_id", $exc_id);
533 $this->ctrl->setParameter($this, "ass_id", $ass_id);
534 }
535
536 $form = new ilPropertyFormGUI();
537 $form->setFormAction($this->ctrl->getFormAction($this));
538
539 $tmpl = new ilNonEditableValueGUI($this->lng->txt("obj_prtt"));
540 $tmpl->setValue(ilObject::_lookupTitle($a_prtt_id));
541 $form->addItem($tmpl);
542
543 $title = new ilNonEditableValueGUI($this->lng->txt("title"), "pt");
544 $title->setValue($a_title);
545 $form->addItem($title);
546
547 $has_form_content = false;
548
549 $pskills = array_keys($this->skill_personal_service->getSelectedUserSkills($ilUser->getId()));
550 $skill_ids = array();
551
552 foreach (ilPortfolioTemplatePage::getAllPortfolioPages($a_prtt_id) as $page) {
553 switch ($page["type"]) {
555 // skills
556 $source_page = new ilPortfolioTemplatePage($page["id"]);
557 $source_page->buildDom(true);
558 $skill_ids = $this->getSkillsToPortfolioAssignment($pskills, $skill_ids, $source_page);
559
560 if (count($skill_ids)) {
561 $has_form_content = true;
562 }
563 break;
564 }
565 }
566
567 if ($skill_ids) {
568 $skills = new ilCheckboxGroupInputGUI($this->lng->txt("skills"), "skill_ids");
569 $skills->setInfo($this->lng->txt("prtf_template_import_new_skills"));
570 $skills->setValue($skill_ids);
571 foreach ($skill_ids as $skill_id) {
572 $skills->addOption(new ilCheckboxOption(ilSkillTreeNode::_lookupTitle($skill_id), $skill_id));
573 }
574 $form->addItem($skills);
575 }
576 // no dialog needed, go ahead
577 if (!$has_form_content) {
578 return null;
579 }
580
581 $form->setTitle($this->lng->txt("prtf_creation_mode") . ": " . $this->lng->txt("prtf_creation_mode_template"));
582 $form->addCommandButton("createPortfolioFromTemplateProcess", $this->lng->txt("continue"));
583 $form->addCommandButton("toRepository", $this->lng->txt("cancel"));
584
585 return $form;
586 }
This class represents a property in a property form.
This class represents an option in a checkbox group.
This class represents a non editable value in a property form.
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)

References $ass_id, and ILIAS\Repository\ctrl().

+ Here is the call graph for this function:

◆ linkPortfolioToAssignment()

ilObjPortfolioGUI::linkPortfolioToAssignment ( int  $a_target_id)

Definition at line 762 of file class.ilObjPortfolioGUI.php.

762 : void
763 {
764 $ilAccess = $this->access;
765 $ilUser = $this->user;
766
767 $exc_ref_id = $this->port_request->getExerciseRefId();
768 $ass_id = $this->port_request->getExcAssId();
769
770 if ($exc_ref_id &&
771 $ass_id &&
772 $ilAccess->checkAccess("read", "", $exc_ref_id)) {
773 $exc = new ilObjExercise($exc_ref_id);
774 $ass = new ilExAssignment($ass_id);
775 if ($ass->getExerciseId() === $exc->getId() &&
776 $ass->getType() === ilExAssignment::TYPE_PORTFOLIO) {
777 // #16205
778 $sub = new ilExSubmission($ass, $ilUser->getId());
779 $sub->addResourceObject($a_target_id);
780 }
781 }
782 }
Exercise submission //TODO: This class has many static methods related to delivered "files".
Class ilObjExercise.
ilAccessHandler $access

References $ass_id, and ilExAssignment\TYPE_PORTFOLIO.

◆ printSelection()

ilObjPortfolioGUI::printSelection ( )
Exceptions

ILIAS\HTTP\Response\Sender\ResponseSendingException

Definition at line 806 of file class.ilObjPortfolioGUI.php.

806 : void
807 {
808 $view = $this->getPrintView();
809 $view->sendForm();
810 }

◆ save()

ilObjPortfolioGUI::save ( )

Reimplemented from ilObject2GUI.

Definition at line 370 of file class.ilObjPortfolioGUI.php.

370 : void
371 {
372 $form = $this->getCreationForm();
373 if ($form->isValid()) {
374 $port = new ilObjPortfolio();
375 $port->setTitle($form->getData("title"));
376 $port->create();
377 $this->ctrl->setParameter($this, "prt_id", $port->getId());
378 $this->ctrl->redirect($this, "view");
379 }
380 $this->tpl->setContent($form->render());
381 }

References ILIAS\Repository\ctrl().

+ Here is the call graph for this function:

◆ saveFromTemplate()

ilObjPortfolioGUI::saveFromTemplate ( )

Definition at line 383 of file class.ilObjPortfolioGUI.php.

383 : void
384 {
385 $form = $this->initCreateFromTemplateForm();
386 // trigger portfolio template "import" process
387 if ($form->checkInput()) {
389 $form->getInput("title"),
390 $this->port_request->getPortfolioTemplate()
391 );
392 return;
393 } else {
394 $form->setValuesByPost();
395 $this->tpl->setContent($form->getHTML());
396 }
397 }
createFromTemplateDirect(string $title="", int $prtt_id=0)
Create portfolio template direct.

◆ setOnlineAndShare()

ilObjPortfolioGUI::setOnlineAndShare ( )
protected

Set online and switch to share screen.

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

849 : void
850 {
851 $ilCtrl = $this->ctrl;
853
854 if (ilObjPortfolio::_lookupOwner($this->object->getId()) === $this->user_id) {
855 $this->object->setOfflineStatus(false);
856 $this->object->update();
857 $this->tpl->setOnScreenMessage('success', $lng->txt("prtf_has_been_set_online"), true);
858 }
859 $ilCtrl->redirectByClass("ilworkspaceaccessgui", "");
860 }
static _lookupOwner(int $obj_id)
Lookup owner user ID for object ID.

References $lng, ilObject\_lookupOwner(), and ILIAS\Repository\object().

+ Here is the call graph for this function:

◆ setTabs()

ilObjPortfolioGUI::setTabs ( )
protected

create tabs (repository/workspace switch)

this had to be moved here because of the context-specific permission tab

Reimplemented from ilObject2GUI.

Definition at line 188 of file class.ilObjPortfolioGUI.php.

188 : void
189 {
190 $ilHelp = $this->help;
191
192 $ilHelp->setScreenIdComponent("prtf");
193
194 if ($this->checkPermissionBool("write")) {
195 $this->tabs_gui->addTab(
196 "pages",
197 $this->lng->txt("content"),
198 $this->ctrl->getLinkTarget($this, "view")
199 );
200
201 $this->tabs_gui->addTab(
202 "settings",
203 $this->lng->txt("settings"),
204 $this->ctrl->getLinkTargetByClass(SettingsGUI::class)
205 );
206
207 $this->tabs_gui->addNonTabbedLink(
208 "preview",
209 $this->lng->txt("preview"),
210 $this->ctrl->getLinkTarget($this, "preview")
211 );
212
213 $this->lng->loadLanguageModule("wsp");
214 $this->tabs_gui->addTab(
215 "share",
216 $this->lng->txt("wsp_permissions"),
217 $this->ctrl->getLinkTargetByClass("ilworkspaceaccessgui", "share")
218 );
219 }
220 }
setScreenIdComponent(string $a_comp)

References ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ setTitleAndDescription()

ilObjPortfolioGUI::setTitleAndDescription ( )
protected

Reimplemented from ilObject2GUI.

Definition at line 233 of file class.ilObjPortfolioGUI.php.

233 : void
234 {
235 // parent::setTitleAndDescription();
236
237 $title = $this->lng->txt("portfolio");
238 if ($this->object) {
239 $title .= ": " . $this->object->getTitle();
240 }
241 $this->tpl->setTitle($title);
242 $this->tpl->setTitleIcon(
243 ilUtil::getImagePath("standard/icon_prtf.svg"),
244 $this->lng->txt("portfolio")
245 );
246
247 if ($this->object &&
248 $this->object->getOfflineStatus()) {
249 $this->tpl->setAlertProperties(array(
250 array("alert" => true,
251 "property" => $this->lng->txt("status"),
252 "value" => $this->lng->txt("offline"))
253 ));
254 }
255 }
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)

References ilUtil\getImagePath(), ILIAS\Repository\lng(), and ILIAS\Repository\object().

+ Here is the call graph for this function:

◆ showPrintView()

ilObjPortfolioGUI::showPrintView ( )
Parameters
bool$a_dev_mode
Exceptions

ILIAS\HTTP\Response\Sender\ResponseSendingException

Definition at line 816 of file class.ilObjPortfolioGUI.php.

817 : void {
818 $printview = $this->getPrintView();
819 $printview->sendPrintView();
820 }

◆ toRepository()

ilObjPortfolioGUI::toRepository ( )
protected

Definition at line 406 of file class.ilObjPortfolioGUI.php.

406 : void
407 {
408 $ilAccess = $this->access;
409
410 // return to exercise (portfolio assignment)
411 $exc_ref_id = $this->port_request->getExerciseRefId();
412 if ($exc_ref_id &&
413 $ilAccess->checkAccess("read", "", $exc_ref_id)) {
414 ilUtil::redirect(ilLink::_getLink($exc_ref_id, "exc"));
415 }
416
417 $this->ctrl->redirectByClass("ilportfoliorepositorygui", "show");
418 }
static redirect(string $a_script)

References ILIAS\Repository\ctrl(), and ilUtil\redirect().

+ Here is the call graph for this function:

◆ triggerAssignmentTool()

ilObjPortfolioGUI::triggerAssignmentTool ( )
protected

Definition at line 170 of file class.ilObjPortfolioGUI.php.

170 : void
171 {
172 if (!is_object($this->object) || $this->object->getId() <= 0) {
173 return;
174 }
175 $pe = new ilPortfolioExercise($this->user_id, $this->object->getId());
176 $pe_gui = new ilPortfolioExerciseGUI($this->user_id, $this->object->getId());
177 $assignments = $pe->getAssignmentsOfPortfolio();
178 if (count($assignments) > 0) {
179 $ass_ids = array_map(static function ($i) {
180 return $i["ass_id"];
181 }, $assignments);
182 $this->tool_context->current()->addAdditionalData(ilExerciseGSToolProvider::SHOW_EXC_ASSIGNMENT_INFO, true);
183 $this->tool_context->current()->addAdditionalData(ilExerciseGSToolProvider::EXC_ASS_IDS, $ass_ids);
184 $this->tool_context->current()->addAdditionalData(ilExerciseGSToolProvider::EXC_ASS_BUTTONS, $pe_gui->getActionButtons());
185 }
186 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References ilExerciseGSToolProvider\EXC_ASS_BUTTONS, ilExerciseGSToolProvider\EXC_ASS_IDS, ILIAS\Repository\object(), and ilExerciseGSToolProvider\SHOW_EXC_ASSIGNMENT_INFO.

+ Here is the call graph for this function:

Field Documentation

◆ $declaration_authorship

ilPortfolioDeclarationOfAuthorship ilObjPortfolioGUI::$declaration_authorship
protected

Definition at line 34 of file class.ilObjPortfolioGUI.php.

◆ $notes_gui

ILIAS Notes GUIService ilObjPortfolioGUI::$notes_gui
protected

Definition at line 31 of file class.ilObjPortfolioGUI.php.

◆ $skill_personal_service

ILIAS Skill Service SkillPersonalService ilObjPortfolioGUI::$skill_personal_service
protected

Definition at line 35 of file class.ilObjPortfolioGUI.php.

◆ $tool_context

ContextServices ilObjPortfolioGUI::$tool_context
protected

Definition at line 33 of file class.ilObjPortfolioGUI.php.

◆ $ws_access

ilWorkspaceAccessHandler ilObjPortfolioGUI::$ws_access
protected

Definition at line 32 of file class.ilObjPortfolioGUI.php.


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