function piwik_update_7202 in Piwik Web Analytics 7.2
Same name and namespace in other branches
- 6.2 piwik.install \piwik_update_7202()
Backup synchronous code snippets.
File
- ./
piwik.install, line 195 - Installation file for Piwik - Web analytics module.
Code
function piwik_update_7202() {
$messages = array();
// TODO: Backup synchronous code snippets. Remove variables in D8.
variable_set('piwik_codesnippet_before_backup_7202', variable_get('piwik_codesnippet_before', ''));
variable_set('piwik_codesnippet_after_backup_7202', variable_get('piwik_codesnippet_after', ''));
// Upgrade of BEFORE code snippet.
$code_before = variable_get('piwik_codesnippet_before', '');
if (!empty($code_before)) {
// No value, e.g. piwikTracker.enableLinkTracking()
$code_before = preg_replace('/(.*)piwikTracker\\.(\\w+)\\(\\);(.*)/i', '$1_paq.push(["$2"]);$3', $code_before);
// One value, e.g. piwikTracker.addDownloadExtensions("mp5|mp6"), piwikTracker.trackGoal(1)
$code_before = preg_replace('/(.*)piwikTracker\\.(\\w+)\\(("|\'?)(\\w+)("|\'?)\\);(.*)/i', '$1_paq.push(["$2", $3$4$5]);$6', $code_before);
// Multiple values e.g. piwikTracker.trackLink('/store', 'addTransaction', trans)
$code_before = preg_replace('/(.*)piwikTracker\\.(\\w+)\\((.*)\\);(.*)/i', '$1_paq.push(["$2", $3]);$4', $code_before);
variable_set('piwik_codesnippet_before', $code_before);
drupal_set_message(Database::getConnection()
->prefixTables("<strong>Attempted</strong> to upgrade Piwik custom 'before' code snippet. Backup of previous code snippet has been saved in database table '{variable}' as 'piwik_codesnippet_before_backup_7202'. Please consult Piwik's <a href='http://piwik.org/docs/javascript-tracking/#toc-asynchronous-tracking'>Asynchronous tracking Guide</a> if the upgrade was successfully."), 'warning');
$messages[] = t('Upgraded custom "before" code snippet.');
}
// Upgrade of AFTER code snippet.
// We cannot update this code snippet automatically. Show message that the upgrade has been skipped.
$code_after = variable_get('piwik_codesnippet_after', '');
if (!empty($code_after)) {
drupal_set_message(Database::getConnection()
->prefixTables("Automatic upgrade of Google Analytics custom 'after' code snippet has been skipped. Backup of previous code snippet has been saved in database table '{variable}' as 'piwik_codesnippet_after_backup_7202'. You need to manually upgrade the custom 'after' code snippet."), 'error');
$messages[] = t('Skipped custom "after" code snippet.');
}
return empty($messages) ? t('No custom code snipped found. Nothing to do.') : implode(' ', $messages);
}