aboutsummaryrefslogtreecommitdiff
path: root/lib/Minz/Configuration.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2014-12-06 16:39:10 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2014-12-06 16:41:06 +0100
commit4c888590e6f0fd89fc1dccebb5e815883eeaa54c (patch)
tree8503c83d00eedf6d7ab64813aa555121ef87b2e4 /lib/Minz/Configuration.php
parent2e4682ebd451f8dd291e11141553add9164cbbef (diff)
Improve system/user types for extensions
- system extensions can only be managed by an administrator - system extensions are loaded for all users (even if not logged) - user extensions are loaded for logged users only - system extensions loading is saved in global config.php file See https://github.com/FreshRSS/FreshRSS/issues/252
Diffstat (limited to 'lib/Minz/Configuration.php')
-rw-r--r--lib/Minz/Configuration.php19
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/Minz/Configuration.php b/lib/Minz/Configuration.php
index 4d3ab0964..4a3221ef5 100644
--- a/lib/Minz/Configuration.php
+++ b/lib/Minz/Configuration.php
@@ -165,6 +165,19 @@ class Minz_Configuration {
self::$unsafe_autologin_enabled = (bool)$value;
}
+ public function removeExtension($ext_name) {
+ self::$extensions_enabled = array_diff(
+ self::$extensions_enabled,
+ array($ext_name)
+ );
+ }
+ public function addExtension($ext_name) {
+ $found = array_search($ext_name, self::$extensions_enabled) !== false;
+ if (!$found) {
+ self::$extensions_enabled[] = $ext_name;
+ }
+ }
+
/**
* Initialise les variables de configuration
* @exception Minz_FileNotExistException si le CONF_PATH_NAME n'existe pas
@@ -197,6 +210,7 @@ class Minz_Configuration {
),
'limits' => self::$limits,
'db' => self::$db,
+ 'extensions_enabled' => self::$extensions_enabled,
);
@rename(DATA_PATH . self::CONF_PATH_NAME, DATA_PATH . self::CONF_PATH_NAME . '.bak.php');
$result = file_put_contents(DATA_PATH . self::CONF_PATH_NAME, "<?php\n return " . var_export($ini_array, true) . ';');
@@ -344,8 +358,9 @@ class Minz_Configuration {
}
// Extensions
- if (isset($ini_array['extensions']) && is_array($ini_array['extensions'])) {
- self::$extensions_enabled = $ini_array['extensions'];
+ if (isset($ini_array['extensions_enabled']) &&
+ is_array($ini_array['extensions_enabled'])) {
+ self::$extensions_enabled = $ini_array['extensions_enabled'];
}
// Base de données