public static function hasAccess($a_node_id, $a_is_portfolio = false) { global $ilUser; // if we have current user - check with normal access handler if ($ilUser->getId() != ANONYMOUS_USER_ID) { if (!$a_is_portfolio) { include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php"; include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php"; $tree = new ilWorkspaceTree($ilUser->getId()); $access_handler = new ilWorkspaceAccessHandler($tree); } else { include_once "Services/Portfolio/classes/class.ilPortfolioAccessHandler.php"; $access_handler = new ilPortfolioAccessHandler(); } if ($access_handler->checkAccess("read", "", $a_node_id)) { return true; } } // not logged in yet or no read access include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceAccessGUI.php"; if (!$a_is_portfolio) { include_once "Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php"; $shared = ilWorkspaceAccessHandler::getPermissions($a_node_id); } else { include_once "Services/Portfolio/classes/class.ilPortfolioAccessHandler.php"; $shared = ilPortfolioAccessHandler::getPermissions($a_node_id); } // object is "public" if (in_array(ilWorkspaceAccessGUI::PERMISSION_ALL, $shared)) { return true; } // password protected if (in_array(ilWorkspaceAccessGUI::PERMISSION_ALL_PASSWORD, $shared)) { if (!$a_is_portfolio) { ilUtil::redirect("ilias.php?baseClass=ilSharedResourceGUI&cmd=passwordForm&wsp_id=" . $a_node_id); } else { ilUtil::redirect("ilias.php?baseClass=ilSharedResourceGUI&cmd=passwordForm&prt_id=" . $a_node_id); } } return false; }
/** * 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; } } }