protected function setDefault($a_prtf_id)
 {
     global $ilCtrl, $lng, $ilUser;
     if ($a_prtf_id && $this->checkAccess("write")) {
         // #12845
         if ($this->access_handler->hasGlobalPermission($a_prtf_id)) {
             $ilUser->setPref("public_profile", "g");
             $ilUser->writePrefs();
         } else {
             if ($this->access_handler->hasRegisteredPermission($a_prtf_id)) {
                 $ilUser->setPref("public_profile", "y");
                 $ilUser->writePrefs();
             } else {
                 return;
             }
         }
         ilObjPortfolio::setUserDefault($this->user_id, $a_prtf_id);
         ilUtil::sendSuccess($lng->txt("settings_saved"), true);
     }
     $ilCtrl->redirect($this, "show");
 }
예제 #2
0
 /**
  * @throws ilException
  */
 protected function generatePortfolio()
 {
     if ($this->getPortfolioTemplateId() < 10) {
         return false;
     }
     // Generate Portfolio from Template
     global $ilUser;
     $tmp_user = $ilUser;
     $source = new ilObjPortfolioTemplate($this->getPortfolioTemplateId(), false);
     $target = new ilObjPortfolio();
     $user = $this->getUsrObject();
     $target->setOwner($user->getId());
     $target->setTitle($this->getReplacesPortfolioTitle());
     $target->setUserDefault($user->getId());
     $target->setOnline(true);
     $target->create();
     include_once "Modules/Portfolio/classes/class.ilPortfolioTemplatePage.php";
     foreach (ilPortfolioTemplatePage::getAllPages($this->getPortfolioTemplateId()) as $page) {
         switch ($page["type"]) {
             case ilPortfolioTemplatePage::TYPE_BLOG_TEMPLATE:
                 $a_recipe[$page["id"]] = array("blog", "create", $this->getBlogName());
                 break;
         }
     }
     $GLOBALS['ilUser'] = $user;
     ilObjPortfolioTemplate::clonePagesAndSettings($source, $target, $a_recipe);
     $GLOBALS['ilUser'] = $tmp_user;
     ilObjPortfolio::setUserDefault($user->getId(), $target->getId());
     $ilPortfolioAccessHandler = new ilPortfolioAccessHandler();
     foreach ($this->getPortfolioAssignedToGroups() as $grp_obj_id) {
         if (ilObject2::_lookupType($grp_obj_id) == 'grp') {
             $ilPortfolioAccessHandler->addPermission($target->getId(), $grp_obj_id);
         }
     }
 }
예제 #3
0
 public function updateCustom(ilPropertyFormGUI $a_form)
 {
     $this->object->setOnline($a_form->getInput("online"));
     // if portfolio is not online, it cannot be default
     if (!$a_form->getInput("online")) {
         ilObjPortfolio::setUserDefault($this->user_id, 0);
     }
     parent::updateCustom($a_form);
 }
 protected function setDefault($a_prtf_id)
 {
     global $ilCtrl, $lng;
     if ($a_prtf_id && $this->checkAccess("write")) {
         ilObjPortfolio::setUserDefault($this->user_id, $a_prtf_id);
         ilUtil::sendSuccess($lng->txt("settings_saved"), true);
     }
     $ilCtrl->redirect($this, "show");
 }
 /**
  * Unset default portfolio for user
  */
 protected function unsetDefault()
 {
     global $ilCtrl, $lng;
     if ($this->portfolio && $this->checkAccess("write")) {
         ilObjPortfolio::setUserDefault($this->user_id);
         ilUtil::sendSuccess($lng->txt("prtf_unset_default_share_info"), true);
     }
     $ilCtrl->redirect($this, "show");
 }
 protected function syncProfile($a_node_id)
 {
     global $ilUser;
     // #12845
     include_once "Modules/Portfolio/classes/class.ilObjPortfolio.php";
     if (ilObjPortfolio::getDefaultPortfolio($ilUser->getId()) == $a_node_id) {
         $has_registered = $this->hasRegisteredPermission($a_node_id);
         $has_global = $this->hasGlobalPermission($a_node_id);
         // not published anymore - remove portfolio as profile
         if (!$has_registered && !$has_global) {
             $ilUser->setPref("public_profile", "n");
             $ilUser->writePrefs();
             ilObjPortfolio::setUserDefault($ilUser->getId());
         } else {
             $new_pref = "y";
             if ($has_global) {
                 $new_pref = "g";
             }
             if ($ilUser->getPref("public_profile") != $new_pref) {
                 $ilUser->setPref("public_profile", $new_pref);
                 $ilUser->writePrefs();
             }
         }
     }
 }