39 $this->
lng = $DIC->language();
40 $this->
help = $DIC[
"ilHelp"];
42 $this->
access = $DIC->access();
43 $this->
user = $DIC->user();
44 $this->
ctrl = $DIC->ctrl();
45 $this->
ui = $DIC->ui();
47 $this->tool_context =
$DIC->globalScreen()->tool()->context();
52 $this->
ctrl->saveParameter($this,
"exc_back_ref_id");
53 $this->notes_gui =
$DIC->notes()->gui();
67 if ($perm ===
"create") {
73 return $this->access_handler->checkAccess($perm,
"",
$node_id);
78 $this->checkPermission(
"read");
79 $this->setTitleAndDescription();
81 $next_class = $this->
ctrl->getNextClass($this);
82 $cmd = $this->
ctrl->getCmd(
"view");
86 $this->notes_gui->initJavascript(
87 $this->
ctrl->getLinkTargetByClass(
97 $this->triggerAssignmentTool();
98 switch ($next_class) {
99 case "ilworkspaceaccessgui":
100 if ($this->checkPermissionBool(
"write")) {
102 $this->tabs_gui->activateTab(
"share");
104 $this->tpl->setPermanentLink(
"prtf", $this->
object->getId());
107 $wspacc->setBlockingMessage($this->getOfflineMessage());
108 $this->
ctrl->forwardCommand($wspacc);
112 case 'ilportfoliopagegui':
113 if ($this->determinePageCall()) {
117 $this->handlePageCall($cmd);
124 case "ilcommonactiondispatchergui":
127 $this->
ctrl->forwardCommand($gui);
155 case "ilobjectcontentstylesettingsgui":
156 $this->checkPermission(
"write");
159 $this->tabs_gui->activateTab(
"settings");
160 $this->setSettingsSubTabs(
"style");
161 $settings_gui = $this->content_style_gui
162 ->objectSettingsGUIForObjId(
166 $this->
ctrl->forwardCommand($settings_gui);
169 case "ilportfolioexercisegui":
170 $this->
ctrl->setReturn($this,
"view");
172 $this->
ctrl->forwardCommand($gui);
177 if ($cmd !==
"preview") {
188 if (!is_object($this->
object) || $this->
object->getId() <= 0) {
193 $assignments = $pe->getAssignmentsOfPortfolio();
194 if (count($assignments) > 0) {
195 $ass_ids = array_map(
static function (
$i) {
206 $ilHelp = $this->help;
208 $ilHelp->setScreenIdComponent(
"prtf");
210 if ($this->checkPermissionBool(
"write")) {
211 $this->tabs_gui->addTab(
213 $this->
lng->txt(
"content"),
214 $this->ctrl->getLinkTarget($this,
"view")
217 $this->tabs_gui->addTab(
219 $this->
lng->txt(
"settings"),
220 $this->ctrl->getLinkTarget($this,
"edit")
223 $this->tabs_gui->addNonTabbedLink(
225 $this->
lng->txt(
"preview"),
226 $this->ctrl->getLinkTarget($this,
"preview")
229 $this->
lng->loadLanguageModule(
"wsp");
230 $this->tabs_gui->addTab(
232 $this->
lng->txt(
"wsp_permissions"),
233 $this->ctrl->getLinkTargetByClass(
"ilworkspaceaccessgui",
"share")
240 if (!$this->creation_mode) {
241 $this->
ctrl->setParameter($this,
"prt_id", $this->
object->getId());
244 $this->addLocatorItems();
246 $this->tpl->setLocator();
253 $title = $this->
lng->txt(
"portfolio");
255 $title .=
": " . $this->
object->getTitle();
257 $this->tpl->setTitle($title);
258 $this->tpl->setTitleIcon(
260 $this->
lng->txt(
"portfolio")
264 !$this->
object->isOnline()) {
265 $this->tpl->setAlertProperties(array(
266 array(
"alert" =>
true,
267 "property" => $this->
lng->txt(
"status"),
268 "value" => $this->lng->txt(
"offline"))
283 $new_type = $this->port_request->getNewType();
286 $this->
ctrl->saveParameter($this,
"crtptrefid");
288 $this->
ctrl->saveParameter($this,
"crtcb");
290 if (!$this->checkPermissionBool(
"create",
"", $new_type)) {
291 $ilErr->raiseError($this->
lng->txt(
"permission_denied"),
$ilErr->MESSAGE);
293 $this->
lng->loadLanguageModule($new_type);
294 $this->
ctrl->setParameter($this,
"new_type", $new_type);
296 $forms = $this->initCreationForms($new_type);
299 if ($this->port_request->getCopyFormProcess() && isset($forms[self::CFORM_CLONE])) {
300 $forms = array(self::CFORM_CLONE => $forms[self::CFORM_CLONE]);
302 $tpl->setContent($this->getCreateInfoMessage() . $this->getCreationFormsHTML($forms));
318 $root = $tree->readRootId();
320 $root = $tree->getNodeData($root);
321 foreach ($tree->getSubTree($root) as $node) {
322 if ($node[
"type"] ==
"blog") {
323 $options[$node[
"obj_id"]] = $node[
"title"];
328 if (!count($options)) {
331 $this->
lng->loadLanguageModule(
'pd');
332 $url = $this->
ctrl->getLinkTargetByClass(
"ilDashboardGUI",
"jumpToWorkspace");
333 $text = $this->
lng->txt(
"mm_personal_and_shared_r");
335 $text = sprintf($this->
lng->txt(
"prtf_no_blogs_info"), $text);
337 $mbox = $ui->factory()->messageBox()->info($text)
338 ->withLinks([$ui->factory()->link()->standard(
339 $this->lng->txt(
"mm_personal_and_shared_r"),
343 $message = $ui->renderer()->render($mbox);
352 return array(self::CFORM_NEW => $this->initCreateForm($new_type));
359 $this->
ctrl->setParameter($this,
"new_type", $this->getType());
362 $form->setFormAction($this->
ctrl->getFormAction($this));
368 $ti->setRequired(
true);
372 $main->setValue(
"mode_scratch");
373 $form->addItem($main);
375 $opt_scratch =
new ilRadioOption($this->
lng->txt(
"prtf_creation_mode_scratch"),
"mode_scratch");
376 $main->addOption($opt_scratch);
382 $type->setRequired(
true);
383 $opt_scratch->addSubItem(
$type);
386 $type->addOption($type_page);
390 $tf->setMaxLength(128);
392 $tf->setRequired(
true);
393 $type_page->addSubItem($tf);
398 $options = array(0 => $this->
lng->txt(
"none"));
399 foreach ($templates as $templ) {
400 $templ->readObject();
401 $options[$templ->getId()] = $templ->getTitle();
405 $use_template->setRequired(
true);
406 $use_template->setOptions($options);
407 $type_page->addSubItem($use_template);
414 $root = $tree->readRootId();
416 $root = $tree->getNodeData($root);
417 foreach ($tree->getSubTree($root) as $node) {
418 if ($node[
"type"] ==
"blog") {
419 $options[$node[
"obj_id"]] = $node[
"title"];
424 if (count($options)) {
426 $type->addOption($type_blog);
429 $obj->setRequired(
true);
430 $obj->setOptions(array(
"" => $this->
lng->txt(
"please_select")) + $options);
431 $type_blog->addSubItem($obj);
433 $type->setValue(
"page");
440 $opt_tmpl =
new ilRadioOption($this->
lng->txt(
"prtf_creation_mode_template"),
"mode_tmpl");
441 $main->addOption($opt_tmpl);
444 if (!count($templates)) {
445 $opt_tmpl->setDisabled(
true);
448 $tmpl->setRequired(
true);
449 $tmpl->setOptions(array(
"" => $this->
lng->txt(
"please_select")) + $templates);
450 $opt_tmpl->addSubItem($tmpl);
453 $template_id = $this->port_request->getPortfolioTemplateId();
454 if ($template_id > 0) {
455 $tmpl->setValue($template_id);
456 $main->setValue(
"mode_tmpl");
461 $form->setTitle($this->
lng->txt(
"prtf_create_portfolio"));
462 $form->addCommandButton(
"save", $this->
lng->txt(
"create"));
463 $form->addCommandButton(
"toRepository", $this->
lng->txt(
"cancel"));
470 $form = $this->initCreateForm(
"prtf");
472 if ($form->checkInput() && $form->getInput(
"mode") ==
"mode_tmpl") {
473 $this->createFromTemplateDirect(
474 $form->getInput(
"title"),
475 $this->port_request->getPortfolioTemplate()
486 $page = $this->getPageInstance(
null, $new_object->
getId());
487 if ($this->port_request->getPageType() ===
"page") {
489 $page->setTitle($this->port_request->getPageTitle());
492 $layout_id = $this->port_request->getTemplateId();
495 $page->setXMLContent($layout_obj->getXMLContent());
499 $page->setTitle($this->port_request->getBlogTitle());
503 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"prtf_portfolio_created"),
true);
504 $this->
ctrl->setParameter($this,
"prt_id", $new_object->
getId());
505 $this->
ctrl->redirect($this,
"view");
510 $ilAccess = $this->access;
513 $exc_ref_id = $this->port_request->getExerciseRefId();
515 $ilAccess->checkAccess(
"read",
"", $exc_ref_id)) {
519 $this->
ctrl->redirectByClass(
"ilportfoliorepositorygui",
"show");
525 $form->setFormAction($this->
ctrl->getFormAction($this));
531 $ti->setRequired(
true);
532 $ti->setValue($this->
object->getTitle());
545 $online->setChecked($this->
object->isOnline());
546 $form->addItem($online);
548 $this->initEditCustomForm($form);
550 $form->setTitle($this->
lng->txt(
"prtf_edit_portfolio"));
551 $form->addCommandButton(
"update", $this->
lng->txt(
"save"));
552 $form->addCommandButton(
"view", $this->
lng->txt(
"cancel"));
559 $a_values[
"online"] = $this->
object->isOnline();
561 parent::getEditFormCustomValues($a_values);
566 $this->
object->setOnline($form->
getInput(
"online"));
573 parent::updateCustom($form);
585 ?
int $a_page_id =
null,
586 ?
int $a_portfolio_id =
null
589 if (!$a_portfolio_id && $this->
object) {
590 $a_portfolio_id = $this->
object->getId();
593 $page->setPortfolioId($a_portfolio_id);
607 $this->
object->hasPublicComments()
609 $page_gui->
setStyleId($this->content_style_domain->getEffectiveStyleId());
610 $page_gui->setAdditional($this->getAdditional());
616 return "ilportfoliopagegui";
622 $a_tgt->setRequired(
true);
625 $old =
new ilRadioOption($this->
lng->txt(
"prtf_existing_portfolio"),
"old");
626 $a_tgt->addOption($old);
630 foreach ($all as $item) {
631 $options[$item[
"id"]] = $item[
"title"];
634 $prtf->setRequired(
true);
635 $prtf->setOptions($options);
636 $old->addSubItem($prtf);
639 $a_tgt->addOption($new);
642 $tf->setMaxLength(128);
644 $tf->setRequired(
true);
645 $new->addSubItem($tf);
656 $form->setFormAction($this->
ctrl->getFormAction($this));
660 $root = $tree->readRootId();
662 $root = $tree->getNodeData($root);
663 foreach ($tree->getSubTree($root,
true, [
"blog"]) as $node) {
664 $options[$node[
"obj_id"]] = $node[
"title"];
671 $radg->setInfo($this->
lng->txt(
""));
672 $radg->setValue(
"new");
673 $radg->setInfo($this->
lng->txt(
""));
675 $op1 =
new ilRadioOption($this->
lng->txt(
"prtf_add_new_blog"),
"new", $this->lng->txt(
"prtf_add_new_blog_info"));
676 $radg->addOption($op1);
677 $form->addItem($radg);
681 $ti->setRequired(
true);
682 $op1->addSubItem($ti);
685 if (count($options)) {
686 $op2 =
new ilRadioOption($this->
lng->txt(
"prtf_add_existing_blog"),
"existing");
687 $radg->addOption($op2);
690 $obj->setOptions($options);
691 $op2->addSubItem($obj);
694 $form->setTitle($this->
lng->txt(
"prtf_add_blog") .
": " .
695 $this->object->getTitle());
696 $form->addCommandButton(
"saveBlog", $this->
lng->txt(
"save"));
697 $form->addCommandButton(
"view", $this->
lng->txt(
"cancel"));
711 $form = $this->initBlogForm();
712 if ($form->checkInput() && $this->checkPermissionBool(
"write")) {
713 if ($form->getInput(
"creation_mode") ==
"existing") {
714 $page = $this->getPageInstance();
716 $page->setTitle($form->getInput(
"blog"));
719 $blog->setTitle($form->getInput(
"title"));
726 if (!$tree->getRootId()) {
727 $tree->createTreeForUser(
$ilUser->getId());
731 $node_id = $tree->insertObject($tree->readRootId(), $blog->getId());
732 $access_handler->setPermissions($tree->readRootId(), $node_id);
734 $page = $this->getPageInstance();
736 $page->setTitle($blog->getId());
738 $page->create(
false);
740 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"prtf_blog_page_created"),
true);
741 $this->
ctrl->redirect($this,
"view");
744 $this->tabs_gui->clearTargets();
745 $this->tabs_gui->setBackTarget(
746 $this->
lng->txt(
"back"),
747 $this->ctrl->getLinkTarget($this,
"view")
750 $form->setValuesByPost();
751 $this->tpl->setContent($form->getHTML());
762 $title = $this->port_request->getPortfolioTitle();
763 $prtt_id = $this->port_request->getPortfolioTemplate();
767 if (!count($templates) || !in_array($prtt_id, $templates)) {
768 $this->toRepository();
772 $this->
ctrl->setParameter($this,
"prtt", $prtt_id);
775 $a_form = $this->initCreatePortfolioFromTemplateForm($prtt_id, $title);
778 $this->tpl->setContent($a_form->getHTML());
780 $this->createPortfolioFromTemplateProcess(
false);
793 $exc_id = $this->port_request->getExerciseRefId();
794 $ass_id = $this->port_request->getExcAssId();
796 $this->
ctrl->setParameter($this,
"exc_id", $exc_id);
797 $this->
ctrl->setParameter($this,
"ass_id", $ass_id);
801 $form->setFormAction($this->
ctrl->getFormAction($this));
805 $form->addItem($tmpl);
808 $title->setValue($a_title);
809 $form->addItem($title);
813 $blog_options = array();
815 $root = $tree->readRootId();
817 $root = $tree->getNodeData($root);
818 foreach ($tree->getSubTree($root,
true, [
"blog"]) as $node) {
819 $blog_options[$node[
"obj_id"]] = $node[
"title"];
821 asort($blog_options);
825 $has_form_content =
false;
828 $skill_ids = array();
831 switch ($page[
"type"]) {
835 $source_page->buildDom(
true);
836 $skill_ids = $this->getSkillsToPortfolioAssignment($pskills, $skill_ids, $source_page);
838 if (count($skill_ids)) {
839 $has_form_content =
true;
845 $has_form_content =
true;
847 $field_id =
"blog_" . $page[
"id"];
850 $page[
"title"], $field_id);
851 $blog->setRequired(
true);
852 $blog->setValue(
"blog_create");
853 $form->addItem($blog);
855 $new_blog =
new ilRadioOption($this->
lng->txt(
"prtf_template_import_blog_create"),
"blog_create");
856 $blog->addOption($new_blog);
858 $title =
new ilTextInputGUI($this->
lng->txt(
"title"), $field_id .
"_create_title");
859 $title->setRequired(
true);
860 $new_blog->addSubItem($title);
862 if (count($blog_options)) {
863 $reuse_blog =
new ilRadioOption($this->
lng->txt(
"prtf_template_import_blog_reuse"),
"blog_resuse");
864 $blog->addOption($reuse_blog);
867 $obj->setRequired(
true);
868 $obj->setOptions(array(
"" => $this->
lng->txt(
"please_select")) + $blog_options);
869 $reuse_blog->addSubItem($obj);
872 $blog->addOption(
new ilRadioOption($this->
lng->txt(
"prtf_template_import_blog_ignore"),
"blog_ignore"));
880 $skills->setInfo($this->
lng->txt(
"prtf_template_import_new_skills"));
881 $skills->setValue($skill_ids);
882 foreach ($skill_ids as $skill_id) {
885 $form->addItem($skills);
888 if (!$has_form_content) {
892 $form->setTitle($this->
lng->txt(
"prtf_creation_mode") .
": " . $this->lng->txt(
"prtf_creation_mode_template"));
893 $form->addCommandButton(
"createPortfolioFromTemplateProcess", $this->
lng->txt(
"continue"));
894 $form->addCommandButton(
"toRepository", $this->
lng->txt(
"cancel"));
900 bool $a_process_form =
true
904 $title = $this->port_request->getPortfolioTitle();
905 $prtt_id = $this->port_request->getPortfolioTemplate();
909 if (!count($templates) || !in_array($prtt_id, $templates)) {
910 $this->toRepository();
916 if ($a_process_form) {
917 $this->
ctrl->setParameter($this,
"prtt", $prtt_id);
919 $form = $this->initCreatePortfolioFromTemplateForm($prtt_id, $title);
920 if ($form->checkInput()) {
923 $field_id =
"blog_" . $page[
"id"];
924 switch ($form->getInput($field_id)) {
926 $recipe[$page[
"id"]] = array(
"blog",
928 trim($form->getInput($field_id .
"_create_title"))
933 $recipe[$page[
"id"]] = array(
"blog",
935 (
int) $form->getInput($field_id .
"_reuse_blog")
940 $recipe[$page[
"id"]] = array(
"blog",
"ignore");
946 $recipe[
"skills"] = (array) $form->getInput(
"skill_ids");
948 $form->setValuesByPost();
949 $this->createPortfolioFromTemplate($form);
958 $target->setTitle($title);
967 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"prtf_portfolio_created_from_template"),
true);
969 $this->
ctrl->redirect($this,
"preview");
979 if ($prtt_id === 0) {
980 $prtt_id = $this->port_request->getPortfolioTemplateId();
988 if (!count($templates) || !in_array($prtt_id, $templates)) {
989 $this->toRepository();
997 $target->setTitle($title);
1006 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"prtf_portfolio_created_from_template"),
true);
1008 $this->
ctrl->redirect($this,
"preview");
1012 public static function _goto(
string $a_target): void
1016 $ctrl =
$DIC->ctrl();
1018 $id = explode(
"_", $a_target);
1020 $ctrl->setParameterByClass(
"ilobjportfoliogui",
"prt_id",
$id[0]);
1021 if (count(
$id) === 2) {
1022 $ctrl->setParameterByClass(
"ilobjportfoliogui",
"user_page",
$id[1]);
1024 $ctrl->redirectByClass([
"ilsharedresourceGUI",
"ilobjportfoliogui"],
"preview");
1034 $title = $this->port_request->getPortfolioTitle();
1035 $prtt_id = $this->port_request->getPortfolioTemplate();
1038 $ass_template_id = 0;
1039 $ass_id = $this->port_request->getExcAssId();
1047 if (!count($templates) || !in_array($prtt_id, $templates)) {
1048 if ($ass_template_id !== $prtt_id) {
1049 $this->toRepository();
1055 $skill_ids = array();
1059 switch ($page[
"type"]) {
1062 $recipe[$page[
"id"]] = array(
"blog",
"create", $page[
'title']);
1067 $source_page->buildDom(
true);
1068 $skill_ids = $this->getSkillsToPortfolioAssignment($pskills, $skill_ids, $source_page);
1074 $recipe[
"skills"] = $skill_ids;
1080 $target->setTitle($title);
1090 $this->linkPortfolioToAssignment(
$target_id);
1094 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"prtf_portfolio_created_from_template"),
true);
1095 $this->
ctrl->redirect($this,
"preview");
1097 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"prtf_portfolio_created"),
true);
1098 $this->
ctrl->redirect($this,
"view");
1104 $ilAccess = $this->access;
1107 $exc_ref_id = $this->port_request->getExerciseRefId();
1108 $ass_id = $this->port_request->getExcAssId();
1112 $ilAccess->checkAccess(
"read",
"", $exc_ref_id)) {
1115 if ($ass->getExerciseId() === $exc->getId() &&
1119 $sub->addResourceObject($a_target_id);
1129 $dom = $a_source_page->getDom();
1131 $dom = $dom->myDOMDocument;
1133 $xpath =
new DOMXPath($dom);
1134 $nodes = $xpath->query(
"//PageContent/Skills");
1135 foreach ($nodes as $node) {
1136 $skill_id = $node->getAttribute(
"Id");
1137 if (!in_array($skill_id, $a_pskills)) {
1138 $a_skill_ids[] = $skill_id;
1141 unset($nodes, $xpath, $dom);
1143 return $a_skill_ids;
1151 $view = $this->getPrintView();
1161 $printview = $this->getPrintView();
1162 $printview->sendPrintView();
1172 $ctrl = $this->ctrl;
1174 if (!$this->
object->isOnline()) {
1175 $f = $ui->factory();
1176 $renderer = $ui->renderer();
1178 $buttons = [
$f->button()->standard(
1179 $lng->txt(
"prtf_set_online"),
1180 $ctrl->getLinkTarget($this,
"setOnlineAndShare")
1183 return $renderer->render(
$f->messageBox()->info(
$lng->txt(
"prtf_no_offline_share_info"))
1184 ->withButtons($buttons));
1194 $ilCtrl = $this->ctrl;
1198 $this->
object->setOnline(
true);
1199 $this->
object->update();
1200 $this->tpl->setOnScreenMessage(
'success',
$lng->txt(
"prtf_has_been_set_online"),
true);
1202 $ilCtrl->redirectByClass(
"ilworkspaceaccessgui",
"");
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _getLink(?int $a_ref_id, string $a_type='', array $a_params=array(), string $append="")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Portfolio view gui base class.
static clonePagesAndSettings(ilObjPortfolioBase $a_source, ilObjPortfolioBase $a_target, ?array $a_recipe=null, bool $copy_all=false)
Build template from portfolio and vice versa.
Portfolio view gui class.
getPageInstance(?int $a_page_id=null, ?int $a_portfolio_id=null)
Get portfolio template page instance.
setOnlineAndShare()
Set online and switch to share screen.
linkPortfolioToAssignment(int $a_target_id)
getType()
Functions that must be overwritten.
initCreatePortfolioFromTemplateForm(int $a_prtt_id, string $a_title)
getOfflineMessage()
Get offline message for sharing tab.
getPageGUIInstance(int $a_page_id)
Get portfolio template page gui instance.
updateCustom(ilPropertyFormGUI $form)
Insert custom update form values into object.
executeCommand()
execute command
initCreationForms(string $new_type)
Init creation forms.
ilPortfolioDeclarationOfAuthorship $declaration_authorship
initCreateForm(string $new_type)
saveBlog()
Create new portfolio blog page.
createPortfolioFromAssignment()
ILIAS Notes GUIService $notes_gui
getSkillsToPortfolioAssignment(array $a_pskills, array $a_skill_ids, ilPortfolioTemplatePage $a_source_page)
ContextServices $tool_context
getEditFormCustomValues(array &$a_values)
Add values to custom edit fields.
createPortfolioFromTemplate(ilPropertyFormGUI $a_form=null)
afterSave(ilObject $new_object)
Post (successful) object creation hook.
createPortfolioFromTemplateProcess(bool $a_process_form=true)
static _goto(string $a_target)
initCopyPageFormOptions(ilPropertyFormGUI $a_form)
createFromTemplateDirect(string $title="", int $prtt_id=0)
Create portfolio template direct.
setTabs()
create tabs (repository/workspace switch)
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
ilWorkspaceAccessHandler $ws_access
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 getPortfoliosOfUser(int $a_user_id)
Get portfolios of user.
static setUserDefault(int $a_user_id, ?int $a_portfolio_id=null)
Set the user default portfolio.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupObjectId(int $ref_id)
static _lookupOwner(int $obj_id)
Lookup owner user ID for object ID.
static _lookupTitle(int $obj_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static activeLayouts(int $a_module=0)
Get active layouts.
setStyleId(int $a_styleid)
static getSelectedUserSkills(int $a_user_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ilPortfolioExerciseGUI.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupTitle(int $a_obj_id, int $a_tref_id=0)
This class represents a text property in a property form.
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
static redirect(string $a_script)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if(!file_exists(getcwd() . '/ilias.ini.php'))
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc