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))); }
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); }