/** * Finds the parent group * @return Usergroup */ private function FindParentGroup() { $parentGroup = null; if ($this->parent) { $parentGroup = GroupFinder::FindPageGroup($this->parent); } if (!$parentGroup) { $parentGroup = $this->site->GetUserGroup(); } return $parentGroup; }
/** * Finds the parent group * @return Usergroup */ private function FindParentGroup() { $parentGroup = null; $parentContent = $this->Content()->Exists() ? ContentTreeUtil::ParentOf($this->Content()) : null; if ($parentContent) { $parentGroup = GroupFinder::FindContentGroup($parentContent); } if (!$parentGroup) { switch ($this->Location()) { case Enums\ContentLocation::Page(): $parentGroup = GroupFinder::FindPageGroup($this->Page()); break; case Enums\ContentLocation::Layout(): $parentGroup = $this->Area()->GetLayout()->GetUserGroup(); break; case Enums\ContentLocation::Container(): $parentGroup = $this->Container()->GetUserGroup(); break; } } return $parentGroup; }
/** * Grant evaluation for adding content on top of a page area * @param Page $page The page * @return GrantResult GrantResult Returns the grant result telling if creation is allowed */ function GrantAddContentToPage(Page $page) { //dummy content for evaluation $content = new Content(); $content->SetUserGroup(GroupFinder::FindPageGroup($page)); $pageRights = RightsFinder::FindPageRights($page); if ($pageRights) { $content->SetUserGroupRights($pageRights->GetContentRights()); } return $this->Grant(BackendAction::Create(), $content); }