From 8ee56fff9fe9d653a61bf680eeccd3047631a29c Mon Sep 17 00:00:00 2001 From: ovclas Date: Thu, 23 Aug 2012 04:28:20 +0000 Subject: [PATCH] merge from 1.5.3.2 for hotfix (r11067, r11069, r11070, r11073) git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.1@11074 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/layout/layout.admin.controller.php | 10 +++++++++- modules/layout/layout.model.php | 10 ++++++++++ modules/menu/menu.admin.controller.php | 4 ++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/modules/layout/layout.admin.controller.php b/modules/layout/layout.admin.controller.php index 217779797..f20319bd6 100644 --- a/modules/layout/layout.admin.controller.php +++ b/modules/layout/layout.admin.controller.php @@ -630,6 +630,12 @@ $oLayoutModel = &getModel('layout'); $layout = $oLayoutModel->getLayout($sourceArgs->layout_srl); + $args->extra_vars = $oLayoutModel->getLayoutRawData($sourceArgs->layout_srl, array('extra_vars')); + $extra_vars = unserialize($args->extra_vars); + + $oModuleController = &getController('module'); + $layout_config->header_script = $extra_vars->header_script; + // Get information to create a layout $args->site_srl = (int)$layout->site_srl; $args->layout = $layout->layout; @@ -651,6 +657,9 @@ $args->layout_srl = getNextSequence(); $args->title = $value; + // for header script + $oModuleController->insertModulePartConfig('layout', $args->layout_srl, $layout_config); + // Insert into the DB $output = $this->insertLayout($args); if(!$output->toBool()) @@ -663,7 +672,6 @@ $this->initLayout($args->layout_srl, $args->layout); // update layout info - $args->extra_vars = $layout->extra_var; $output = $this->updateLayout($args); if (!$output->toBool()) { diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php index aff35a78f..2f26a0350 100644 --- a/modules/layout/layout.model.php +++ b/modules/layout/layout.model.php @@ -97,6 +97,16 @@ return $layout_info; } + function getLayoutRawData($layout_srl, $columnList = array()) + { + $args->layout_srl = $layout_srl; + $output = executeQuery('layout.getLayout', $args, $columnList); + if(!$output->toBool()) + return; + + return $output->data->extra_vars; + } + /** * Get a layout path * @param string $layout_name diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index 223c6e987..308bfa4d3 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -815,7 +815,7 @@ $link = ''; } // If the value of node->group_srls exists - if($group_srls)$group_check_code = sprintf('($is_admin==true||(is_array($group_srls)&&count(array_intersect($group_srls, array(%s))))||($is_logged&&%s))',$group_srls,$group_srls === -1?'TRUE':'FALSE'); + if($group_srls)$group_check_code = sprintf('($is_admin==true||(is_array($group_srls)&&count(array_intersect($group_srls, array(%s))))||($is_logged&&%s))',$group_srls,$group_srls == -1?1:0); else $group_check_code = "true"; $attribute = sprintf( 'node_srl="%s" parent_srl="%s" text="" url="" href="" open_window="%s" expand="%s" normal_btn="%s" hover_btn="%s" active_btn="%s" link="%s"', @@ -874,7 +874,7 @@ if($node->url) $child_output['url_list'][] = $node->url; $output['url_list'] = array_merge($output['url_list'], $child_output['url_list']); // If node->group_srls value exists - if($node->group_srls)$group_check_code = sprintf('($is_admin==true||(is_array($group_srls)&&count(array_intersect($group_srls, array(%s))))||($is_logged && %s))',$node->group_srls,$node->group_srls === -1?'TRUE':'FALSE'); + if($node->group_srls)$group_check_code = sprintf('($is_admin==true||(is_array($group_srls)&&count(array_intersect($group_srls, array(%s))))||($is_logged && %s))',$node->group_srls,$node->group_srls == -1?1:0); else $group_check_code = "true"; // List variables $href = str_replace(array('&','"','<','>'),array('&','"','<','>'),$node->href);