/** * Creates a new user setting. * * Settings will be displayed in the UI depending on the order of `makeSetting` calls. This means you can define * the order of the displayed settings by calling makeSetting first for more important settings. * * @param string $name The name of the setting that shall be created * @param mixed $defaultValue The default value for this setting. Note the value will not be converted to the * specified type. * @param string $type The PHP internal type the value of this setting should have. * Use one of FieldConfig::TYPE_* constancts * @param \Closure $fieldConfigCallback A callback method to configure the field that shall be displayed in the * UI to define the value for this setting * @return UserSetting Returns an instance of the created measurable setting. */ protected function makeSetting($name, $defaultValue, $type, $configureCallback) { $userLogin = Piwik::getCurrentUserLogin(); $setting = new UserSetting($name, $defaultValue, $type, $this->pluginName, $userLogin); $setting->setConfigureCallback($configureCallback); $this->addSetting($setting); return $setting; }