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];
+ }
}
}
}
/**
- * Affect plugin parameters values into plugins array.
+ * Affect plugin parameters values from the ConfigManager into plugins array.
*
- * @param mixed $plugins Plugins array ($plugins[<plugin_name>]['parameters']['param_name'] = <value>.
+ * @param mixed $plugins Plugins array:
+ * $plugins[<plugin_name>]['parameters'][<param_name>] = [
+ * 'value' => <value>,
+ * 'desc' => <description>
+ * ]
* @param mixed $conf Plugins configuration.
*
* @return mixed Updated $plugins array.
foreach ($plugin['parameters'] as $key => $param) {
if (!empty($conf[$key])) {
- $out[$name]['parameters'][$key] = $conf[$key];
+ $out[$name]['parameters'][$key]['value'] = $conf[$key];
}
}
}
$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']);
$plugins = array(
'plugin_name' => array(
'parameters' => array(
- 'param1' => true,
- 'param2' => false,
- 'param3' => '',
+ 'param1' => array('value' => true),
+ 'param2' => array('value' => false),
+ 'param3' => array('value' => ''),
)
)
);
);
$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']);
}
}
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