* setting.
*/
+use Friendica\App;
use Friendica\Core\Hook;
use Friendica\Core\Logger;
use Friendica\Core\Renderer;
use Friendica\DI;
-use Friendica\Util\ConfigFileLoader;
-use Friendica\Util\Strings;
+use Friendica\Core\Config\Util\ConfigFileLoader;
function piwik_install() {
Hook::register('load_config', 'addon/piwik/piwik.php', 'piwik_load_config');
Hook::register('page_end', 'addon/piwik/piwik.php', 'piwik_analytics');
- Logger::log("installed piwik addon");
+ Logger::notice("installed piwik addon");
}
-function piwik_load_config(\Friendica\App $a, ConfigFileLoader $loader)
+function piwik_load_config(App $a, ConfigFileLoader $loader)
{
$a->getConfigCache()->load($loader->loadAddonConfig('piwik'));
}
-function piwik_analytics($a,&$b) {
-
+function piwik_analytics(App $a, array &$b)
+{
/*
* styling of every HTML block added by this addon is done in the
* associated CSS file. We just have to tell Friendica to get it
$b .= "</div>";
}
}
-function piwik_addon_admin (&$a, &$o) {
+function piwik_addon_admin (App $a, string &$o)
+{
$t = Renderer::getMarkupTemplate( "admin.tpl", "addon/piwik/" );
+
$o = Renderer::replaceMacros( $t, [
'$submit' => DI::l10n()->t('Save Settings'),
'$piwikbaseurl' => ['baseurl', DI::l10n()->t('Matomo (Piwik) Base URL'), DI::config()->get('piwik','baseurl' ), DI::l10n()->t('Absolute path to your Matomo (Piwik) installation. (without protocol (http/s), with trailing slash)')],
'$async' => ['async', DI::l10n()->t('Asynchronous tracking'), DI::config()->get('piwik','async' ), ''],
]);
}
-function piwik_addon_admin_post (&$a) {
- $url = (!empty($_POST['baseurl']) ? Strings::escapeTags(trim($_POST['baseurl'])) : '');
- $id = (!empty($_POST['siteid']) ? trim($_POST['siteid']) : '');
- $optout = (!empty($_POST['optout']) ? trim($_POST['optout']) : '');
- $async = (!empty($_POST['async']) ? trim($_POST['async']) : '');
- DI::config()->set('piwik', 'baseurl', $url);
- DI::config()->set('piwik', 'siteid', $id);
- DI::config()->set('piwik', 'optout', $optout);
- DI::config()->set('piwik', 'async', $async);
+
+function piwik_addon_admin_post(App $a)
+{
+ DI::config()->set('piwik', 'baseurl', trim($_POST['baseurl'] ?? ''));
+ DI::config()->set('piwik', 'siteid', trim($_POST['siteid'] ?? ''));
+ DI::config()->set('piwik', 'optout', trim($_POST['optout'] ?? ''));
+ DI::config()->set('piwik', 'async', trim($_POST['async'] ?? ''));
}