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 1 Feb 2010 03:49:43 -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), + ); + $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), + ); + $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 1 Feb 2010 03:49:44 -0000 @@ -153,6 +153,20 @@ $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) .');'; @@ -166,6 +180,9 @@ if (!empty($codesnippet_after)) { $script .= $codesnippet_after; } + if (!empty($custom_var)) { + $script .= $custom_var; + } $script .= '} catch(err) {}'; drupal_add_js($script, 'inline', 'footer'); 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 1 Feb 2010 03:49:43 -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'); + } } /**