Fix smarty extended variable access check

This commit is contained in:
Clemens Schwaighofer
2020-09-08 11:33:50 +09:00
parent d5fdb22e93
commit 2015ba8b53

View File

@@ -34,10 +34,10 @@ class SmartyExtend extends SmartyBC
public $page_name; public $page_name;
// array for data parsing // array for data parsing
public $HEADER = array(); public $HEADER = [];
public $DATA = array(); public $DATA = [];
public $DEBUG_DATA = array(); public $DEBUG_DATA = [];
private $CONTENT_DATA = array(); private $CONTENT_DATA = [];
// control vars // control vars
public $USE_PROTOTYPE = USE_PROTOTYPE; public $USE_PROTOTYPE = USE_PROTOTYPE;
public $USE_JQUERY = USE_JQUERY; public $USE_JQUERY = USE_JQUERY;
@@ -354,7 +354,7 @@ class SmartyExtend extends SmartyBC
$this->DATA['nav_menu'] = $cms->adbTopMenu(); $this->DATA['nav_menu'] = $cms->adbTopMenu();
$this->DATA['nav_menu_count'] = is_array($this->DATA['nav_menu']) ? count($this->DATA['nav_menu']) : 0; $this->DATA['nav_menu_count'] = is_array($this->DATA['nav_menu']) ? count($this->DATA['nav_menu']) : 0;
// messages = array('msg' =>, 'class' => 'error/warning/...') // messages = array('msg' =>, 'class' => 'error/warning/...')
$this->DATA['messages'] = $cms->messages ?? array(); $this->DATA['messages'] = $cms->messages ?? [];
// the page name // the page name
$this->DATA['page_name'] = $this->page_name; $this->DATA['page_name'] = $this->page_name;
$this->DATA['table_width'] = $this->PAGE_WIDTH ?? PAGE_WIDTH; $this->DATA['table_width'] = $this->PAGE_WIDTH ?? PAGE_WIDTH;
@@ -405,7 +405,9 @@ class SmartyExtend extends SmartyBC
{ {
// array merge HEADER, DATA, DEBUG DATA // array merge HEADER, DATA, DEBUG DATA
foreach (array('HEADER', 'DATA', 'DEBUG_DATA') as $ext_smarty) { foreach (array('HEADER', 'DATA', 'DEBUG_DATA') as $ext_smarty) {
if (is_array($cms->{$ext_smarty})) { if (isset($cms->{$ext_smarty}) &&
is_array($cms->{$ext_smarty})
) {
$this->{$ext_smarty} = array_merge($this->{$ext_smarty}, $cms->{$ext_smarty}); $this->{$ext_smarty} = array_merge($this->{$ext_smarty}, $cms->{$ext_smarty});
} }
} }