annotate core/modules/block_content/src/Access/RefinableDependentAccessTrait.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents a9cd425dd02b
children
rev   line source
Chris@4 1 <?php
Chris@4 2
Chris@4 3 namespace Drupal\block_content\Access;
Chris@4 4
Chris@4 5 use Drupal\Core\Access\AccessibleInterface;
Chris@4 6
Chris@4 7 /**
Chris@4 8 * Trait for \Drupal\block_content\Access\RefinableDependentAccessInterface.
Chris@4 9 *
Chris@4 10 * @internal
Chris@4 11 */
Chris@4 12 trait RefinableDependentAccessTrait {
Chris@4 13
Chris@4 14 /**
Chris@4 15 * The access dependency.
Chris@4 16 *
Chris@4 17 * @var \Drupal\Core\Access\AccessibleInterface
Chris@4 18 */
Chris@4 19 protected $accessDependency;
Chris@4 20
Chris@4 21 /**
Chris@4 22 * {@inheritdoc}
Chris@4 23 */
Chris@4 24 public function setAccessDependency(AccessibleInterface $access_dependency) {
Chris@4 25 $this->accessDependency = $access_dependency;
Chris@4 26 return $this;
Chris@4 27 }
Chris@4 28
Chris@4 29 /**
Chris@4 30 * {@inheritdoc}
Chris@4 31 */
Chris@4 32 public function getAccessDependency() {
Chris@4 33 return $this->accessDependency;
Chris@4 34 }
Chris@4 35
Chris@4 36 /**
Chris@4 37 * {@inheritdoc}
Chris@4 38 */
Chris@4 39 public function addAccessDependency(AccessibleInterface $access_dependency) {
Chris@4 40 if (empty($this->accessDependency)) {
Chris@4 41 $this->accessDependency = $access_dependency;
Chris@4 42 return $this;
Chris@4 43 }
Chris@4 44 if (!$this->accessDependency instanceof AccessGroupAnd) {
Chris@4 45 $accessGroup = new AccessGroupAnd();
Chris@4 46 $this->accessDependency = $accessGroup->addDependency($this->accessDependency);
Chris@4 47 }
Chris@4 48 $this->accessDependency->addDependency($access_dependency);
Chris@4 49 return $this;
Chris@4 50 }
Chris@4 51
Chris@4 52 }