diff --git a/plugins/piwik/piwik.meta b/plugins/piwik/piwik.meta new file mode 100644 index 0000000..20b9628 --- /dev/null +++ b/plugins/piwik/piwik.meta @@ -0,0 +1,4 @@ +description="A plugin that adds Piwik tracking code to Shaarli pages." +parameters="PIWIK_URL;PIWIK_SITEID" +parameter.PIWIK_URL="Piwik URL" +parameter.PIWIK_SITEID="Piwik site ID" diff --git a/plugins/piwik/piwik.php b/plugins/piwik/piwik.php new file mode 100644 index 0000000..7c44909 --- /dev/null +++ b/plugins/piwik/piwik.php @@ -0,0 +1,71 @@ +get('plugins.PIWIK_URL'); + $piwikSiteid = $conf->get('plugins.PIWIK_SITEID'); + if (empty($piwikUrl) || empty($piwikSiteid)) { + $error = 'Piwik plugin error: ' . + 'Please define PIWIK_URL and PIWIK_SITEID in the plugin administration page.'; + return array($error); + } +} + +/** + * Hook render_footer. + * Executed on every page redering. + * + * Template placeholders: + * - text + * - endofpage + * - js_files + * + * Data: + * - _PAGE_: current page + * - _LOGGEDIN_: true/false + * + * @param array $data data passed to plugin + * + * @return array altered $data. + */ +function hook_piwik_render_footer($data, $conf) +{ + $piwikUrl = $conf->get('plugins.PIWIK_URL'); + $piwikSiteid = $conf->get('plugins.PIWIK_SITEID'); + if (empty($piwikUrl) || empty($piwikSiteid)) { + return $data; + } + + // Free elements at the end of the page. + $data['endofpage'][] = '' . +'' . +'' . +''; + + return $data; +} +