Piwik\Plugins\Diagnostics\ConfigReader::addConfigValuesFromSystemSettings PHP Method

addConfigValuesFromSystemSettings() public method

Adds config values that can be used to overwrite a plugin system setting and adds a description + default value for already existing configured config values that overwrite a plugin system setting.
public addConfigValuesFromSystemSettings ( array $configValues, SystemSettings[] $systemSettings ) : array
$configValues array
$systemSettings Piwik\Settings\Plugin\SystemSettings[]
return array
    public function addConfigValuesFromSystemSettings($configValues, $systemSettings)
    {
        foreach ($systemSettings as $pluginSetting) {
            $pluginName = $pluginSetting->getPluginName();
            if (empty($pluginName)) {
                continue;
            }
            $configs[$pluginName] = array();
            foreach ($pluginSetting->getSettingsWritableByCurrentUser() as $setting) {
                $name = $setting->getName();
                $config = $setting->configureField();
                $description = '';
                if (!empty($config->description)) {
                    $description .= $config->description . ' ';
                }
                if (!empty($config->inlineHelp)) {
                    $description .= $config->inlineHelp;
                }
                if (isset($configValues[$pluginName][$name])) {
                    $configValues[$pluginName][$name]['defaultValue'] = $setting->getDefaultValue();
                    $configValues[$pluginName][$name]['description'] = trim($description);
                    if ($config->uiControl === PiwikSettings\FieldConfig::UI_CONTROL_PASSWORD) {
                        $configValues[$pluginName][$name]['value'] = $this->getMaskedPassword();
                    }
                } else {
                    $defaultValue = $setting->getValue();
                    $configValues[$pluginName][$name] = array('value' => null, 'description' => trim($description), 'isCustomValue' => false, 'defaultValue' => $defaultValue);
                }
            }
            if (empty($configValues[$pluginName])) {
                unset($configValues[$pluginName]);
            }
        }
        return $configValues;
    }

Usage Example

示例#1
0
 public function test_addConfigValuesFromPluginSettings_shouldMaskValueIfTypeIsPassword()
 {
     $settings = new SystemSettings();
     $settings->metric->configureField()->uiControl = FieldConfig::UI_CONTROL_PASSWORD;
     $existing = array('ExampleSettingsPlugin' => array('metric' => array('value' => 'test', 'description' => '', 'isCustomValue' => false, 'defaultValue' => null)));
     $configValues = $this->configReader->addConfigValuesFromSystemSettings($existing, array($settings));
     $this->assertSame('******', $configValues['ExampleSettingsPlugin']['metric']['value']);
 }
All Usage Examples Of Piwik\Plugins\Diagnostics\ConfigReader::addConfigValuesFromSystemSettings