1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-24 08:22:07 +02:00

Prevent news item data being overwritten within latestnews_menu

This commit is contained in:
Cameron
2021-09-22 13:31:37 -07:00
parent 79e016a7f6
commit 9c2d7ec2d6
2 changed files with 10 additions and 2 deletions

View File

@@ -1245,7 +1245,7 @@ class news_shortcodes extends e_shortcode
}
/**
* {NEWS_NAV_PREVIOUS}
* {NEWS_NAV_CURRENT}
* @return string|null
*/
function sc_news_nav_current()

View File

@@ -46,9 +46,17 @@ if(false === $cached)
if(vartrue($parms['count'])) $treeparm['db_limit'] = '0, '.intval($parms['count']);
if(vartrue($parms['order'])) $treeparm['db_order'] = e107::getParser()->toDb($parms['order']);
$parms['return'] = true;
/* Prevent data-overwrite if menu is called within news template and more news shortcodes are called after */
$origParam = e107::getScBatch('news')->getScVar('param');
$origData = e107::getScBatch('news')->getScVar('news_item');
$cached = $ntree->loadJoinActive(vartrue($parms['category'], 0), false, $treeparm)->render($template, $parms, true);
e107::getCache()->set($cacheString, $cached);
e107::getScBatch('news')->setScVar('param', $origParam);
e107::getScBatch('news')->setScVar('news_item', $origData);
}
echo $cached;