piwik.install in Piwik Web Analytics 5
Same filename and directory in other branches
Installation file for Piwik - Web analytics module.
File
piwik.installView source
<?php
/**
* @file
* Installation file for Piwik - Web analytics module.
*/
function piwik_install() {
// Remove tracking from all administrative pages, see http://drupal.org/node/34970.
variable_set('piwik_visibility', 0);
$pages = array(
'admin',
'admin/*',
'user/*/*',
'node/add*',
'node/*/*',
);
variable_set('piwik_pages', implode("\n", $pages));
}
function piwik_uninstall() {
variable_del('piwik_cache');
variable_del('piwik_custom');
variable_del('piwik_codesnippet_before');
variable_del('piwik_codesnippet_after');
variable_del('piwik_js_scope');
variable_del('piwik_last_cache');
variable_del('piwik_pages');
variable_del('piwik_roles');
variable_del('piwik_site_id');
variable_del('piwik_site_search');
variable_del('piwik_track');
// interrims solution
variable_del('piwik_trackfiles_extensions');
variable_del('piwik_url_http');
variable_del('piwik_url_https');
variable_del('piwik_visibility');
}
/**
* Implementation of hook_requirements().
*/
function piwik_requirements($phase) {
$requirements = array();
$t = get_t();
switch ($phase) {
case 'runtime':
// Raise warning if Piwik user account has not been set yet.
if (!preg_match('/^\\d{1,}$/', variable_get('piwik_site_id', ''))) {
$requirements['piwik'] = array(
'title' => $t('Piwik module'),
'description' => $t('Piwik module has not been configured yet. Please configure its settings from the <a href="@url">Piwik settings page</a>.', array(
'@url' => url('admin/settings/piwik'),
)),
'severity' => REQUIREMENT_ERROR,
'value' => $t('Not configured'),
);
}
break;
}
return $requirements;
}
/**
* Remove cache directory if module is disabled (or uninstalled).
*/
function piwik_disable() {
file_delete(file_directory_path() . '/piwik/piwik.js');
rmdir(file_directory_path() . '/piwik');
}
/**
* Change visibility setting for paths.
*/
function piwik_update_6000() {
$ret = array();
// Orginal pages setting.
$pages = array(
'admin*',
'user*',
'node/add*',
'node/*/*',
);
$diff = array_diff($pages, preg_split('/(\\r\\n?|\\n)/', variable_get('piwik_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('piwik_pages', implode("\n", $pages));
$ret[] = array(
'success' => TRUE,
'query' => 'Path visibility filter setting changed from "admin*" to "admin, admin/*" and "user*" changed to "user/*/*".',
);
}
else {
$ret[] = array(
'success' => TRUE,
'query' => 'Custom path visibility filter setting found. Update skipped!',
);
}
return $ret;
}
/**
* Upgrade custom javascript settings.
*/
function piwik_update_6001() {
$ret = array();
variable_set('piwik_codesnippet_before', variable_get('piwik_codesnippet', ''));
variable_del('piwik_codesnippet');
$ret[] = array(
'success' => TRUE,
'query' => 'Upgraded custom javascript codesnippet setting.',
);
return $ret;
}
/**
* Update list of default extensions
*/
function piwik_update_6003() {
$ret = array();
if (variable_get('piwik_trackfiles_extensions', '') == '7z|aac|avi|csv|doc|exe|flv|gif|gz|jpe?g|js|mp(3|4|e?g)|mov|pdf|phps|png|ppt|rar|sit|tar|torrent|txt|wma|wmv|xls|xml|zip') {
variable_set('piwik_trackfiles_extensions', '7z|aac|arc|arj|asf|asx|avi|bin|csv|doc|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls|xml|z|zip');
}
$ret[] = array(
'success' => TRUE,
'query' => 'The default extensions for download tracking have been updated to piwik defaults.',
);
return $ret;
}
Functions
Name | Description |
---|---|
piwik_disable | Remove cache directory if module is disabled (or uninstalled). |
piwik_install | @file Installation file for Piwik - Web analytics module. |
piwik_requirements | Implementation of hook_requirements(). |
piwik_uninstall | |
piwik_update_6000 | Change visibility setting for paths. |
piwik_update_6001 | Upgrade custom javascript settings. |
piwik_update_6003 | Update list of default extensions |