aboutsummaryrefslogtreecommitdiff
path: root/lib/Minz/Configuration.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-10-27 21:45:30 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-10-27 21:45:30 +0100
commitc6f35ef51c2c536efb4f8e73603ae46b8512cc24 (patch)
treec5698ae0abd10e19730f44c287689746153d9345 /lib/Minz/Configuration.php
parent299495d0820dd6a8c26842264a3b15b95884b9fb (diff)
Global limits for number of feeds and categories
New 'limits' sub-array in config.php with 'max_feeds' and 'max_categories'. If the values are < 0, then it is the default value (16384). https://github.com/marienfressinaud/FreshRSS/issues/680
Diffstat (limited to 'lib/Minz/Configuration.php')
-rw-r--r--lib/Minz/Configuration.php26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/Minz/Configuration.php b/lib/Minz/Configuration.php
index 554bc8c96..fe9ea6b2e 100644
--- a/lib/Minz/Configuration.php
+++ b/lib/Minz/Configuration.php
@@ -60,6 +60,12 @@ class Minz_Configuration {
'prefix' => '',
);
+ const MAX_SMALL_INT = 16384;
+ private static $limits = array(
+ 'max_feeds' => Minz_Configuration::MAX_SMALL_INT,
+ 'max_categories' => Minz_Configuration::MAX_SMALL_INT,
+ );
+
/*
* Getteurs
*/
@@ -97,6 +103,9 @@ class Minz_Configuration {
public static function dataBase () {
return self::$db;
}
+ public static function limits() {
+ return self::$limits;
+ }
public static function defaultUser () {
return self::$default_user;
}
@@ -178,6 +187,7 @@ class Minz_Configuration {
'api_enabled' => self::$api_enabled,
'unsafe_autologin_enabled' => self::$unsafe_autologin_enabled,
),
+ 'limits' => self::$limits,
'db' => self::$db,
);
@rename(DATA_PATH . self::CONF_PATH_NAME, DATA_PATH . self::CONF_PATH_NAME . '.bak.php');
@@ -291,6 +301,22 @@ class Minz_Configuration {
);
}
+ if (isset($ini_array['limits'])) {
+ $limits = $ini_array['limits'];
+ if (isset($limits['max_feeds'])) {
+ self::$limits['max_feeds'] = intval($limits['max_feeds']);
+ if (self::$limits['max_feeds'] < 0 || self::$limits['max_feeds'] > Minz_Configuration::MAX_SMALL_INT) {
+ self::$limits['max_feeds'] = Minz_Configuration::MAX_SMALL_INT;
+ }
+ }
+ if (isset($limits['max_categories'])) {
+ self::$limits['max_categories'] = intval($limits['max_categories']);
+ if (self::$limits['max_categories'] < 0 || self::$limits['max_categories'] > Minz_Configuration::MAX_SMALL_INT) {
+ self::$limits['max_categories'] = Minz_Configuration::MAX_SMALL_INT;
+ }
+ }
+ }
+
// Base de données
if (isset ($ini_array['db'])) {
$db = $ini_array['db'];