public function SmartIpLocation::getData in Smart IP 8.4
Same name and namespace in other branches
- 8.2 src/SmartIpLocation.php \Drupal\smart_ip\SmartIpLocation::getData()
- 8.3 src/SmartIpLocation.php \Drupal\smart_ip\SmartIpLocation::getData()
Gets all the Smart IP location data.
Parameters
bool $update: Flag to execute update user's geolocation if it is still empty. Default to TRUE.
Return value
array An array of Smart IP location data.
Overrides SmartIpLocationInterface::getData
2 calls to SmartIpLocation::getData()
- SmartIpLocation::get in src/
SmartIpLocation.php - Gets an item in Smart IP location data or all the Smart IP location data if supplied no parameter.
- SmartIpLocation::__construct in src/
SmartIpLocation.php - Constructs Smart IP location.
File
- src/
SmartIpLocation.php, line 175 - Contains \Drupal\smart_ip\SmartIpLocation.
Class
- SmartIpLocation
- Implements wrapper and utility methods for Smart IP's data location.
Namespace
Drupal\smart_ipCode
public function getData($update = FALSE) {
if (empty($this->allData)) {
if ($update) {
SmartIp::updateUserLocation();
}
// Get current user's stored location from session.
$data = SmartIp::getSession('smart_ip');
$user = \Drupal::currentUser();
if (empty($data['location']) && $user
->id() != 0) {
/** @var \Drupal\user\UserData $userData */
$userData = \Drupal::service('user.data');
// Get current user's stored location from user_data
$data = $userData
->get('smart_ip', $user
->id(), 'geoip_location');
}
if (!empty($data['location'])) {
// Populate the Smart IP location from current user's data or session.
$this
->setData($data['location']);
}
}
return $this->allData;
}