/**
  * 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;
 }