From c3691b3331d4aa26ff7fb1294b7ef5218aa241ec Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Wed, 26 Jan 2011 15:03:10 +0100 Subject: [PATCH] Piwik plugin for Friendika This plugin allows you to enter the code necessary for Piwik analytics at the bottom of every page that Friendika produces. Displaying an opt-out link is possible (optional). For details about the configuration the the header of the PHP file. --- addon/piwik/piwik.css | 8 ++++++ addon/piwik/piwik.php | 64 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 addon/piwik/piwik.css create mode 100644 addon/piwik/piwik.php diff --git a/addon/piwik/piwik.css b/addon/piwik/piwik.css new file mode 100644 index 000000000..bb43b67ea --- /dev/null +++ b/addon/piwik/piwik.css @@ -0,0 +1,8 @@ +#piwik-optout-link { + padding: 100px 50px; + text-align: justify; + font-size: 0.85em; +} +#piwik-code-block { + display: none; +} diff --git a/addon/piwik/piwik.php b/addon/piwik/piwik.php new file mode 100644 index 000000000..aad2fd831 --- /dev/null +++ b/addon/piwik/piwik.php @@ -0,0 +1,64 @@ +config['piwik']['baseurl'] = 'www.example.com/piwik/'; + * $a->config['piwik']['sideid'] = '1'; + * $a->config['piwik']['optout'] = true; // set to false to disable + * + * Change the sideid to the ID that the Piwik tracker for your Friendika + * installation has. Alter the baseurl to fit your needs, don't care + * about http/https but beware to put the trailing / at the end of your + * setting. + */ + +function piwik_install() { + register_hook('page_end', 'addon/piwik/piwik.php', 'piwik_analytics'); + + logger("installed piwik plugin"); +} + +function piwik_uninstall() { + unregister_hook('page_end', 'addon/piwik/piwik.php', 'piwik_analytics'); + + logger("uninstalled piwik plugin"); +} + +function piwik_analytics($a,&$b) { + + /* + * styling of every HTML block added by this plugin is done in the + * associated CSS file. We just have to tell Friendika to get it + * into the page header. + */ + $a->page['htmlhead'] .= '' . "\r\n"; + + /* + * Get the configuration variables from the .htconfig file. + */ + $baseurl = get_config('piwik','baseurl'); + $sideod = get_config('piwik','sideid'); + $optout = get_config('piwik','optout'); + + /* + * Add the Piwik code for the side. + */ + $b .= "
\r\n \r\n\r\n\r\n
"; + /* + * If the optout variable is set to true then display the notice + * otherwise just include the above code into the page. + */ + if ($optout) { + $b .= ""; + } + +} +