X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=application%2Fconfig%2FConfigPlugin.php;h=6cadef126c3a10d91c24e7f885e1d8da7eefba2b;hb=dafd3f081ab581e074f3280d4323dc92cb33df46;hp=047d2b03113320e1d3b0fba190376152cef5b75d;hpb=0c4c7ae818336d5b0f94562e551ca1a3f34d3435;p=github%2Fshaarli%2FShaarli.git diff --git a/application/config/ConfigPlugin.php b/application/config/ConfigPlugin.php index 047d2b03..6cadef12 100644 --- a/application/config/ConfigPlugin.php +++ b/application/config/ConfigPlugin.php @@ -1,4 +1,8 @@ $data) { if (startsWith($key, 'order')) { continue; @@ -31,8 +49,7 @@ function save_plugin_config($formData) // If there is no order, it means a disabled plugin has been enabled. if (isset($formData['order_' . $key])) { $plugins[(int) $formData['order_' . $key]] = $key; - } - else { + } else { $newEnabledPlugins[] = $key; } } @@ -45,7 +62,7 @@ function save_plugin_config($formData) throw new PluginConfigOrderException(); } - $finalPlugins = array(); + $finalPlugins = []; // Make plugins order continuous. foreach ($plugins as $plugin) { $finalPlugins[] = $plugin; @@ -64,10 +81,10 @@ function save_plugin_config($formData) */ function validate_plugin_order($formData) { - $orders = array(); + $orders = []; foreach ($formData as $key => $value) { // No duplicate order allowed. - if (in_array($value, $orders)) { + if (in_array($value, $orders, true)) { return false; } @@ -80,9 +97,13 @@ function validate_plugin_order($formData) } /** - * Affect plugin parameters values into plugins array. + * Affect plugin parameters values from the ConfigManager into plugins array. * - * @param mixed $plugins Plugins array ($plugins[]['parameters']['param_name'] = . + * @param mixed $plugins Plugins array: + * $plugins[]['parameters'][] = [ + * 'value' => , + * 'desc' => + * ] * @param mixed $conf Plugins configuration. * * @return mixed Updated $plugins array. @@ -97,24 +118,10 @@ function load_plugin_parameter_values($plugins, $conf) foreach ($plugin['parameters'] as $key => $param) { if (!empty($conf[$key])) { - $out[$name]['parameters'][$key] = $conf[$key]; + $out[$name]['parameters'][$key]['value'] = $conf[$key]; } } } return $out; } - -/** - * Exception used if an error occur while saving plugin configuration. - */ -class PluginConfigOrderException extends Exception -{ - /** - * Construct exception. - */ - public function __construct() - { - $this->message = 'An error occurred while trying to save plugins loading order.'; - } -}