X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fblock_content%2Fsrc%2FAccess%2FRefinableDependentAccessTrait.php;fp=web%2Fcore%2Fmodules%2Fblock_content%2Fsrc%2FAccess%2FRefinableDependentAccessTrait.php;h=98b2a547ccfb977cfb3709c1adda2505f8d90a99;hp=0000000000000000000000000000000000000000;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/web/core/modules/block_content/src/Access/RefinableDependentAccessTrait.php b/web/core/modules/block_content/src/Access/RefinableDependentAccessTrait.php new file mode 100644 index 000000000..98b2a547c --- /dev/null +++ b/web/core/modules/block_content/src/Access/RefinableDependentAccessTrait.php @@ -0,0 +1,52 @@ +accessDependency = $access_dependency; + return $this; + } + + /** + * {@inheritdoc} + */ + public function getAccessDependency() { + return $this->accessDependency; + } + + /** + * {@inheritdoc} + */ + public function addAccessDependency(AccessibleInterface $access_dependency) { + if (empty($this->accessDependency)) { + $this->accessDependency = $access_dependency; + return $this; + } + if (!$this->accessDependency instanceof AccessGroupAnd) { + $accessGroup = new AccessGroupAnd(); + $this->accessDependency = $accessGroup->addDependency($this->accessDependency); + } + $this->accessDependency->addDependency($access_dependency); + return $this; + } + +}