X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=piwik%2Fpiwik.php;h=c6c8ea9e037ebe97f1bd50051404579ae2fded4b;hb=c3e93f1ed9a487f823bcc75ddd43024334c25bfc;hp=5a46cdb3898e3b331458e7b2c0485687f66177eb;hpb=331c34303e17ca703a388c4aec3aaeb2b6be8f0d;p=friendica-addons.git diff --git a/piwik/piwik.php b/piwik/piwik.php index 5a46cdb3..c6c8ea9e 100755 --- a/piwik/piwik.php +++ b/piwik/piwik.php @@ -2,43 +2,46 @@ /** * Name: Piwik Analytics * Description: Piwik Analytics Plugin for Friendica - * Version: 1.0 - * Author: Tobias Diekershoff + * Version: 1.3 + * Author: Tobias Diekershoff + * Author: Klaus Weidenbach */ - /* Piwik Analytics Plugin for Friendica * * Author: Tobias Diekershoff * tobias.diekershoff@gmx.net * -* License: 3-clause BSD license + * License: 3-clause BSD license * * Configuration: - * Add the following two lines to your .htconfig.php file: + * Use the administration panel to configure the Piwik tracking addon, or + * in case you don't use this add the following lines to your .htconfig.php + * file: * * $a->config['piwik']['baseurl'] = 'www.example.com/piwik/'; * $a->config['piwik']['siteid'] = '1'; * $a->config['piwik']['optout'] = true; // set to false to disable + * $a->config['piwik']['async'] = false; // set to true to enable * * Change the siteid to the ID that the Piwik tracker for your Friendica * 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. - * - * Documentation see http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/Piwik_Plugin */ +use Friendica\Core\Config; + function piwik_install() { register_hook('page_end', 'addon/piwik/piwik.php', 'piwik_analytics'); - logger("installed piwik plugin"); + logger("installed piwik plugin"); } function piwik_uninstall() { unregister_hook('page_end', 'addon/piwik/piwik.php', 'piwik_analytics'); - logger("uninstalled piwik plugin"); + logger("uninstalled piwik plugin"); } function piwik_analytics($a,&$b) { @@ -48,48 +51,58 @@ function piwik_analytics($a,&$b) { * associated CSS file. We just have to tell Friendica to get it * into the page header. */ - $a->page['htmlhead'] .= '' . "\r\n"; + $a->page['htmlhead'] .= ''; /* * Get the configuration variables from the .htconfig file. */ - $baseurl = get_config('piwik','baseurl'); - $siteid = get_config('piwik','siteid'); - $optout = get_config('piwik','optout'); + $baseurl = Config::get('piwik','baseurl'); + $siteid = Config::get('piwik','siteid'); + $optout = Config::get('piwik','optout'); + $async = Config::get('piwik','async'); /* - * Add the Piwik code for the site. + * Add the Piwik tracking code for the site. + * If async is set to true use asynchronous tracking */ - $b .= "
\r\n \r\n\r\n\r\n
"; + if ($async) { + $b .= " \r\n"; + $b .= "
\r\n\r\n
"; + } else { + $b .= " \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 .= ""; + $b .= ""; } - } function piwik_plugin_admin (&$a, &$o) { - $t = file_get_contents( dirname(__file__)."/admin.tpl"); - $o = replace_macros( $t, array( - '$submit' => t('Submit'), - '$baseurl' => array('baseurl', t('Piwik Base URL'), get_config('piwik','baseurl' ), ''), - '$siteid' => array('siteid', t('Site ID'), get_config('piwik','siteid' ), ''), - '$optout' => array('optout', t('Show opt-out cookie link?'), get_config('piwik','optout' ), ''), - )); + $t = get_markup_template( "admin.tpl", "addon/piwik/" ); + $o = replace_macros( $t, array( + '$submit' => t('Save Settings'), + '$piwikbaseurl' => array('baseurl', t('Piwik Base URL'), Config::get('piwik','baseurl' ), t('Absolute path to your Piwik installation. (without protocol (http/s), with trailing slash)')), + '$siteid' => array('siteid', t('Site ID'), Config::get('piwik','siteid' ), ''), + '$optout' => array('optout', t('Show opt-out cookie link?'), Config::get('piwik','optout' ), ''), + '$async' => array('async', t('Asynchronous tracking'), Config::get('piwik','async' ), ''), + )); } function piwik_plugin_admin_post (&$a) { - $url = ((x($_POST, 'baseurl')) ? notags(trim($_POST['baseurl'])) : ''); - $id = ((x($_POST, 'siteid')) ? trim($_POST['siteid']) : ''); - $optout = ((x($_POST, 'optout')) ? trim($_POST['optout']) : ''); - set_config('piwik', 'baseurl', $url); - set_config('piwik', 'siteid', $id); - set_config('piwik', 'optout', $optout); - info( t('Settings updated.'). EOL); + $url = ((x($_POST, 'baseurl')) ? notags(trim($_POST['baseurl'])) : ''); + $id = ((x($_POST, 'siteid')) ? trim($_POST['siteid']) : ''); + $optout = ((x($_POST, 'optout')) ? trim($_POST['optout']) : ''); + $async = ((x($_POST, 'async')) ? trim($_POST['async']) : ''); + Config::set('piwik', 'baseurl', $url); + Config::set('piwik', 'siteid', $id); + Config::set('piwik', 'optout', $optout); + Config::set('piwik', 'async', $async); + info( t('Settings updated.'). EOL); }