name); variable_set('googleanalytics_track_'. $role->rid, !variable_get("googleanalytics_track_{$role_varname}", FALSE)); variable_del("googleanalytics_track_{$role_varname}"); } variable_set('googleanalytics_track__user1', FALSE); return $ret; } function googleanalytics_update_6000() { $ret = array(); variable_set('googleanalytics_trackfiles_extensions', variable_get('googleanalytics_trackfiles', GA_TRACKFILES_EXTENSIONS)); $trackfiles = variable_get('googleanalytics_trackfiles', GA_TRACKFILES_EXTENSIONS) ? TRUE : FALSE; variable_set('googleanalytics_trackfiles', $trackfiles); $ret[] = array('success' => TRUE, 'query' => 'Updated download tracking settings.'); return $ret; } function googleanalytics_update_6001() { $ret = array(); variable_set('googleanalytics_visibility', 0); // Remove tracking from all administrative pages, see http://drupal.org/node/34970. $pages = array( 'admin*', 'user*', 'node/add*', 'node/*/*', ); variable_set('googleanalytics_pages', implode("\n", $pages)); $ret[] = array('success' => TRUE, 'query' => 'Added page tracking to every page except the listed pages: '. implode(', ', $pages)); return $ret; } /** * Upgrade role settings and per user tracking settings * of "User 1" and remove outdated tracking variables. */ function googleanalytics_update_6002() { $ret = array(); // Upgrade enabled/disabled roles to new logic (correct for upgrades from 5.x-1.4 and 6.x-1.0). $roles = array(); foreach (user_roles() as $rid => $name) { if (variable_get('googleanalytics_track_'. $rid, FALSE)) { // Role ID is activated for user tracking. $roles[$rid] = $rid; $ret[] = array('success' => TRUE, 'query' => 'Enabled page tracking for role: '. $name); } else { $ret[] = array('success' => TRUE, 'query' => 'Disabled page tracking for role: '. $name); } } variable_set('googleanalytics_roles', $roles); // Upgrade disabled tracking of "user 1" to new logic. if (!$track_user1 = variable_get('googleanalytics_track__user1', 1)) { variable_set('googleanalytics_custom', 1); // Load user 1 object, set appropiate value and save new user settings back. $account = user_load(array('uid' => 1)); $account = user_save($account, array('googleanalytics' => array('custom' => 0)), 'account'); $ret[] = array('success' => TRUE, 'query' => 'Disabled user specific page tracking for website administrator.'); } // Delete outdated tracking settings. $ret[] = update_sql("DELETE FROM {variable} WHERE name LIKE 'googleanalytics_track_%'"); return $ret; } /** * #262468: Clear menu cache to solve stale menu data in 5.x-1.5 and 6.x-1.1 */ function googleanalytics_update_6003() { $ret = array(); menu_rebuild(); return $ret; } /** * Change visibility setting for path "user/*". */ function googleanalytics_update_6004() { $ret = array(); // Orginal pages setting. $pages = array( 'admin*', 'user*', 'node/add*', 'node/*/*', ); $diff = array_diff($pages, preg_split('/(\r\n?|\n)/', variable_get('googleanalytics_pages', implode("\n", $pages)))); if (empty($diff)) { // No diff to original settings found. Update with new settings. $pages = array( 'admin*', 'user/*/*', 'node/add*', 'node/*/*', ); variable_set('googleanalytics_pages', implode("\n", $pages)); $ret[] = array('success' => TRUE, 'query' => 'Path visibility filter setting changed from "user*" to "user/*/*".'); } else { $ret[] = array('success' => TRUE, 'query' => 'Custom path visibility filter setting found. Update skipped!'); } return $ret; } /** * Change visibility setting for path "admin*". */ function googleanalytics_update_6005() { $ret = array(); // Orginal pages setting. $pages = array( 'admin*', 'user/*/*', 'node/add*', 'node/*/*', ); $diff = array_diff($pages, preg_split('/(\r\n?|\n)/', variable_get('googleanalytics_pages', implode("\n", $pages)))); if (empty($diff)) { // No diff to original settings found. Update with new settings. $pages = array( 'admin', 'admin/*', 'user/*/*', 'node/add*', 'node/*/*', ); variable_set('googleanalytics_pages', implode("\n", $pages)); $ret[] = array('success' => TRUE, 'query' => 'Path visibility filter setting changed from "admin*" to "admin" and "admin/*".'); } else { $ret[] = array('success' => TRUE, 'query' => 'Custom path visibility filter setting found. Update skipped!'); } return $ret; } /** * Upgrade custom javascript settings. */ function googleanalytics_update_6006() { $ret = array(); variable_set('googleanalytics_codesnippet_before', variable_get('googleanalytics_codesnippet', '')); variable_del('googleanalytics_codesnippet'); $ret[] = array('success' => TRUE, 'query' => 'Upgraded custom javascript codesnippet setting.'); return $ret; } /** * Remove "User identifier" and "User name" from segmentation fields. * * This is a data protection and privacy law change. For more information see Google Analytics * terms of use section 8.1 (http://www.google.com/analytics/en-GB/tos.html). */ function googleanalytics_update_6007() { $ret = array(); $profile_fields = variable_get('googleanalytics_segmentation', array()); unset($profile_fields['uid']); unset($profile_fields['name']); variable_set('googleanalytics_segmentation', $profile_fields); $ret[] = array('success' => TRUE, 'query' => 'Removed "User identifier" and "User name" from segmentation fields.'); return $ret; }