### Eclipse Workspace Patch 1.0
#P drupal-contrib-6--1
Index: modules/google_analytics/googleanalytics.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/google_analytics/googleanalytics.admin.inc,v
retrieving revision 1.2.2.7
diff -u -r1.2.2.7 googleanalytics.admin.inc
--- modules/google_analytics/googleanalytics.admin.inc	30 Dec 2007 01:22:08 -0000	1.2.2.7
+++ modules/google_analytics/googleanalytics.admin.inc	2 Feb 2008 23:15:08 -0000
@@ -122,6 +122,18 @@
     $form['advanced']['googleanalytics_cache']['#description'] .= ' '. t('<a href="!url">Public file transfers</a> must be enabled to allow local caching.', array('!url' => url('admin/settings/file-system', array('query' => drupal_get_destination()))));
   }
 
+  $site_search_dependencies = '<div class="admin-dependencies">';
+  $site_search_dependencies .= t('Depends on: !dependencies', array('!dependencies' => (module_exists('search') ? 'Search'. t(' (<span class="admin-enabled">enabled</span>)') : 'Search'. t(' (<span class="admin-disabled">disabled</span>)'))));
+  $site_search_dependencies .= '</div>';
+
+  $form['advanced']['googleanalytics_site_search'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Track site search'),
+    '#description' => t('If checked, search keywords are tracked. You must configure your Google account to use the query parameter <em>search</em>. For more information see <a href="!url">How do I set up Site Search for my profile</a>.', array('!url' => 'http://www.google.com/support/analytics/bin/answer.py?answer=75817&ctx=sibling')) . $site_search_dependencies,
+    '#default_value' => variable_get('googleanalytics_site_search', FALSE),
+    '#disabled' => (module_exists('search') ? FALSE : TRUE),
+  );
+
   $form['advanced']['googleanalytics_codesnippet'] = array(
     '#type' => 'textarea',
     '#title' => t('JavaScript Code'),
Index: modules/google_analytics/googleanalytics.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/google_analytics/googleanalytics.install,v
retrieving revision 1.4.2.4
diff -u -r1.4.2.4 googleanalytics.install
--- modules/google_analytics/googleanalytics.install	30 Dec 2007 13:05:17 -0000	1.4.2.4
+++ modules/google_analytics/googleanalytics.install	2 Feb 2008 23:15:08 -0000
@@ -24,6 +24,7 @@
   variable_del('googleanalytics_trackfiles');
   variable_del('googleanalytics_cache');
   variable_del('googleanalytics_last_cache');
+  variable_del('googleanalytics_site_search');
 }
 
 
Index: modules/google_analytics/googleanalytics.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/google_analytics/googleanalytics.module,v
retrieving revision 1.16.2.10
diff -u -r1.16.2.10 googleanalytics.module
--- modules/google_analytics/googleanalytics.module	30 Dec 2007 20:39:16 -0000	1.16.2.10
+++ modules/google_analytics/googleanalytics.module	2 Feb 2008 23:15:09 -0000
@@ -116,6 +116,18 @@
       }
     }
 
+    // Site search tracking support.
+    $url_custom = '';
+    if (module_exists('search') && variable_get('googleanalytics_site_search', FALSE) && arg(0) == 'search' && arg(1) == 'node') {
+      $keys = search_get_keys();
+      $url_custom = url('search/node', array('query' => 'search='. $keys));
+    }
+
+    // Surround custom urls with single quotes.
+    if (!empty($url_custom)) {
+      $url_custom = '\''. $url_custom .'\'';
+    }
+
     // Should the legacy code be used?
     if ($legacy_version) {
       $script = '<script type="text/javascript" src="'. $source ."\"></script>\n";
@@ -127,7 +139,7 @@
       if (!empty($codesnippet)) {
         $script .= $codesnippet;
       }
-      $script .= 'urchinTracker();';
+      $script .= 'urchinTracker('. $url_custom .');';
       $script .= "</script>\n";
     }
     else {
@@ -141,7 +153,7 @@
         $script .= $segmentation;
       }
       $script .= $codesnippet;
-      $script .= 'pageTracker._trackPageview();';
+      $script .= 'pageTracker._trackPageview('. $url_custom .');';
       $script .= "</script>\n";
     }
 
