public function __construct(Project $project)
 {
     if (!$project->isPublic()) {
         $this->mapping = array(ProjectUGroup::ANONYMOUS => ProjectUGroup::PROJECT_MEMBERS, ProjectUGroup::AUTHENTICATED => ProjectUGroup::PROJECT_MEMBERS, ProjectUGroup::REGISTERED => ProjectUGroup::PROJECT_MEMBERS);
     } else {
         if (!ForgeConfig::areAnonymousAllowed()) {
             if (ForgeConfig::areRestrictedUsersAllowed() && $project->allowsRestricted()) {
                 $this->mapping[ProjectUGroup::ANONYMOUS] = ProjectUGroup::AUTHENTICATED;
             } else {
                 $this->mapping[ProjectUGroup::ANONYMOUS] = ProjectUGroup::REGISTERED;
             }
         }
         if (ForgeConfig::areRestrictedUsersAllowed() && $project->allowsRestricted()) {
             $this->mapping[ProjectUGroup::AUTHENTICATED] = ProjectUGroup::AUTHENTICATED;
         }
     }
 }
 /**
  * @param Project $project
  * @return User_ForgeUGroup[]
  */
 public function getAllForProject(Project $project)
 {
     $user_groups = array();
     if (ForgeConfig::areAnonymousAllowed() && $project->isPublic()) {
         $user_groups[] = $this->getDynamicForgeUserGroupByName(User_ForgeUGroup::ANON);
     }
     if (ForgeConfig::areRestrictedUsersAllowed() && $project->allowsRestricted()) {
         $user_groups[] = $this->getDynamicForgeUserGroupByName(User_ForgeUGroup::AUTHENTICATED);
     }
     if ($project->isPublic()) {
         $user_groups[] = $this->getDynamicForgeUserGroupByName(User_ForgeUGroup::REGISTERED);
     }
     $user_groups[] = $this->getDynamicForgeUserGroupByName(User_ForgeUGroup::PROJECT_MEMBERS);
     $user_groups[] = $this->getDynamicForgeUserGroupByName(User_ForgeUGroup::PROJECT_ADMINS);
     return array_merge($user_groups, $this->getStaticByProject($project), array($this->getDynamicForgeUserGroupByName(User_ForgeUGroup::NOBODY)));
 }
Example #3
0
 private function userIsRestrictedAndNotProjectMember(PFUser $user, Project $project)
 {
     return $project->allowsRestricted() && $user->isRestricted() && !$user->isMember($project->getID());
 }
 private function canRestrictedUserAccess(PFUser $user, Project $project)
 {
     return $project->allowsRestricted() && $this->isScriptAllowedForRestricted($user);
 }