X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Fmodules%2Fcontrib%2Fpermissions_by_term%2Fsrc%2FService%2FTerm.php;fp=web%2Fmodules%2Fcontrib%2Fpermissions_by_term%2Fsrc%2FService%2FTerm.php;h=565513d43240615c65866be397fcfb77382c927b;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=fae9a4c283fed20dde4709ab68d91508495a2e37;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0;p=yaffs-website diff --git a/web/modules/contrib/permissions_by_term/src/Service/Term.php b/web/modules/contrib/permissions_by_term/src/Service/Term.php index fae9a4c28..565513d43 100644 --- a/web/modules/contrib/permissions_by_term/src/Service/Term.php +++ b/web/modules/contrib/permissions_by_term/src/Service/Term.php @@ -3,6 +3,8 @@ namespace Drupal\permissions_by_term\Service; use Drupal\Core\Database\Connection; +use Drupal\taxonomy\Entity\Term as TermEntity; +use Drupal\Component\Utility\Html; /** * Class Term @@ -18,6 +20,11 @@ class Term { */ private $database; + /** + * @var TermEntity + */ + private $term; + /** * Term constructor. * @@ -70,9 +77,16 @@ class Term { * @return int */ public function getTermIdByName($sTermName) { + $sTermName = Html::decodeEntities($sTermName); $aTermId = \Drupal::entityQuery('taxonomy_term') ->condition('name', $sTermName) ->execute(); + + $term = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load(key($aTermId)); + if ($term instanceof TermEntity) { + $this->setTerm($term); + } + return key($aTermId); } @@ -88,4 +102,15 @@ class Term { return key($term_name); } + public function setTerm(TermEntity $term) { + $this->term = $term; + } + + /** + * @return TermEntity + */ + public function getTerm() { + return $this->term; + } + }