diff --git a/google_analytics.module b/google_analytics.module index df3be4bd..c1d39cf2 100644 --- a/google_analytics.module +++ b/google_analytics.module @@ -657,12 +657,18 @@ function _google_analytics_visibility_pages() { if ($visibility_request_path_mode < 2) { // Compare the lowercase path alias (if any) and internal path. $path = \Drupal::service('path.current')->getPath(); - $path_alias = mb_strtolower(\Drupal::service('path_alias.manager')->getAliasByPath($path)); - $page_match = \Drupal::service('path.matcher')->matchPath($path_alias, $pages) || (($path != $path_alias) && \Drupal::service('path.matcher')->matchPath($path, $pages)); - // When $visibility_request_path_mode has a value of 0, the tracking - // code 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_request_path_mode xor $page_match); + try { + $path_alias = mb_strtolower(\Drupal::service('path_alias.manager')->getAliasByPath($path)); + $page_match = \Drupal::service('path.matcher')->matchPath($path_alias, $pages) || (($path != $path_alias) && \Drupal::service('path.matcher')->matchPath($path, $pages)); + // When $visibility_request_path_mode has a value of 0, the tracking + // code 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_request_path_mode xor $page_match); + } + catch (InvalidArgumentException $e) { + // Cannot match invalid paths. + $page_match = FALSE; + } } elseif (\Drupal::moduleHandler()->moduleExists('php')) { $page_match = php_eval($visibility_request_path_pages);