diff options
| author | 2014-12-06 16:39:10 +0100 | |
|---|---|---|
| committer | 2014-12-06 16:41:06 +0100 | |
| commit | 4c888590e6f0fd89fc1dccebb5e815883eeaa54c (patch) | |
| tree | 8503c83d00eedf6d7ab64813aa555121ef87b2e4 /lib/Minz/Configuration.php | |
| parent | 2e4682ebd451f8dd291e11141553add9164cbbef (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.php | 19 |
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 |
