danielebarchiesi@2
|
1 <?php
|
danielebarchiesi@2
|
2
|
danielebarchiesi@2
|
3 /**
|
danielebarchiesi@2
|
4 * @file
|
danielebarchiesi@2
|
5 * Definition of variables for Variable API module.
|
danielebarchiesi@2
|
6 */
|
danielebarchiesi@2
|
7
|
danielebarchiesi@2
|
8 /**
|
danielebarchiesi@2
|
9 * Implements hook_variable_info().
|
danielebarchiesi@2
|
10 */
|
danielebarchiesi@2
|
11 function googleanalytics_variable_info($options) {
|
danielebarchiesi@2
|
12 $variables['googleanalytics_account'] = array(
|
danielebarchiesi@2
|
13 'type' => 'string',
|
danielebarchiesi@2
|
14 'title' => t('Web Property ID', array(), $options),
|
danielebarchiesi@2
|
15 'default' => 'UA-',
|
danielebarchiesi@2
|
16 'description' => t('This ID is unique to each site you want to track separately, and is in the form of UA-xxxxxxx-yy. To get a Web Property ID, <a href="@analytics">register your site with Google Analytics</a>, or if you already have registered your site, go to your Google Analytics Settings page to see the ID next to every site profile. <a href="@webpropertyid">Find more information in the documentation</a>.', array('@analytics' => 'http://www.google.com/analytics/', '@webpropertyid' => url('https://developers.google.com/analytics/resources/concepts/gaConceptsAccounts', array('fragment' => 'webProperty'))), $options),
|
danielebarchiesi@2
|
17 'required' => TRUE,
|
danielebarchiesi@2
|
18 'group' => 'googleanalytics',
|
danielebarchiesi@2
|
19 'localize' => TRUE,
|
danielebarchiesi@2
|
20 'validate callback' => 'googleanalytics_validate_googleanalytics_account',
|
danielebarchiesi@2
|
21 );
|
danielebarchiesi@2
|
22
|
danielebarchiesi@2
|
23 return $variables;
|
danielebarchiesi@2
|
24 }
|
danielebarchiesi@2
|
25
|
danielebarchiesi@2
|
26 /**
|
danielebarchiesi@2
|
27 * Implements hook_variable_group_info().
|
danielebarchiesi@2
|
28 */
|
danielebarchiesi@2
|
29 function googleanalytics_variable_group_info() {
|
danielebarchiesi@2
|
30 $groups['googleanalytics'] = array(
|
danielebarchiesi@2
|
31 'title' => t('Google Analytics'),
|
danielebarchiesi@2
|
32 'description' => t('Configure tracking behavior to get insights into your website traffic and marketing effectiveness.'),
|
danielebarchiesi@2
|
33 'access' => 'administer google analytics',
|
danielebarchiesi@2
|
34 'path' => array('admin/config/system/googleanalytics'),
|
danielebarchiesi@2
|
35 );
|
danielebarchiesi@2
|
36
|
danielebarchiesi@2
|
37 return $groups;
|
danielebarchiesi@2
|
38 }
|
danielebarchiesi@2
|
39
|
danielebarchiesi@2
|
40 /**
|
danielebarchiesi@2
|
41 * Validate Web Property ID variable.
|
danielebarchiesi@2
|
42 */
|
danielebarchiesi@2
|
43 function googleanalytics_validate_googleanalytics_account($variable) {
|
danielebarchiesi@2
|
44 // Replace all type of dashes (n-dash, m-dash, minus) with the normal dashes.
|
danielebarchiesi@2
|
45 $variable['value'] = str_replace(array('–', '—', '−'), '-', $variable['value']);
|
danielebarchiesi@2
|
46
|
danielebarchiesi@2
|
47 if (!preg_match('/^UA-\d{4,}-\d+$/', $variable['value'])) {
|
danielebarchiesi@2
|
48 return t('A valid Google Analytics Web Property ID is case sensitive and formatted like UA-xxxxxxx-yy.');
|
danielebarchiesi@2
|
49 }
|
danielebarchiesi@2
|
50 }
|