You are here

public function SmartIpLocation::delete in Smart IP 8.3

Same name and namespace in other branches
  1. 8.4 src/SmartIpLocation.php \Drupal\smart_ip\SmartIpLocation::delete()

Deletes the Smart IP location data in user data and session.

Return value

\Drupal\smart_ip\SmartIpLocationInterface Smart IP's data location.

Overrides SmartIpLocationInterface::delete

File

src/SmartIpLocation.php, line 250
Contains \Drupal\smart_ip\SmartIpLocation.

Class

SmartIpLocation
Implements wrapper and utility methods for Smart IP's data location.

Namespace

Drupal\smart_ip

Code

public function delete() {
  $user = \Drupal::currentUser();
  $uid = $user
    ->id();
  $this->allData = [];

  // Save the Smart IP location in current user's session.
  SmartIp::setSession('smart_ip', NULL);
  if ($uid != 0) {

    /** @var \Drupal\user\UserData $userData */
    $userData = \Drupal::service('user.data');

    // Delete the Smart IP location in current user's user_data.
    $userData
      ->delete('smart_ip', $uid, 'geoip_location');
  }
  return $this;
}