From b0a72bb222affc9b1575630060a3903e806bda7a Mon Sep 17 00:00:00 2001 From: BJRambo Date: Wed, 17 Feb 2021 23:59:18 +0900 Subject: [PATCH] =?UTF-8?q?#1627=20=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20?= =?UTF-8?q?=EB=B2=84=EC=A0=84=EC=9D=B4=200.1=20=EC=9D=BC=EA=B2=BD=EC=9A=B0?= =?UTF-8?q?=20PHP8.0=EC=97=90=EC=84=9C=20=EB=B0=9C=EC=83=9D=ED=95=98?= =?UTF-8?q?=EB=8A=94=20=EC=98=A4=EB=A5=98=20=EA=B3=A0=EC=B9=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/layout/layout.model.php | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php index 045e3a361..e5ffd46b7 100644 --- a/modules/layout/layout.model.php +++ b/modules/layout/layout.model.php @@ -500,7 +500,7 @@ class layoutModel extends layout { $cache_file = $this->getUserLayoutCache($layout_srl, Context::getLangType()); } - + if(file_exists($cache_file)&&filemtime($cache_file)>filemtime($xml_file)) { include($cache_file); @@ -662,12 +662,13 @@ class layoutModel extends layout $buff[] = sprintf('$layout_info->layout = %s;', var_export($layout, true)); $buff[] = sprintf('$layout_info->path = %s;', var_export($layout_path, true)); $buff[] = sprintf('$layout_info->title = %s;', var_export($xml_obj->title->body, true)); - $buff[] = sprintf('$layout_info->description = %s;', var_export($xml_obj->author->description->body, true)); + $buff[] = sprintf('$layout_info->description = %s;', var_export($xml_obj->description->body, true)); $buff[] = sprintf('$layout_info->version = %s;', var_export($xml_obj->attrs->version, true)); $buff[] = sprintf('$layout_info->date = %s;', var_export($date, true)); $buff[] = sprintf('$layout_info->layout_srl = $layout_srl;'); $buff[] = sprintf('$layout_info->layout_title = $layout_title;'); // Author information + $buff[] = '$layout_info->author[0] = new stdClass();'; $buff[] = sprintf('$layout_info->author[0]->name = %s;', var_export($xml_obj->author->name->body, true)); $buff[] = sprintf('$layout_info->author[0]->email_address = %s;', var_export($xml_obj->author->attrs->email_address, true)); $buff[] = sprintf('$layout_info->author[0]->homepage = %s;', var_export($xml_obj->author->attrs->link, true)); @@ -675,6 +676,9 @@ class layoutModel extends layout $extra_var_groups = $xml_obj->extra_vars->group; if(!$extra_var_groups) $extra_var_groups = $xml_obj->extra_vars; if(!is_array($extra_var_groups)) $extra_var_groups = array($extra_var_groups); + + $extra_var_count = 0; + $buff[] = '$layout_info->extra_var = new stdClass;'; foreach($extra_var_groups as $group) { $extra_vars = $group->var; @@ -682,15 +686,15 @@ class layoutModel extends layout { if(!is_array($extra_vars)) $extra_vars = array($extra_vars); - $extra_var_count = count($extra_vars); + $count = count($extra_vars); + $extra_var_count += $count; - $buff[] = sprintf('$layout_info->extra_var_count = %d;', $extra_var_count); - for($i=0;$i<$extra_var_count;$i++) + for($i=0;$i<$count;$i++) { unset($var, $options); $var = $extra_vars[$i]; $name = $var->attrs->name; - + $buff[] = sprintf('$layout_info->extra_var->%s = new stdClass();', $name); $buff[] = sprintf('$layout_info->extra_var->%s->group = %s;', $name, var_export($group->title->body, true)); $buff[] = sprintf('$layout_info->extra_var->%s->title = %s;', $name, var_export($var->title->body, true)); $buff[] = sprintf('$layout_info->extra_var->%s->type = %s;', $name, var_export($var->attrs->type, true)); @@ -704,11 +708,13 @@ class layoutModel extends layout $options_count = count($options); for($j=0;$j<$options_count;$j++) { - $buff[] = sprintf('$layout_info->extra_var->%s->options[%s]->val = %s;', $var->attrs->name, var_export($options[$j]->value->body, true), var_export($options[$j]->title->body, true)); + $buff[] = sprintf('$layout_info->extra_var->%s->options[%s] = new stdClass;', $var->attrs->name, var_export($options[$j]->attrs->value, true)); + $buff[] = sprintf('$layout_info->extra_var->%s->options[%s]->val = %s;', $var->attrs->name, var_export($options[$j]->attrs->value, true), var_export($options[$j]->title->body, true)); } } } } + $buff[] = sprintf('$layout_info->extra_var_count = %d;', $extra_var_count); // Menu if($xml_obj->menus->menu) { @@ -721,6 +727,8 @@ class layoutModel extends layout { $name = $menus[$i]->attrs->name; if($menus[$i]->attrs->default == "true") $buff[] = sprintf('$layout_info->default_menu = %s;', var_export($name, true)); + $buff[] = '$layout_info->menu = new stdClass();'; + $buff[] = sprintf('$layout_info->menu->%s = new stdClass();', $name); $buff[] = sprintf('$layout_info->menu->%s->name = %s;', $name, var_export($name, true)); $buff[] = sprintf('$layout_info->menu->%s->title = %s;', $name, var_export($menus[$i]->title->body, true)); $buff[] = sprintf('$layout_info->menu->%s->maxdepth = %s;', $name, var_export($menus[$i]->maxdepth->body, true));