Bläddra i källkod

More limit options in config.php

See e.g. https://github.com/marienfressinaud/FreshRSS/issues/681
https://github.com/marienfressinaud/FreshRSS/issues/680
https://github.com/marienfressinaud/FreshRSS/issues/656
Alexandre Alapetite 11 år sedan
förälder
incheckning
2e5d4d97c9
3 ändrade filer med 29 tillägg och 8 borttagningar
  1. 6 0
      CHANGELOG
  2. 20 6
      lib/Minz/Configuration.php
  3. 3 2
      lib/lib_rss.php

+ 6 - 0
CHANGELOG

@@ -1,5 +1,11 @@
 # Journal des modifications
 
+##
+
+* Configuration
+	* New options in config.php for cache duration, timeout, max number of feeds and categories per user.
+
+
 ## 2014-09-26 FreshRSS 0.8.0 / 0.9.0 (beta)
 
 * UI

+ 20 - 6
lib/Minz/Configuration.php

@@ -62,6 +62,8 @@ class Minz_Configuration {
 
 	const MAX_SMALL_INT = 16384;
 	private static $limits = array(
+		'cache_duration' => 800,	//SimplePie cache duration in seconds
+		'timeout' => 10,	//SimplePie timeout in seconds
 		'max_feeds' => Minz_Configuration::MAX_SMALL_INT,
 		'max_categories' => Minz_Configuration::MAX_SMALL_INT,
 	);
@@ -303,16 +305,28 @@ class Minz_Configuration {
 
 		if (isset($ini_array['limits'])) {
 			$limits = $ini_array['limits'];
+			if (isset($limits['cache_duration'])) {
+				$v = intval($limits['cache_duration']);
+				if ($v > 0) {
+					self::$limits['cache_duration'] = $v;
+				}
+			}
+			if (isset($limits['timeout'])) {
+				$v = intval($limits['timeout']);
+				if ($v > 0) {
+					self::$limits['timeout'] = $v;
+				}
+			}
 			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;
+				$v = intval($limits['max_feeds']);
+				if ($v > 0 && $v < Minz_Configuration::MAX_SMALL_INT) {
+					self::$limits['max_feeds'] = $v;
 				}
 			}
 			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;
+				$v = intval($limits['max_categories']);
+				if ($v > 0 && $v < Minz_Configuration::MAX_SMALL_INT) {
+					self::$limits['max_categories'] = $v;
 				}
 			}
 		}

+ 3 - 2
lib/lib_rss.php

@@ -110,11 +110,12 @@ function html_only_entity_decode($text) {
 }
 
 function customSimplePie() {
+	$limits = Minz_Configuration::limits();
 	$simplePie = new SimplePie();
 	$simplePie->set_useragent(_t('freshrss') . '/' . FRESHRSS_VERSION . ' (' . PHP_OS . '; ' . FRESHRSS_WEBSITE . ') ' . SIMPLEPIE_NAME . '/' . SIMPLEPIE_VERSION);
 	$simplePie->set_cache_location(CACHE_PATH);
-	$simplePie->set_cache_duration(800);
-	$simplePie->set_timeout(10);	//TODO: Make a user setting
+	$simplePie->set_cache_duration($limits['cache_duration']);
+	$simplePie->set_timeout($limits['timeout']);
 	$simplePie->strip_htmltags(array(
 		'base', 'blink', 'body', 'doctype', 'embed',
 		'font', 'form', 'frame', 'frameset', 'html',