From 24955db93e641c20a338037efca37deeb0cab9c3 Mon Sep 17 00:00:00 2001 From: Takuro Hishikawa Date: Mon, 19 Jan 2015 21:01:33 +0900 Subject: [PATCH] Double check whether the Area overrides the collection permission Refs: concrete5/concrete5-5.7.0#1789 --- .../core/models/permission/assignments/block.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/web/concrete/core/models/permission/assignments/block.php b/web/concrete/core/models/permission/assignments/block.php index 13ba4704fe..190afa1f3b 100644 --- a/web/concrete/core/models/permission/assignments/block.php +++ b/web/concrete/core/models/permission/assignments/block.php @@ -35,6 +35,15 @@ public function setPermissionObject(Block $b) { if (is_object($a)) { if ($a->overrideCollectionPermissions()) { $this->permissionObjectToCheck = $a; + } elseif ($a->getAreaCollectionInheritID()) { + $mcID = $a->getAreaCollectionInheritID(); + $mc = Page::getByID($mcID, 'RECENT'); + $ma = Area::get($mc, $a->getAreaHandle()); + if ($ma->overrideCollectionPermissions()) { + $this->permissionObjectToCheck = $ma; + } else { + $this->permissionObjectToCheck = $ma->getAreaCollectionObject(); + } } else { $this->permissionObjectToCheck = $a->getAreaCollectionObject(); }