diff --git a/e107_admin/newspost.php b/e107_admin/newspost.php
index bcd48fa7d..614d8bab2 100644
--- a/e107_admin/newspost.php
+++ b/e107_admin/newspost.php
@@ -857,6 +857,7 @@ class news_admin_ui extends e_admin_ui
$temp['news_default_template'] = preg_replace('#[^\w\pL\-]#u', '', $_POST['news_default_template']);
$temp['news_list_limit'] = intval($_POST['news_list_limit']);
$temp['news_list_templates'] = e107::getParser()->toDB($_POST['news_list_templates']);
+ $temp['news_cache_timeout'] = intval($_POST['news_cache_timeout']);
e107::getConfig()->updatePref($temp);
@@ -1141,7 +1142,20 @@ class news_admin_ui extends e_admin_ui
".$frm->textarea('news_ping_services', $pingVal, 4, 100, $pingOpt)."
".LAN_NEWS_89."
".LAN_NEWS_90."
-
+ ";
+
+ // TODO LAN
+ $tab1 .= "
+
+ News Cache Timeout |
+
+ ".$frm->number('news_cache_timeout',varset($pref['news_cache_timeout'],0), 6)."
+ Time in minutes. Applies only when system cache is enabled.
+ |
+
";
+
+
+ $tab1 .= "
".NWSLAN_86." |
diff --git a/e107_plugins/news/news.php b/e107_plugins/news/news.php
index ded79cd37..a2f5cefd6 100644
--- a/e107_plugins/news/news.php
+++ b/e107_plugins/news/news.php
@@ -33,6 +33,7 @@ class news_front
private $text = null;
private $pref = array();
private $debugInfo = array();
+ private $cacheRefreshTime = false;
// private $interval = 1;
function __construct()
@@ -44,6 +45,7 @@ class news_front
$this->pref = e107::getPref();
+ $this->cacheRefreshTime = vartrue($this->pref['news_cache_timeout'],false);
// $this->interval = $this->pref['newsposts']-$this>pref['newsposts_archive'];
require_once(e_HANDLER."news_class.php");
@@ -258,9 +260,9 @@ class news_front
echo "News Debug Info
";
echo "action: ".$this->action." ";
echo "
subaction: ".$this->subAction." ";
- echo "
route ".$this->route." ";
+ echo "
route: ".$this->route." ";
echo "
e_QUERY: ".e_QUERY." ";
-
+ echo "
CacheTimeout: ".$this->cacheRefreshTime." ";
echo "
_GET: ".print_r($_GET,true);
foreach($this->debugInfo as $key=>$val)
@@ -520,9 +522,9 @@ class news_front
$this->addDebug("checkCache", 'true');
$e107cache->setMD5(null);
- $cache_data = $e107cache->retrieve($cacheString);
- $cache_title = $e107cache->retrieve($cacheString."_title");
- $cache_diz = $e107cache->retrieve($cacheString."_diz");
+ $cache_data = $e107cache->retrieve($cacheString, $this->cacheRefreshTime);
+ $cache_title = $e107cache->retrieve($cacheString."_title", $this->cacheRefreshTime);
+ $cache_diz = $e107cache->retrieve($cacheString."_diz", $this->cacheRefreshTime);
$etitle = ($cache_title != "e_PAGETITLE") ? $cache_title : "";
$ediz = ($cache_diz != "META_DESCRIPTION") ? $cache_diz : "";