class PiwikAnalyticsService in Analytics 7
Hierarchy
- class \AnalyticsService implements AnalyticsServiceInterface
- class \PiwikAnalyticsService
Expanded class hierarchy of PiwikAnalyticsService
1 string reference to 'PiwikAnalyticsService'
- analytics_piwik_analytics_service_info in analytics_piwik/
analytics_piwik.module - Implements hook_analytics_service_info().
File
- analytics_piwik/
src/ PiwikAnalyticsService.php, line 3
View source
class PiwikAnalyticsService extends AnalyticsService {
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return array(
'url' => NULL,
'id' => NULL,
);
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm($form, &$form_state) {
$options['url'] = array(
'#type' => 'textfield',
'#title' => t('URL'),
'#description' => t('The URL to your Piwik base directory.'),
'#default_value' => $this
->getConfiguration()['url'],
'#element_validate' => array(
'_analytics_piwik_validate_url',
),
'#required' => TRUE,
);
$options['id'] = array(
'#type' => 'textfield',
'#title' => t('Site ID'),
'#default_value' => $this
->getConfiguration()['id'],
'#element_validate' => array(
'element_validate_integer_positive',
),
'#required' => TRUE,
'#size' => 10,
);
return $options;
}
public function getOutput(array $context) {
$actions = array();
$actions[] = array(
'setSiteId',
(int) $this
->getConfiguration()['id'],
);
$actions[] = "_paq.push(['setTrackerUrl', u+'piwik.php']);";
$actions[] = array(
'trackPageView',
);
$actions[] = array(
'enableLinkTracking',
);
$actions = array_merge($actions, module_invoke_all('analytics_piwik_actions', $this, $context));
drupal_alter('analytics_piwik_actions', $actions, $this, $context);
$code = theme('analytics_piwik_js', array(
'actions' => $actions,
'service' => $this,
'url' => $this->{$this}
->getConfiguration()['url'],
));
$output = array();
$output['#attached']['js'][] = array(
'data' => $code,
'type' => 'inline',
//'weight' => 100000,
'preprocess' => FALSE,
'scope' => 'footer',
);
return $output;
}
}