4include_once(
'./Services/Object/classes/class.ilObject2GUI.php');
 
    5include_once(
'./Modules/Portfolio/classes/class.ilObjPortfolio.php');
 
    6include_once(
'./Modules/Portfolio/classes/class.ilPortfolioPage.php');
 
   24        public function __construct($a_id = 0, $a_id_type = self::REPOSITORY_NODE_ID, $a_parent_node_id = 0)
 
   28                parent::__construct($a_id, $a_id_type, $a_parent_node_id);
 
   30                $this->user_id = 
$ilUser->getId();              
 
   32                $this->lng->loadLanguageModule(
"prtf");
 
   33                $this->lng->loadLanguageModule(
"user");         
 
   42                        $ilLocator->addItem(strip_tags($this->object->getTitle()),
 
   43                                $this->ctrl->getLinkTarget($this, 
"view"));
 
   49                        $title = $page->getTitle();
 
   55                        $ilLocator->addItem($title,
 
   56                                $this->ctrl->getLinkTargetByClass($this->getPageGUIClassName(), 
"edit"));               
 
   67                                $this->ctrl->redirect($this, 
"view");
 
   71                        $this->page_mode = 
"edit";
 
   72                        $this->ctrl->setParameter($this, 
"ppage", $this->page_id);      
 
   79                        $this->page_mode = 
"preview";
 
   80                        $this->ctrl->setParameter($this, 
"user_page", $this->page_id);                  
 
   87                $this->tabs_gui->clearTargets();
 
   88                $this->tabs_gui->setBackTarget($this->lng->txt(
"back"),
 
   89                        $this->ctrl->getLinkTarget($this, 
"view"));
 
   93                        $this->ctrl->redirect($this, 
"view");
 
  100                        $this->object->getStyleSheetId(), $this->getType()));                   
 
  102                $ret = $this->ctrl->forwardCommand($page_gui);
 
  107                        if($this->page_mode == 
"preview")
 
  113                                        $this->
preview(
false, 
$ret, ($a_cmd != 
"previewEmbedded"));
 
  124                                $this->tpl->setContent(
$ret);
 
  136                $this->additional = $a_additional;
 
  157                $this->perma_link = array(
"obj_id"=>$a_obj_id, 
"type"=>$a_type);
 
  168                $this->tabs_gui->addSubTab(
"properties",
 
  169                        $this->lng->txt($this->getType().
"_properties"),
 
  170                                $this->ctrl->getLinkTarget($this, 
'edit'));
 
  172                $this->tabs_gui->addSubTab(
"style",
 
  173                        $this->lng->txt(
"obj_sty"),
 
  174                        $this->ctrl->getLinkTarget($this, 
'editStyleProperties'));
 
  176                $this->tabs_gui->activateSubTab($a_active);
 
  184                $comments = 
new ilCheckboxInputGUI($this->lng->txt(
"prtf_public_comments"), 
"comments");
 
  192                if($prfa_set->get(
"banner"))
 
  194                        include_once 
"Services/Form/classes/class.ilFileInputGUI.php";
 
  197                        $dimensions = 
" (".$prfa_set->get(
"banner_width").
"x".
 
  198                                $prfa_set->get(
"banner_height").
")";
 
  204                        $file = $this->
object->getImageFullPath(
true);
 
  222                $a_values[
"comments"] = $this->
object->hasPublicComments();
 
  223                $a_values[
"ppic"] = $this->
object->hasProfilePicture();         
 
  232                $this->
object->setPublicComments($a_form->
getInput(
"comments"));
 
  233                $this->
object->setProfilePicture($a_form->
getInput(
"ppic"));
 
  241                if($_FILES[
"banner"][
"tmp_name"])
 
  243                        $this->
object->uploadImage($_FILES[
"banner"]);
 
  245                else if($prfa_set->get(
'banner') and $a_form->
getItemByPostVar(
"banner")->getDeletionFlag())
 
  247                        $this->
object->deleteImage();
 
  256        abstract protected function getPageInstance($a_page_id = 
null, $a_portfolio_id = 
null);
 
  271                        $this->ctrl->redirect($this, 
"infoScreen");
 
  274                $this->tabs_gui->activateTab(
"pages");
 
  276                include_once 
"Services/UIComponent/Button/classes/class.ilLinkButton.php";
 
  279                $button->setCaption(
"prtf_add_page");
 
  280                $button->setUrl($this->ctrl->getLinkTarget($this, 
"addPage"));
 
  281                $ilToolbar->addButtonInstance($button);
 
  286                        $button->setCaption(
"prtf_add_blog");
 
  287                        $button->setUrl($this->ctrl->getLinkTarget($this, 
"addBlog"));
 
  288                        $ilToolbar->addButtonInstance($button);
 
  291                $ilToolbar->addSeparator();
 
  294                $button->setCaption(
"export_html");
 
  295                $button->setUrl($this->ctrl->getLinkTarget($this, 
"export"));
 
  296                $ilToolbar->addButtonInstance($button);
 
  298                include_once 
"Modules/Portfolio/classes/class.ilPortfolioPageTableGUI.php";
 
  302                include_once 
"Modules/Exercise/classes/class.ilObjExercise.php";                        
 
  307                        foreach($exercises as $exercise)
 
  321                                        $part = $this->getExerciseInfo($exercise[
"ass_id"], $table->dataExists());
 
  334                $this->tpl->setContent($table->getHTML());
 
  344                $this->tabs_gui->clearTargets();
 
  345                $this->tabs_gui->setBackTarget($this->lng->txt(
"back"),
 
  346                        $this->ctrl->getLinkTarget($this, 
"view"));
 
  348                $ilHelp->setScreenIdComponent(
"prtf");
 
  349                $ilHelp->setScreenId(
"add_page");
 
  353                $this->tpl->setContent($form->getHTML());
 
  364                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  366                $form->setFormAction($this->ctrl->getFormAction($this));
 
  370                $ti->setMaxLength(200);
 
  371                $ti->setRequired(
true);
 
  375                if ($a_mode == 
"create")
 
  377                        include_once 
"Services/Style/classes/class.ilPageLayout.php";
 
  382                                $use_template->setRequired(
true);
 
  383                                $form->addItem($use_template);
 
  386                                $use_template->addOption($opt);
 
  388                                foreach ($templates as $templ)
 
  390                                        $templ->readObject();
 
  392                                        $opt = 
new ilRadioOption($templ->getTitle().$templ->getPreview(), $templ->getId());
 
  393                                        $use_template->addOption($opt);                 
 
  397                        $form->setTitle($this->lng->txt(
"prtf_add_page").
": ".
 
  398                                $this->object->getTitle());
 
  399                        $form->addCommandButton(
"savePage", $this->lng->txt(
"save"));
 
  400                        $form->addCommandButton(
"view", $this->lng->txt(
"cancel"));                     
 
  420                if ($form->checkInput() && $this->checkPermissionBool(
"write"))
 
  422                        include_once(
"Modules/Portfolio/classes/class.ilPortfolioPage.php");
 
  425                        $page->setTitle($form->getInput(
"title"));              
 
  428                        $layout_id = $form->getInput(
"tmpl");
 
  431                                include_once(
"./Services/Style/classes/class.ilPageLayout.php");
 
  433                                $page->setXMLContent($layout_obj->getXMLContent());
 
  439                        $this->ctrl->redirect($this, 
"view");
 
  442                $this->tabs_gui->clearTargets();
 
  443                $this->tabs_gui->setBackTarget($this->lng->txt(
"back"),
 
  444                        $this->ctrl->getLinkTarget($this, 
"view"));
 
  446                $form->setValuesByPost();
 
  447                $this->tpl->setContent($form->getHtml());
 
  457                $this->tabs_gui->clearTargets();
 
  458                $this->tabs_gui->setBackTarget($this->lng->txt(
"back"),
 
  459                        $this->ctrl->getLinkTarget($this, 
"view"));
 
  461                $ilHelp->setScreenIdComponent(
"prtf");
 
  462                $ilHelp->setScreenId(
"add_blog");
 
  465                $this->tpl->setContent($form->getHTML());
 
  482                if (is_array(
$_POST[
"order"]))
 
  484                        foreach (
$_POST[
"order"] as $k => $v)
 
  498                $this->ctrl->redirect($this, 
"view");
 
  506                if (!is_array(
$_POST[
"prtf_pages"]) || count(
$_POST[
"prtf_pages"]) == 0)
 
  509                        $this->ctrl->redirect($this, 
"view");
 
  513                        $this->tabs_gui->activateTab(
"pages");
 
  515                        include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  517                        $cgui->setFormAction($this->ctrl->getFormAction($this));
 
  518                        $cgui->setHeaderText($this->lng->txt(
"prtf_sure_delete_portfolio_pages"));
 
  519                        $cgui->setCancel($this->lng->txt(
"cancel"), 
"view");
 
  520                        $cgui->setConfirm($this->lng->txt(
"delete"), 
"deletePortfolioPages");
 
  522                        foreach (
$_POST[
"prtf_pages"] as $id)
 
  525                                $title = $page->getTitle();
 
  530                                $cgui->addItem(
"prtf_pages[]", $id, $title);
 
  533                        $this->tpl->setContent($cgui->getHTML());
 
  547                if (is_array(
$_POST[
"prtf_pages"]))
 
  549                        foreach (
$_POST[
"prtf_pages"] as $id)
 
  556                $this->ctrl->redirect($this, 
"view");
 
  562        function preview($a_return = 
false, $a_content = 
false, $a_show_notes = 
true)
 
  566                $portfolio_id = $this->
object->getId();
 
  567                $user_id = $this->
object->getOwner();
 
  569                $this->tabs_gui->clearTargets();
 
  572                $current_page = (int)
$_GET[
"user_page"];
 
  575                if($pages && $current_page)
 
  578                        foreach($pages as $page)
 
  580                                if($page[
"id"] == $current_page)
 
  588                                $current_page = 
null;
 
  593                if(!$current_page && $pages)
 
  595                        $current_page = $pages;
 
  596                        $current_page = array_shift($current_page);
 
  597                        $current_page = $current_page[
"id"];
 
  601                if($this->user_id == ANONYMOUS_USER_ID &&
 
  604                        $this->tpl->setLoginTargetPar(
"prtf_".$this->object->getId().
"_".$current_page);
 
  612                else if(
$_GET[
"baseClass"] != 
"ilPublicUserProfileGUI" && 
 
  613                        $this->user_id && $this->user_id != ANONYMOUS_USER_ID)
 
  620                                        $this->ctrl->setParameterByClass(
"ilportfoliorepositorygui", 
"shr_id", $this->object->getOwner());
 
  621                                        $back = $this->ctrl->getLinkTargetByClass(array(
"ilpersonaldesktopgui", 
"ilportfoliorepositorygui"), 
"showOther");
 
  622                                        $this->ctrl->setParameterByClass(
"ilportfoliorepositorygui", 
"shr_id", 
"");
 
  630                                        include_once 
"Services/Link/classes/class.ilLink.php";
 
  637                                $back = $this->ctrl->getLinkTarget($this, 
"view");
 
  646                        $ilMainMenu->setTopBarBack($back);
 
  650                $current_blog = 
null;
 
  651                if(count($pages) > 1)
 
  653                        foreach ($pages as $p)
 
  658                                        if($p[
"id"] == $current_page)
 
  660                                                $current_blog = (int)$p[
"title"];
 
  662                                        include_once 
"Modules/Blog/classes/class.ilObjBlog.php";
 
  666                                $this->ctrl->setParameter($this, 
"user_page", $p[
"id"]);
 
  667                                $this->tabs_gui->addTab(
"user_page_".$p[
"id"],
 
  669                                        $this->ctrl->getLinkTarget($this, 
"preview"));                          
 
  672                        $this->tabs_gui->activateTab(
"user_page_".$current_page);                       
 
  675                $this->ctrl->setParameter($this, 
"user_page", $current_page);
 
  681                        $page_gui->setEmbedded(
true);
 
  683                        $content = $this->ctrl->getHTML($page_gui);                     
 
  687                        $content = $a_content;
 
  697                if($a_show_notes && $this->object->hasPublicComments() && !$current_blog)
 
  699                        include_once(
"./Services/Notes/classes/class.ilNoteGUI.php");                   
 
  700                        $note_gui = 
new ilNoteGUI($portfolio_id, $current_page, 
"pfpg");
 
  701                        $note_gui->setRepositoryMode(
false);                    
 
  702                        $note_gui->enablePublicNotes(
true);
 
  703                        $note_gui->enablePrivateNotes(
false);
 
  705                        $note_gui->enablePublicNotesDeletion(($this->user_id == 
$user_id) &&
 
  708                        $next_class = $this->ctrl->getNextClass($this);
 
  709                        if ($next_class == 
"ilnotegui")
 
  711                                $notes = $this->ctrl->forwardCommand($note_gui);
 
  715                                $notes = $note_gui->getNotesHTML();
 
  719                if($this->perma_link === 
null)
 
  723                                $this->tpl->setPermanentLink($this->
getType(), $this->object->getId(), 
"_".$current_page);                              
 
  727                                $this->tpl->setPermanentLink($this->
getType(), $this->object->getRefId());                              
 
  732                        $this->tpl->setPermanentLink($this->perma_link[
"type"], $this->perma_link[
"obj_id"]);
 
  738                $this->ctrl->setParameter($this, 
"user_page", 
"");
 
  739                $this->tpl->setTitleUrl($this->ctrl->getLinkTarget($this, 
"preview")); 
 
  740                $this->ctrl->setParameter($this, 
"user_page", $this->page_id);
 
  745                        $content = 
'<div id="ilCOPageContent" class="ilc_page_cont_PageContainer">'.
 
  746                                '<div class="ilc_page_Page">'.
 
  754                $this->tpl->setContent($content.
 
  755                        '<div class="ilClearFloat">'.$notes.
'</div>');                                  
 
  768                $name = $name[
"lastname"].
", ".(
$t = $name[
"title"] ? 
$t . 
" " : 
"").$name[
"firstname"];
 
  771                $banner = $banner_width = $banner_height = 
false;
 
  773                if($prfa_set->get(
"banner"))
 
  775                        $banner = $a_portfolio->getImageFullPath();
 
  776                        $banner_width = $prfa_set->get(
"banner_width");
 
  777                        $banner_height = $prfa_set->get(
"banner_height");
 
  780                                $banner = basename($banner);
 
  786                if($a_portfolio->hasProfilePicture())
 
  791                                $ppic = basename($ppic);
 
  795                $a_tpl->resetHeaderBlock(
false);
 
  797                $a_tpl->setBanner($banner, $banner_width, $banner_height, $a_export);
 
  798                $a_tpl->setTitleIcon($ppic);
 
  799                $a_tpl->setTitle($a_portfolio->getTitle());
 
  801                $a_tpl->setDescription($name);          
 
  804                $a_tpl->setVariable(
"LOCATOR", 
"");
 
  812                include_once 
"Modules/Portfolio/classes/class.ilPortfolioHTMLExport.php";
 
  814                $zip = $export->buildExportFile();
 
  825                if (!is_array(
$_POST[
"prtf_pages"]) || count(
$_POST[
"prtf_pages"]) == 0)
 
  828                        $this->ctrl->redirect($this, 
"view");
 
  832                        $this->tabs_gui->activateTab(
"pages");
 
  843                                $a_form->addItem($item);
 
  846                        $this->tpl->setContent($a_form->getHTML());
 
  853                if($form->checkInput())
 
  856                        if($form->getInput(
"target") == 
"old")
 
  858                                $portfolio_id = $form->getInput(
"prtf");                                                
 
  864                                $portfolio->setTitle($form->getInput(
"title"));
 
  865                                $portfolio->create();           
 
  866                                $portfolio_id = $portfolio->getId();
 
  874                                $target->setXMLContent($source->copyXmlContent(
true)); 
 
  875                                $target->setType($source->getType());
 
  876                                $target->setTitle($source->getTitle());
 
  881                        $this->ctrl->redirect($this, 
"view");
 
  884                $form->setValuesByPost();
 
  892                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  894                $form->setFormAction($this->ctrl->getFormAction($this));                
 
  895                $form->setTitle($this->lng->txt(
"prtf_copy_page"));                     
 
  898                $tgt->setRequired(
true);
 
  899                $form->addItem($tgt);
 
  903                $form->addCommandButton(
"copyPage", $this->lng->txt(
"save"));
 
  904                $form->addCommandButton(
"view", $this->lng->txt(
"cancel"));
 
  927                $ctpl->setCurrentBlock(
"ContentStyle");
 
  928                $ctpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
  930                $ctpl->parseCurrentBlock();
 
  937                $this->tabs_gui->activateTab(
"settings");
 
  941                $this->tpl->setContent($form->getHTML());                               
 
  948                include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
 
  949                $this->lng->loadLanguageModule(
"style");
 
  951                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  954                $fixed_style = 
$ilSetting->get(
"fixed_content_style_id");
 
  955                $style_id = $this->
object->getStyleSheetId();
 
  957                if ($fixed_style > 0)
 
  961                                $this->lng->txt(
"global_fixed").
")");
 
  969                        $st_styles[0] = $this->lng->txt(
"default");
 
  982                                        $form->addCommandButton(
"editStyle", $this->lng->txt(
"style_edit_style"));
 
  983                                        $form->addCommandButton(
"deleteStyle", $this->lng->txt(
"style_delete_style"));
 
  991                                $style_sel->setOptions($st_styles);
 
  992                                $style_sel->setValue($style_id);
 
  993                                $form->addItem($style_sel);
 
  995                                $form->addCommandButton(
"saveStyleSettings", $this->lng->txt(
"save"));
 
  996                                $form->addCommandButton(
"createStyle", $this->lng->txt(
"sty_create_ind_style"));
 
 1000                $form->setTitle($this->lng->txt($this->getType().
"_style"));
 
 1001                $form->setFormAction($this->ctrl->getFormAction($this));
 
 1008                $this->ctrl->redirectByClass(
"ilobjstylesheetgui", 
"create");
 
 1013                $this->ctrl->redirectByClass(
"ilobjstylesheetgui", 
"edit");
 
 1018                $this->ctrl->redirectByClass(
"ilobjstylesheetgui", 
"delete");
 
 1025                include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
 
 1026                if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
 
 1028                        || $this->object->getStyleSheetId() == 0))
 
 1031                        $this->
object->update();
 
 1035                $this->ctrl->redirect($this, 
"editStyleProperties");
 
Confirmation screen class.
static _getStaticLink($a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
This class represents a non editable value in a property form.
static findUserFiles($a_user_id, $a_filetitle)
Check if given file was assigned.
Portfolio view gui base class.
initPageForm($a_mode="create")
Init portfolio page form.
setPermaLink($a_obj_id, $a_type)
Set custom perma link (used in public profile?)
addBlog()
Show portfolio blog page creation form.
addPage()
Show portfolio page creation form.
view()
Show list of portfolio pages.
savePage()
Create new portfolio page.
initEditCustomForm(ilPropertyFormGUI $a_form)
Add custom fields to update form.
getAdditional()
Get Additonal Information.
updateCustom(ilPropertyFormGUI $a_form)
Insert custom update form values into object.
confirmPortfolioPageDeletion()
Confirm portfolio deletion.
initCopyPageFormOptions(ilFormPropertyGUI $a_tgt)
__construct($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
Constructor.
initStylePropertiesForm()
getEditFormCustomValues(array &$a_values)
Add values to custom edit fields.
copyPageForm($a_form=null)
Select target portfolio for page(s) copy.
deletePortfolioPages()
Delete portfolio pages.
getPageInstance($a_page_id=null, $a_portfolio_id=null)
savePortfolioPagesOrdering()
Save ordering of portfolio pages.
addLocatorItems()
Functions to be overwritten.
static renderFullscreenHeader($a_portfolio, $a_tpl, $a_user_id, $a_export=false)
Render banner, user name.
setAdditional($a_additional)
Set Additonal Information (used in public profile?)
preview($a_return=false, $a_content=false, $a_show_notes=true)
Show user page.
setSettingsSubTabs($a_active)
getPageGUIInstance($a_page_id)
setContentStyleSheet($a_tpl=null)
getContentStylePath($a_style_id)
get content style path
_getStandardStyles($a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
_lookupStandard($a_id)
Lookup standard flag.
static _getPersonalPicturePath($a_usr_id, $a_size="small", $a_force_pic=false, $a_prevent_no_photo_image=false)
Get path to personal picture.
static _lookupName($a_user_id)
lookup user name
New implementation of ilObjectGUI.
getType()
Functions that must be overwritten.
checkPermission($a_perm, $a_cmd="")
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
Check permission.
static _lookupTitle($a_id)
lookup object title
static _lookupTitle($a_id)
lookup object title
static _getAllReferences($a_id)
get all reference ids of object
static activeLayouts($a_special_page=false, $a_module=null)
Get active layouts.
Portfolio HTML exporter class.
static getAllPages($a_portfolio_id)
Get pages of portfolio.
static fixOrdering($a_portfolio_id)
Fix ordering.
This class represents an option in a radio group.
This class represents a text property in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']