You are here

function _googleanalytics_visibility_pages in Google Analytics 5

Same name and namespace in other branches
  1. 6.4 googleanalytics.module \_googleanalytics_visibility_pages()
  2. 6 googleanalytics.module \_googleanalytics_visibility_pages()
  3. 6.2 googleanalytics.module \_googleanalytics_visibility_pages()
  4. 6.3 googleanalytics.module \_googleanalytics_visibility_pages()
  5. 7.2 googleanalytics.module \_googleanalytics_visibility_pages()
  6. 7 googleanalytics.module \_googleanalytics_visibility_pages()

Based on visibility setting this function returns TRUE if GA code should be added to the current page and otherwise FALSE.

2 calls to _googleanalytics_visibility_pages()
googleanalytics_footer in ./googleanalytics.module
Implementation of hook_footer() to insert Javascript at the end of the page
googleanalytics_menu in ./googleanalytics.module

File

./googleanalytics.module, line 650

Code

function _googleanalytics_visibility_pages() {
  static $page_match;

  // Cache visibility setting in hook_init for hook_footer.
  if (!isset($page_match)) {
    $visibility = variable_get('googleanalytics_visibility', 0);
    $pages = variable_get('googleanalytics_pages', '');

    // Match path if necessary.
    if (!empty($pages)) {
      if ($visibility < 2) {
        $path = drupal_get_path_alias($_GET['q']);

        // Compare with the internal and path alias (if any).
        $page_match = _googleanalytics_match_path($path, $pages);
        if ($path != $_GET['q']) {
          $page_match = $page_match || _googleanalytics_match_path($_GET['q'], $pages);
        }

        // When $visibility has a value of 0, the block is displayed on
        // all pages except those listed in $pages. When set to 1, it
        // is displayed only on those pages listed in $pages.
        $page_match = !($visibility xor $page_match);
      }
      else {
        $page_match = drupal_eval($pages);
      }
    }
    else {
      $page_match = TRUE;
    }
  }
  return $page_match;
}