diff --git a/plugins/piwik_analytics/config.inc.php.dist b/plugins/piwik_analytics/config.inc.php.dist
new file mode 100644
index 00000000..7397e8f6
--- /dev/null
+++ b/plugins/piwik_analytics/config.inc.php.dist
@@ -0,0 +1,44 @@
+
\ No newline at end of file
diff --git a/plugins/piwik_analytics/piwik_analytics.php b/plugins/piwik_analytics/piwik_analytics.php
new file mode 100644
index 00000000..27a2603f
--- /dev/null
+++ b/plugins/piwik_analytics/piwik_analytics.php
@@ -0,0 +1,83 @@
+
+ *
+ **/
+
+class piwik_analytics extends rcube_plugin
+{
+ function init()
+ {
+ if (file_exists(dirname(__FILE__) . "/config.inc.php")) {
+ $this->load_config('config.inc.php');
+ } elseif (file_exists(dirname(__FILE__) . "/config.inc.php.dist")) {
+ $this->load_config('config.inc.php.dist');
+ } elseif (file_exists(dirname(__FILE__) . "/config/config.inc.php")) {
+ $this->load_config('config/config.inc.php');
+ } elseif (file_exists(dirname(__FILE__) . "/config/config.inc.php.dist")) {
+ $this->load_config('config/config.inc.php.dist');
+ /* } else {
+ error_log("Cannot find / load configuration for plugin piwik_analytics"); */
+ }
+
+ $this->add_hook('render_page', array($this, 'add_script'));
+ }
+
+ function add_script($args) {
+ $rcmail = rcmail::get_instance();
+
+ $exclude = $rcmail->config->get('piwik_analytics_exclude');
+
+ if (empty($exclude) || !is_array($exclude)) {
+ $exclude = Array();
+ }
+
+ if (isset($exclude[$args['template']])) {
+ return $args;
+ }
+
+ if ($rcmail->config->get('piwik_analytics_privacy', true)) {
+ if (!empty($_SESSION['user_id'])) {
+ return $args;
+ }
+ }
+
+ if (!$rcmail->config->get('piwik_analytics_url', false)) {
+ return $args;
+ }
+
+ $script = '
+
+
+
+';
+
+ // add script to end of page
+ $rcmail->output->add_footer($script);
+
+ return $args;
+ }
+}
+
+?>