/** * Import data from DB * * @param int $a_user_id */ protected function importData($a_user_id) { global $ilUser; $data = array(); $objects = $this->handler->getSharedObjects($a_user_id); if ($objects) { foreach ($objects as $wsp_id => $obj_id) { // #9848: flag if current share access is password-protected $perms = ilWorkspaceAccessHandler::getPermissions($wsp_id); $is_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); $data[] = array("wsp_id" => $wsp_id, "obj_id" => $obj_id, "type" => ilObject::_lookupType($obj_id), "title" => ilObject::_lookupTitle($obj_id), "password" => $is_password); } } $this->setData($data); }
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; }