Esempio n. 1
0
 function maySee($user_item)
 {
     if ($this->_environment->inCommunityRoom()) {
         // Community room
         if ($user_item->isRoot() or $user_item->isGuest() and $this->isVisibleForAll() or ($user_item->getContextID() == $this->getContextID() or $user_item->getContextID() == $this->_environment->getCurrentContextID()) and ($user_item->isUser() and $this->isVisibleForLoggedIn() or $user_item->getUserID() == $this->getUserID() and $user_item->getAuthSource == $this->getAuthSource() or $user_item->isModerator())) {
             $access = true;
         } else {
             $access = false;
         }
     } else {
         // Project room, group room, private room, portal
         $access = parent::maySee($user_item);
         if ($access) {
             $room = $this->_environment->getCurrentContextItem();
             if ($room->isPrivateRoom() or $room->isPortal() or $room->withRubric(CS_USER_TYPE)) {
                 $access = true;
             } else {
                 // if user rubric is not active, user can always see himself
                 if (!$room->withRubric(CS_USER_TYPE)) {
                     if ($user_item->getUserID() == $this->getUserID() && $user_item->getAuthSource() == $this->getAuthSource()) {
                         $access = true;
                     } else {
                         $access = false;
                     }
                 } else {
                     $access = false;
                 }
             }
         }
     }
     return $access;
 }
Esempio n. 2
0
 function maySee($user_item)
 {
     if ($this->_environment->inProjectRoom() or $user_item->isUser() or $this->isWorldPublic()) {
         $access = parent::maySee($user_item);
     } else {
         $access = false;
     }
     return $access;
 }