diff --git a/application/PluginManager.php b/application/PluginManager.php index 1afc8d5..1e132a7 100644 --- a/application/PluginManager.php +++ b/application/PluginManager.php @@ -185,7 +185,11 @@ class PluginManager continue; } - $metaData[$plugin]['parameters'][$param] = ''; + $metaData[$plugin]['parameters'][$param]['value'] = ''; + // Optional parameter description in parameter.PARAM_NAME= + if (isset($metaData[$plugin]['parameter.'. $param])) { + $metaData[$plugin]['parameters'][$param]['desc'] = $metaData[$plugin]['parameter.'. $param]; + } } } diff --git a/application/config/ConfigPlugin.php b/application/config/ConfigPlugin.php index 047d2b0..cb0b6fc 100644 --- a/application/config/ConfigPlugin.php +++ b/application/config/ConfigPlugin.php @@ -80,9 +80,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,7 +101,7 @@ 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]; } } } diff --git a/inc/shaarli.css b/inc/shaarli.css index 305afdd..5808320 100644 --- a/inc/shaarli.css +++ b/inc/shaarli.css @@ -1156,7 +1156,7 @@ ul.errors { } #pluginsadmin .plugin_parameter { - padding: 5px 0; + padding: 10px 0; border-width: 1px 0; border-style: solid; border-color: #c0c0c0; @@ -1164,7 +1164,7 @@ ul.errors { #pluginsadmin .float_label { float: left; - width: 20%; + width: 40%; } #pluginsadmin a { diff --git a/plugins/wallabag/wallabag.meta b/plugins/wallabag/wallabag.meta index 26e1ea6..9c93f81 100644 --- a/plugins/wallabag/wallabag.meta +++ b/plugins/wallabag/wallabag.meta @@ -1,2 +1,4 @@ description="For each link, add a Wallabag icon to save it in your instance." -parameters="WALLABAG_URL;WALLABAG_VERSION" \ No newline at end of file +parameters="WALLABAG_URL;WALLABAG_VERSION" +parameter.WALLABAG_URL="Wallabag API URL" +parameter.WALLABAG_VERSION="Wallabag API version (1 or 2)" \ No newline at end of file diff --git a/tests/PluginManagerTest.php b/tests/PluginManagerTest.php index c751105..ddf4818 100644 --- a/tests/PluginManagerTest.php +++ b/tests/PluginManagerTest.php @@ -79,8 +79,14 @@ class PluginManagerTest extends PHPUnit_Framework_TestCase $this->pluginManager->load(array(self::$pluginName)); $expectedParameters = array( - 'pop' => '', - 'hip' => '', + 'pop' => array( + 'value' => '', + 'desc' => 'pop description', + ), + 'hip' => array( + 'value' => '', + 'desc' => '', + ), ); $meta = $this->pluginManager->getPluginsMeta(); $this->assertEquals('test plugin', $meta[self::$pluginName]['description']); diff --git a/tests/config/ConfigPluginTest.php b/tests/config/ConfigPluginTest.php index 716631b..3b37cd7 100644 --- a/tests/config/ConfigPluginTest.php +++ b/tests/config/ConfigPluginTest.php @@ -101,9 +101,9 @@ class ConfigPluginTest extends PHPUnit_Framework_TestCase $plugins = array( 'plugin_name' => array( 'parameters' => array( - 'param1' => true, - 'param2' => false, - 'param3' => '', + 'param1' => array('value' => true), + 'param2' => array('value' => false), + 'param3' => array('value' => ''), ) ) ); @@ -114,8 +114,8 @@ class ConfigPluginTest extends PHPUnit_Framework_TestCase ); $result = load_plugin_parameter_values($plugins, $parameters); - $this->assertEquals('value1', $result['plugin_name']['parameters']['param1']); - $this->assertEquals('value2', $result['plugin_name']['parameters']['param2']); - $this->assertEquals('', $result['plugin_name']['parameters']['param3']); + $this->assertEquals('value1', $result['plugin_name']['parameters']['param1']['value']); + $this->assertEquals('value2', $result['plugin_name']['parameters']['param2']['value']); + $this->assertEquals('', $result['plugin_name']['parameters']['param3']['value']); } } diff --git a/tests/plugins/test/test.meta b/tests/plugins/test/test.meta index ab999ed..26f243f 100644 --- a/tests/plugins/test/test.meta +++ b/tests/plugins/test/test.meta @@ -1,2 +1,4 @@ description="test plugin" -parameters="pop;hip" \ No newline at end of file +parameters="pop;hip" +parameter.pop="pop description" +parameter.hip= \ No newline at end of file diff --git a/tpl/pluginsadmin.html b/tpl/pluginsadmin.html index 5ddcf06..966360e 100644 --- a/tpl/pluginsadmin.html +++ b/tpl/pluginsadmin.html @@ -104,11 +104,12 @@
- +
{/loop}