Add a method to retrieve a configuration value (#3422)

This will simplify extension code by removing a lot of logic from
the extension itself when it's not needed. I've tested it on one
of my extension with all the other recent extension modifications
and I could remove half of the code needed before.
This commit is contained in:
Alexis Degrugillier
2021-02-05 12:29:37 -05:00
committed by GitHub
parent d7cfea155f
commit 0577bc772b

View File

@@ -12,6 +12,7 @@ abstract class Minz_Extension {
private $version;
private $type;
private $config_key = 'extensions';
private $user_configuration;
public static $authorized_types = array(
'system',
@@ -236,6 +237,21 @@ abstract class Minz_Extension {
return FreshRSS_Context::$user_conf->{$this->config_key}[$this->getName()];
}
/**
* @param mixed $default
* @return mixed
*/
public function getUserConfigurationValue(string $key, $default = null) {
if (!is_array($this->user_configuration)) {
$this->user_configuration = $this->getUserConfiguration();
}
if (array_key_exists($key, $this->user_configuration)) {
return $this->user_configuration[$key];
}
return $default;
}
public function setUserConfiguration(array $configuration) {
if (!$this->isUserConfigurationEnabled()) {
return;