protected function getItems() { global $ilUser; include_once "Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php"; $access_handler = new ilPortfolioAccessHandler(); include_once "Modules/Portfolio/classes/class.ilObjPortfolio.php"; $data = ilObjPortfolio::getPortfoliosOfUser($this->user_id); $this->shared_objects = $access_handler->getObjectsIShare(false); $this->setData($data); }
public function checkAccess(array $a_users) { include_once "Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php"; $access_handler = new ilPortfolioAccessHandler(); foreach ($a_users as $user_id) { if ($access_handler->checkAccessOfUser($user_id, "read", "view", $this->prtf_id, "prtf")) { return true; } } return false; }
protected function getItems() { global $ilUser; include_once "Services/Portfolio/classes/class.ilPortfolioAccessHandler.php"; $access_handler = new ilPortfolioAccessHandler(); include_once "Services/Portfolio/classes/class.ilObjPortfolio.php"; $data = ilObjPortfolio::getPortfoliosOfUser($this->user_id); // remove all portfolios which are not shared if ($this->shared) { $other = $access_handler->getSharedObjects($this->user_id); foreach ($data as $idx => $item) { if (!in_array($item["id"], $other)) { unset($data[$idx]); } else { // #9848: flag if current share access is password-protected $perms = $access_handler->getPermissions($item["id"]); $data[$idx]["password"] = !in_array($ilUser->getId(), $perms) && !in_array(ilWorkspaceAccessGUI::PERMISSION_REGISTERED, $perms) && !in_array(ilWorkspaceAccessGUI::PERMISSION_ALL, $perms) && in_array(ilWorkspaceAccessGUI::PERMISSION_ALL_PASSWORD, $perms); } } } else { $this->shared_objects = $access_handler->getObjectsIShare(); } $this->setData($data); }
protected function checkPassword() { global $ilDB, $lng; $lng->loadLanguageModule("wsp"); $form = $this->initPasswordForm(); if ($form->checkInput()) { $input = md5($form->getInput("password")); if ($this->node_id) { include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php"; $password = ilWorkspaceAccessHandler::getSharedNodePassword($this->node_id); } else { include_once "Services/Portfolio/classes/class.ilPortfolioAccessHandler.php"; $password = ilPortfolioAccessHandler::getSharedNodePassword($this->portfolio_id); } if ($input == $password) { if ($this->node_id) { ilWorkspaceAccessHandler::keepSharedSessionPassword($this->node_id, $input); $this->redirectToResource($this->node_id); } else { ilPortfolioAccessHandler::keepSharedSessionPassword($this->portfolio_id, $input); $this->redirectToResource($this->portfolio_id, true); } } else { $item = $form->getItemByPostVar("password"); $item->setAlert($lng->txt("wsp_invalid_password")); ilUtil::sendFailure($lng->txt("form_input_not_valid")); } } $form->setValuesByPost(); $this->passwordForm($form); }
public static function getAvailablePortfolioLinksForUserIds(array $a_owner_ids, $a_back_url = null) { $res = array(); include_once "Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php"; $access_handler = new ilPortfolioAccessHandler(); $params = null; if ($a_back_url) { $params = array("back_url" => rawurlencode($a_back_url)); } include_once "Services/Link/classes/class.ilLink.php"; foreach ($access_handler->getShardObjectsDataForUserIds($a_owner_ids) as $owner_id => $items) { foreach ($items as $id => $title) { $url = ilLink::_getLink($id, 'prtf', $params); $res[$owner_id][$url] = $title; } } return $res; }
/** * Check if current profile portfolio is accessible * * @return int */ protected function getProfilePortfolio() { include_once "Modules/Portfolio/classes/class.ilObjPortfolio.php"; $portfolio_id = ilObjPortfolio::getDefaultPortfolio($this->getUserId()); if ($portfolio_id) { include_once './Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php'; $access_handler = new ilPortfolioAccessHandler(); if ($access_handler->checkAccess("read", "", $portfolio_id)) { return $portfolio_id; } } }
/** * @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); } } }
/** * Check access rights for portfolio pages * * @param int object id (glossary) * @param int page id (definition) * @return boolean access given (true/false) */ private function checkAccessPortfolioPage($obj_id, $page_id) { include_once "Services/Portfolio/classes/class.ilPortfolioAccessHandler.php"; $access_handler = new ilPortfolioAccessHandler(); foreach ($this->check_users as $user_id) { if ($access_handler->checkAccessOfUser($user_id, "read", "view", $obj_id, "prtf")) { return true; } } return false; }
/** * Delete all portfolio data for user * * @param int $a_user_id */ public static function deleteUserPortfolios($a_user_id) { $all = self::getPortfoliosOfUser($a_user_id); if ($all) { include_once "Services/Portfolio/classes/class.ilPortfolioAccessHandler.php"; $access_handler = new ilPortfolioAccessHandler(); foreach ($all as $item) { $access_handler->removePermission($item["id"]); $portfolio = new self($item["id"], false); $portfolio->delete(); } } }
protected function showOther() { global $tpl, $lng, $ilCtrl, $ilToolbar, $ilTabs; $ilTabs->activateTab("otpf"); include_once './Services/Portfolio/classes/class.ilPortfolioAccessHandler.php'; $handler = new ilPortfolioAccessHandler(); $users = $handler->getSharedOwners(); // user selection include_once "./Services/Form/classes/class.ilSelectInputGUI.php"; $si = new ilSelectInputGUI($lng->txt("user"), "user"); $si->setOptions(array("" => "-") + $users); $ilToolbar->addInputItem($si); $ilToolbar->setFormAction($ilCtrl->getFormAction($this)); $ilToolbar->addFormButton($lng->txt("ok"), "showOther"); if (!$_REQUEST["user"]) { ilUtil::sendInfo($lng->txt("wsp_share_select_user")); } else { $si->setValue($_REQUEST["user"]); include_once "Services/Portfolio/classes/class.ilPortfolioTableGUI.php"; $table = new ilPortfolioTableGUI($this, "showOther", $_REQUEST["user"], true); $tpl->setContent($table->getHTML()); } }