From d6f1a16cfc3040fd872197796e4a77a165a905dc Mon Sep 17 00:00:00 2001 From: Noah Miller Date: Mon, 11 Sep 2017 20:29:53 -0700 Subject: [PATCH] Do not try to write civicrm_menu.module_data if it doesn't exist yet --- CRM/Core/Menu.php | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/CRM/Core/Menu.php b/CRM/Core/Menu.php index 55227eac47..c32fad448f 100644 --- a/CRM/Core/Menu.php +++ b/CRM/Core/Menu.php @@ -317,17 +317,21 @@ class CRM_Core_Menu { $menu->find(TRUE); - // Move unrecognized fields to $module_data. - $module_data = array(); - foreach (array_keys($item) as $key) { - if (!isset($daoFields[$key])) { - $module_data[$key] = $item[$key]; - unset($item[$key]); + if (!CRM_Core_Config::isUpgradeMode() || + CRM_Core_DAO::checkFieldExists('civicrm_menu', 'module_data', FALSE) + ) { + // Move unrecognized fields to $module_data. + $module_data = array(); + foreach (array_keys($item) as $key) { + if (!isset($daoFields[$key])) { + $module_data[$key] = $item[$key]; + unset($item[$key]); + } } - } - $menu->copyValues($item); - $menu->module_data = serialize($module_data); + $menu->copyValues($item); + $menu->module_data = serialize($module_data); + } foreach (self::$_serializedElements as $element) { if (!isset($item[$element]) || -- 2.25.1