function googleanalytics_user in Google Analytics 6.3
Same name and namespace in other branches
- 5 googleanalytics.module \googleanalytics_user()
- 6.4 googleanalytics.module \googleanalytics_user()
- 6 googleanalytics.module \googleanalytics_user()
- 6.2 googleanalytics.module \googleanalytics_user()
Implementation of hook_user().
Allow users to decide if tracking code will be added to pages or not.
File
- ./
googleanalytics.module, line 290 - Drupal Module: GoogleAnalytics Adds the required Javascript to the bottom of all your Drupal pages to allow tracking by the Google Analytics statistics package.
Code
function googleanalytics_user($type, $edit, &$account, $category = NULL) {
switch ($type) {
case 'form':
if ($category == 'account' && user_access('opt-in or out of tracking') && ($custom = variable_get('googleanalytics_custom', 0)) != 0 && _googleanalytics_visibility_roles($account)) {
$form['googleanalytics'] = array(
'#type' => 'fieldset',
'#title' => t('Google Analytics configuration'),
'#weight' => 3,
'#collapsible' => TRUE,
'#tree' => TRUE,
);
switch ($custom) {
case 1:
$description = t('Users are tracked by default, but you are able to opt out.');
break;
case 2:
$description = t('Users are <em>not</em> tracked by default, but you are able to opt in.');
break;
}
// Disable tracking for visitors who have opted out from tracking via DNT (Do-Not-Track) header.
$disabled = FALSE;
if (variable_get('googleanalytics_privacy_donottrack', 1) && !empty($_SERVER['HTTP_DNT'])) {
$disabled = TRUE;
// Override settings value.
$account->googleanalytics['custom'] = FALSE;
$description .= '<span class="admin-disabled">';
$description .= ' ' . t('You have opted out from tracking via browser privacy settings.');
$description .= '</span>';
}
$form['googleanalytics']['custom'] = array(
'#type' => 'checkbox',
'#title' => t('Enable user tracking'),
'#description' => $description,
'#default_value' => isset($account->googleanalytics['custom']) ? $account->googleanalytics['custom'] : $custom == 1,
'#disabled' => $disabled,
);
return $form;
}
break;
}
}