Piwik\Plugins\CorePluginsAdmin\SettingsMetadata::setPluginSettings PHP Method

setPluginSettings() public method

public setPluginSettings ( Settings[] $settingsInstances, array $settingValues )
$settingsInstances Piwik\Settings\Settings[]
$settingValues array array('pluginName' => array('settingName' => 'settingValue'))
    public function setPluginSettings($settingsInstances, $settingValues)
    {
        try {
            foreach ($settingsInstances as $pluginName => $pluginSetting) {
                foreach ($pluginSetting->getSettingsWritableByCurrentUser() as $setting) {
                    $value = $this->findSettingValueFromRequest($settingValues, $pluginName, $setting->getName());
                    if (isset($value)) {
                        $setting->setValue($value);
                    }
                }
            }
        } catch (Exception $e) {
            $message = $e->getMessage();
            if (!empty($setting)) {
                $title = Piwik::translate(strip_tags($setting->configureField()->title));
                throw new Exception($title . ': ' . $message);
            }
        }
    }

Usage Example

Example #1
0
File: API.php Project: piwik/piwik
 /**
  * @internal
  * @param array $settingValues  Format: array('PluginName' => array(array('name' => 'SettingName1', 'value' => 'SettingValue1), ..))
  * @throws Exception
  */
 public function setUserSettings($settingValues)
 {
     Piwik::checkUserIsNotAnonymous();
     $pluginsSettings = $this->settingsProvider->getAllUserSettings();
     $this->settingsMetadata->setPluginSettings($pluginsSettings, $settingValues);
     try {
         foreach ($pluginsSettings as $pluginSetting) {
             $pluginSetting->save();
         }
     } catch (Exception $e) {
         throw new Exception(Piwik::translate('CoreAdminHome_PluginSettingsSaveFailed'));
     }
 }
All Usage Examples Of Piwik\Plugins\CorePluginsAdmin\SettingsMetadata::setPluginSettings