class GeolocateUserSubscriber in Smart IP 8.2
Same name and namespace in other branches
- 8.4 src/EventSubscriber/GeolocateUserSubscriber.php \Drupal\smart_ip\EventSubscriber\GeolocateUserSubscriber
- 8.3 src/EventSubscriber/GeolocateUserSubscriber.php \Drupal\smart_ip\EventSubscriber\GeolocateUserSubscriber
Allows Smart IP to act on HTTP request event.
@package Drupal\smart_ip\EventSubscriber
Hierarchy
- class \Drupal\smart_ip\EventSubscriber\GeolocateUserSubscriber implements \Symfony\Component\EventDispatcher\EventSubscriberInterface
Expanded class hierarchy of GeolocateUserSubscriber
1 string reference to 'GeolocateUserSubscriber'
1 service uses GeolocateUserSubscriber
File
- src/
EventSubscriber/ GeolocateUserSubscriber.php, line 21 - Contains \Drupal\smart_ip\EventSubscriber\GeolocateUserSubscriber.
Namespace
Drupal\smart_ip\EventSubscriberView source
class GeolocateUserSubscriber implements EventSubscriberInterface {
/**
* Initiate user geolocation.
*
* @param \Symfony\Component\HttpKernel\Event\GetResponseEvent $event
*/
public function GeolocateUser(GetResponseEvent $event) {
// Check to see if the page is one of those allowed for geolocation
if (!\Drupal\smart_ip\SmartIp::checkAllowedPage()) {
// This page is not on the list to acquire/update user's geolocation
return;
}
/** @var \Drupal\smart_ip\SmartIpLocation $location */
$location = \Drupal::service('smart_ip.smart_ip_location');
// Save a database hit. If there's already session data, don't check if we
// need to geolocate the anonymous role.
if (empty($location
->getData())) {
$roles = \Drupal::config('smart_ip.settings')
->get('roles_to_geolocate');
if (in_array(AccountInterface::ANONYMOUS_ROLE, $roles)) {
SmartIp::updateUserLocation();
}
}
}
/**
* {@inheritdoc}
*/
static function getSubscribedEvents() {
$events[KernelEvents::REQUEST][] = array(
'GeolocateUser',
);
return $events;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
GeolocateUserSubscriber:: |
public | function | Initiate user geolocation. | |
GeolocateUserSubscriber:: |
static | function | Returns an array of event names this subscriber wants to listen to. |