Index: sites/all/modules/google_analytics/googleanalytics.admin.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/google_analytics/googleanalytics.admin.inc,v retrieving revision 1.4.2.14 diff -u -r1.4.2.14 googleanalytics.admin.inc --- sites/all/modules/google_analytics/googleanalytics.admin.inc 22 Aug 2009 11:48:15 -0000 1.4.2.14 +++ sites/all/modules/google_analytics/googleanalytics.admin.inc 8 Apr 2010 03:40:08 -0000 @@ -236,7 +236,52 @@ '#wysiwyg' => FALSE, '#description' => t("Code in this textarea will be added after pageTracker._trackPageview(). This is useful if you'd like to track a site in two accounts.") ); + + $form['advanced']['custom_var'] = array( + '#type' => 'fieldset', + '#title' => t('Custom Variables'), + '#collapsible' => TRUE, + '#collapsed' => TRUE, + '#description' => t('You can add Google Analytics Custom Variables here. These will be added to every page that Google Analytics appears on.', array('@custom_var' => 'http://code.google.com/intl/zh-TW/apis/analytics/docs/tracking/gaTrackingCustomVariables.html')) + ); + if (module_exists('token')) { + $form['advanced']['custom_var']['token_help'] = array( + '#title' => t('Replacement patterns'), + '#type' => 'fieldset', + '#collapsible' => TRUE, + '#collapsed' => TRUE, + ); + $form['advanced']['custom_var']['token_help']['help'] = array( + '#value' => theme('token_help', 'node'), + ); + } + for ($i=1;$i<6;$i++) { + $form['advanced']['custom_var']['googleanalytics_custom_var_'. $i .'_name'] = array( + '#type' => 'textfield', + '#title' => t('Name of index %index', array('%index' => $i)), + '#default_value' => variable_get('googleanalytics_custom_var_'. $i .'_name', ''), + '#description' => t("The name for the custom variable for index @i.", array('@i' => $i)), + ); + $form['advanced']['custom_var']['googleanalytics_custom_var_'. $i .'_value'] = array( + '#type' => 'textfield', + '#title' => t('Value of %index', array('%index' => $i)), + '#default_value' => variable_get('googleanalytics_custom_var_'. $i .'_value', ''), + '#description' => t("The value for the custom variable for index @i.", array('@i' => $i)), + ); + $form['advanced']['custom_var']['googleanalytics_custom_var_'. $i .'_scope'] = array( + '#type' => 'select', + '#title' => t('Scope of %index', array('%index' => $i)), + '#default_value' => variable_get('googleanalytics_custom_var_'. $i .'_scope', 3), + '#options' => array( + 3 => "page", + 2 => "session", + 1 => "visitor", + ), + '#description' => t("The scope for the custom variable for this var.") + ); + } + $form['advanced']['googleanalytics_js_scope'] = array( '#type' => 'select', '#title' => t('JavaScript scope'), Index: sites/all/modules/google_analytics/googleanalytics.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/google_analytics/googleanalytics.module,v retrieving revision 1.19.2.11 diff -u -r1.19.2.11 googleanalytics.module --- sites/all/modules/google_analytics/googleanalytics.module 22 Aug 2009 10:51:25 -0000 1.19.2.11 +++ sites/all/modules/google_analytics/googleanalytics.module 8 Apr 2010 03:40:08 -0000 @@ -153,6 +153,21 @@ $codesnippet_before = variable_get('googleanalytics_codesnippet_before', ''); $codesnippet_after = variable_get('googleanalytics_codesnippet_after', ''); + // Add custom var + $custom_var = ''; + for ($i=1;$i<6;$i++) { + $custom_var_i = variable_get('googleanalytics_custom_var_'. $i .'_name', ''); + if (!empty($custom_var_i)) { + if (module_exists('token')) { + $node = menu_get_object(); + $custom_var .= token_replace('pageTracker._setCustomVar('. $i .',"'. $custom_var_i .'","'. variable_get('googleanalytics_custom_var_'. $i .'_value', '') .'",'. variable_get('googleanalytics_custom_var_'. $i .'_scope', '') .');', 'node', $node); + } + else { + $custom_var .= 'pageTracker._setCustomVar('. $i .',"'. $custom_var_i .'","'. variable_get('googleanalytics_custom_var_'. $i .'_value', '') .'",'. variable_get('googleanalytics_custom_var_'. $i .'_scope', '') .');'; + } + } + } + // Build tracker code for footer. $script = 'try{'; $script .= 'var pageTracker = _gat._getTracker('. drupal_to_js($id) .');'; @@ -162,6 +177,9 @@ if (!empty($codesnippet_before)) { $script .= $codesnippet_before; } + if (!empty($custom_var)) { + $script .= $custom_var; + } $script .= 'pageTracker._trackPageview('. $url_custom .');'; if (!empty($codesnippet_after)) { $script .= $codesnippet_after; Index: sites/all/modules/google_analytics/googleanalytics.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/google_analytics/googleanalytics.install,v retrieving revision 1.6.2.12 diff -u -r1.6.2.12 googleanalytics.install --- sites/all/modules/google_analytics/googleanalytics.install 22 Aug 2009 10:51:25 -0000 1.6.2.12 +++ sites/all/modules/google_analytics/googleanalytics.install 8 Apr 2010 03:40:08 -0000 @@ -39,6 +39,11 @@ variable_del('googleanalytics_visibility'); variable_del('googleanalytics_pages'); variable_del('googleanalytics_translation_set'); + for ($i=1;$i<6;$i++) { + variable_del('googleanalytics_custom_var_'. $i .'_name'); + variable_del('googleanalytics_custom_var_'. $i .'_value'); + variable_del('googleanalytics_custom_var_'. $i .'_scope'); + } } /**