From 4ff703e3691e6cb398e8d208c1f54ed61315e0e8 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Thu, 10 Sep 2020 14:08:19 +0200 Subject: Plugins: do not save metadata along plugin parameters Also prevent the token to be saved. Fixes #1550 --- .../front/controller/admin/PluginsController.php | 1 + application/plugin/PluginManager.php | 29 +++++++++++----------- 2 files changed, 16 insertions(+), 14 deletions(-) (limited to 'application') diff --git a/application/front/controller/admin/PluginsController.php b/application/front/controller/admin/PluginsController.php index 0e09116e..8e059681 100644 --- a/application/front/controller/admin/PluginsController.php +++ b/application/front/controller/admin/PluginsController.php @@ -62,6 +62,7 @@ class PluginsController extends ShaarliAdminController if (isset($parameters['parameters_form'])) { unset($parameters['parameters_form']); + unset($parameters['token']); foreach ($parameters as $param => $value) { $this->container->conf->set('plugins.'. $param, escape($value)); } diff --git a/application/plugin/PluginManager.php b/application/plugin/PluginManager.php index 7881e3be..1b2197c9 100644 --- a/application/plugin/PluginManager.php +++ b/application/plugin/PluginManager.php @@ -100,20 +100,17 @@ class PluginManager */ public function executeHooks($hook, &$data, $params = array()) { - if (!empty($params['target'])) { - $data['_PAGE_'] = $params['target']; - } - - if (isset($params['loggedin'])) { - $data['_LOGGEDIN_'] = $params['loggedin']; - } - - if (isset($params['basePath'])) { - $data['_BASE_PATH_'] = $params['basePath']; - } - - if (isset($params['bookmarkService'])) { - $data['_BOOKMARK_SERVICE_'] = $params['bookmarkService']; + $metadataParameters = [ + 'target' => '_PAGE_', + 'loggedin' => '_LOGGEDIN_', + 'basePath' => '_BASE_PATH_', + 'bookmarkService' => '_BOOKMARK_SERVICE_', + ]; + + foreach ($metadataParameters as $parameter => $metaKey) { + if (array_key_exists($parameter, $params)) { + $data[$metaKey] = $params[$parameter]; + } } foreach ($this->loadedPlugins as $plugin) { @@ -128,6 +125,10 @@ class PluginManager } } } + + foreach ($metadataParameters as $metaKey) { + unset($data[$metaKey]); + } } /** -- cgit v1.2.3