function smart_ip_check_allowed_page in Smart IP 7.2
Same name and namespace in other branches
- 6.2 smart_ip.module \smart_ip_check_allowed_page()
 
Check page URL in allowed geolocate list.
Return value
string
4 calls to smart_ip_check_allowed_page()
- device_geolocation_check_geolocation_attempt_ajax in modules/
device_geolocation/ device_geolocation.module  - Check for Geolocation attempt ajax callback.
 - device_geolocation_get_coordinates in modules/
device_geolocation/ device_geolocation.module  - Get Visitor's coordinates.
 - device_geolocation_init in modules/
device_geolocation/ device_geolocation.module  - Implements hook_init().
 - smart_ip_init in ./
smart_ip.module  - Implements hook_init()
 
File
- ./
smart_ip.module, line 1318  - Determines country, geo location (longitude/latitude), region, city and postal code of the user, based on IP address
 
Code
function smart_ip_check_allowed_page() {
  $pages = variable_get('smart_ip_allowed_pages', '');
  if (empty($pages)) {
    // No pages specified then all pages are allowed
    return TRUE;
  }
  else {
    if (isset($_GET['uri'])) {
      // Handle "uri" from ajax request
      if (empty($_GET['uri'])) {
        $url = variable_get('site_frontpage', 'node');
      }
      else {
        $url = $_GET['uri'];
      }
    }
    else {
      $url = $_GET['q'];
    }
    // Convert the Drupal path to lowercase
    $path = drupal_strtolower(drupal_get_path_alias($url));
    // Compare the lowercase internal and lowercase path alias (if any).
    $page_match = drupal_match_path($path, $pages);
    if ($path != $url) {
      $page_match = $page_match || drupal_match_path($url, $pages);
    }
    elseif ($path == $url) {
      $url = drupal_get_normal_path($url);
      $page_match = $page_match || drupal_match_path($url, $pages);
    }
    return $page_match;
  }
}