X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fpermissions_by_term%2Fsrc%2FListener%2FKernelEventListener.php;fp=web%2Fmodules%2Fcontrib%2Fpermissions_by_term%2Fsrc%2FKernelEventListener.php;h=e3a8df074810c0d4857b38013c3125cc0d0f8cb1;hp=276583de381bb200ccaf8ce73c21836bc650d962;hb=1270d9129ce8f27c9b28b10518e32132c58e0aca;hpb=c27c0f0cdaa3f354b1fe54a56ae7e854be6e3f68 diff --git a/web/modules/contrib/permissions_by_term/src/KernelEventListener.php b/web/modules/contrib/permissions_by_term/src/Listener/KernelEventListener.php similarity index 79% rename from web/modules/contrib/permissions_by_term/src/KernelEventListener.php rename to web/modules/contrib/permissions_by_term/src/Listener/KernelEventListener.php index 276583de3..e3a8df074 100644 --- a/web/modules/contrib/permissions_by_term/src/KernelEventListener.php +++ b/web/modules/contrib/permissions_by_term/src/Listener/KernelEventListener.php @@ -1,7 +1,9 @@ accessCheckService = \Drupal::service('permissions_by_term.access_check'); - $this->accessStorageService = \Drupal::service('permissions_by_term.access_storage'); + $this->term = \Drupal::service('permissions_by_term.term'); + $this->eventDispatcher = \Drupal::service('event_dispatcher'); } /** @@ -36,6 +56,9 @@ class KernelEventListener implements EventSubscriberInterface if ($this->canRequestGetNode($event->getRequest())) { $nid = $event->getRequest()->attributes->get('node')->get('nid')->getValue()['0']['value']; if (!$this->accessCheckService->canUserAccessByNodeId($nid)) { + $accessDeniedEvent = new PermissionsByTermDeniedEvent($nid); + $this->eventDispatcher->dispatch(PermissionsByTermDeniedEvent::NAME, $accessDeniedEvent); + $this->sendUserToAccessDeniedPage(); } } @@ -46,7 +69,7 @@ class KernelEventListener implements EventSubscriberInterface $query_string = $event->getRequest()->get('q'); $query_string = trim($query_string); - $tid = $this->accessStorageService->getTermIdByName($query_string); + $tid = $this->term->getTermIdByName($query_string); if (!$this->accessCheckService->isAccessAllowedByDatabase($tid)) { $this->sendUserToAccessDeniedPage(); } @@ -71,7 +94,7 @@ class KernelEventListener implements EventSubscriberInterface $suggested_terms = json_decode($json_suggested_terms); $allowed_terms = []; foreach ($suggested_terms as $term) { - $tid = $this->accessStorageService->getTermIdByName($term->label); + $tid = $this->term->getTermIdByName($term->label); if ($this->accessCheckService->isAccessAllowedByDatabase($tid)) { $allowed_terms[] = [ 'value' => $term->value,