From 756a6522d10bce0a7eeaa9cbcd15f9239b060ff3 Mon Sep 17 00:00:00 2001 From: Clement Desmidt Date: Fri, 11 Mar 2022 09:50:25 +0100 Subject: [PATCH] :tada: Hello world --- README.md | 21 ++++++++++++++++ umami.html | 3 +++ umami.meta | 4 +++ umami.php | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 102 insertions(+) create mode 100644 README.md create mode 100644 umami.html create mode 100644 umami.meta create mode 100644 umami.php diff --git a/README.md b/README.md new file mode 100644 index 0000000..f005ba0 --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +# Shaarli umami + +Allows to add umami tracking in Shaarli + +## Installation + +### Via Git + +Run the following command from the plugins folder of your Shaarli installation: + +git clone https://git.shikiryu.com/Shikiryu/shaarli-plugin-umami umami + +It'll create the autosave folder. + +### Manually + +Create the folder plugins/umami in your Shaarli installation. Download the ZIP file of this repository and copy all files in the newly created folder. + +## Configure + +Configure umami's domain with protocol and without a trailing / \ No newline at end of file diff --git a/umami.html b/umami.html new file mode 100644 index 0000000..b246306 --- /dev/null +++ b/umami.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/umami.meta b/umami.meta new file mode 100644 index 0000000..aeecdd4 --- /dev/null +++ b/umami.meta @@ -0,0 +1,4 @@ +description="A plugin that adds Umami tracking code to Shaarli pages." +parameters="UMAMI_URL;UMAMI_SITEID" +parameter.UMAMI_URL="Umami URL" +parameter.UMAMI_SITEID="Umami site ID" \ No newline at end of file diff --git a/umami.php b/umami.php new file mode 100644 index 0000000..7e0227a --- /dev/null +++ b/umami.php @@ -0,0 +1,74 @@ +get('plugins.UMAMI_URL'); + $umamiSiteid = $conf->get('plugins.UMAMI_SITEID'); + if (empty($umamiUrl) || empty($umamiSiteid)) { + $error = t('Umami plugin error: ' . + 'Please define UMAMI_URL and UMAMI_SITEID in the plugin administration page.'); + return [$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_umami_render_footer($data, $conf) +{ + $umamiUrl = $conf->get('plugins.UMAMI_URL'); + $umamiSiteid = $conf->get('plugins.UMAMI_SITEID'); + if (empty($umamiUrl) || empty($umamiSiteid)) { + return $data; + } + + // Free elements at the end of the page. + $data['endofpage'][] = sprintf( + file_get_contents(PluginManager::$PLUGINS_PATH . '/umami/umami.html'), + $umamiSiteid, + $umamiUrl + ); + + return $data; +} + +/** + * This function is never called, but contains translation calls for GNU gettext extraction. + */ +function umami_dummy_translation() +{ + // meta + t('A plugin that adds umami tracking code to Shaarli pages.'); + t('Umami URL'); + t('Umami site ID'); +}