From 290f467ddd5dffbefd7aefb3383a18a47e9632ef Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Wed, 8 Nov 2023 22:51:06 +0900 Subject: [PATCH] Fix type error when unlinked menu creation fails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://xetown.com/questions/1793779 이 문제의 1차적인 원인으로 추정되나, unlinked 메뉴 정보를 가져오지 못하는 근본적인 원인은 알 수 없음. 디버깅 편의를 위해 BaseObject 반환하도록 조치함. 메뉴를 통하지 않고 추가된 모듈들을 unlinked에 모아 두는 방식은 분명 개선할 필요가 있음. --- modules/menu/menu.admin.controller.php | 14 +++++++++++--- modules/menu/menu.admin.view.php | 6 +++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index 1b8105ebd..7ae71868b 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -116,12 +116,20 @@ class MenuAdminController extends Menu $unlinked_modules = $output->data; } - if($unlinked_modules) + if ($unlinked_modules) { $unlinked_menu_srl = $this->getUnlinkedMenu(); - $output = $this->updateLinkModule($unlinked_modules, $unlinked_menu_srl); + if ($unlinked_menu_srl instanceof BaseObject && !$unlinked_menu_srl->toBool()) + { + return $unlinked_menu_srl; + } + else + { + return $this->updateLinkModule($unlinked_modules, $unlinked_menu_srl); + } } + return new BaseObject(); } function getUnlinkedMenu() @@ -152,7 +160,7 @@ class MenuAdminController extends Menu } else { - return false; + return $output; } } diff --git a/modules/menu/menu.admin.view.php b/modules/menu/menu.admin.view.php index a6869579e..0587d1411 100644 --- a/modules/menu/menu.admin.view.php +++ b/modules/menu/menu.admin.view.php @@ -38,7 +38,11 @@ class MenuAdminView extends Menu if($site_srl == 0) { $oMenuController = getAdminController('menu'); - $oMenuController->linkAllModuleInstancesToSitemap(); + $output = $oMenuController->linkAllModuleInstancesToSitemap(); + if (!$output->toBool()) + { + return $output; + } } // get installed module list