From b03a3fb9169c936d766b3f664b3afaa9fe9f1571 Mon Sep 17 00:00:00 2001 From: thewilkybarkid <chriswilkinson84@gmail.com> Date: Tue, 23 Dec 2014 13:37:28 +0000 Subject: [PATCH] Fix menu block configuration --- src/cambridge/cambridge.install | 9 +++++ src/cambridge_base.inc | 47 ++++++++++++++++++++--- src/cambridge_lite/cambridge_lite.install | 9 +++++ 3 files changed, 59 insertions(+), 6 deletions(-) diff --git a/src/cambridge/cambridge.install b/src/cambridge/cambridge.install index 80b4572..553923a 100644 --- a/src/cambridge/cambridge.install +++ b/src/cambridge/cambridge.install @@ -481,3 +481,12 @@ function cambridge_update_7107() { cambridge_base_set_up_date_formats(); } + +/** + * Fix menu block configuration. + */ +function cambridge_update_7108() { + require_once 'cambridge_base.inc'; + + cambridge_base_fix_menu_blocks(); +} diff --git a/src/cambridge_base.inc b/src/cambridge_base.inc index caeb223..7ecf6eb 100644 --- a/src/cambridge_base.inc +++ b/src/cambridge_base.inc @@ -358,9 +358,9 @@ function cambridge_base_install() { variable_set("menu_block_1_title_link", 0); variable_set("menu_block_1_admin_title", 'Horizontal menu'); variable_set("menu_block_1_parent", 'main-menu:0'); - variable_set("menu_block_1_level", '1'); + variable_set("menu_block_1_level", 1); variable_set("menu_block_1_follow", 0); - variable_set("menu_block_1_depth", '0'); + variable_set("menu_block_1_depth", 0); variable_set("menu_block_1_expanded", 1); variable_set("menu_block_1_sort", 0); @@ -368,10 +368,10 @@ function cambridge_base_install() { variable_set("menu_block_2_title_link", 0); variable_set("menu_block_2_admin_title", 'Vertical menu'); variable_set("menu_block_2_parent", 'main-menu:0'); - variable_set("menu_block_2_level", '1'); - variable_set("menu_block_2_follow", 'active'); - variable_set("menu_block_2_depth", '0'); - variable_set("menu_block_2_expanded", 0); + variable_set("menu_block_2_level", 1); + variable_set("menu_block_2_follow", 0); + variable_set("menu_block_2_depth", 0); + variable_set("menu_block_2_expanded", 1); variable_set("menu_block_2_sort", 1); variable_set('menu_block_ids', array(1, 2)); @@ -678,3 +678,38 @@ function cambridge_base_set_up_date_formats() { variable_set('date_format_medium', 'D, d/m/Y - H:i'); variable_set('date_format_short', 'd/m/Y - H:i'); } + +/** + * Fix menu block configuration. + */ +function cambridge_base_fix_menu_blocks() { + if (FALSE === module_exists('menu_block')) { + return; + } + + $blocks = db_query( + 'SELECT delta FROM {block} WHERE module = :module AND theme = :theme AND region = :region', + array(':module' => 'menu_block', ':theme' => 'cambridge_theme', 'region' => 'horizontal_navigation') + ); + + foreach ($blocks as $block) { + variable_set('menu_block_' . $block->delta . '_level', 1); + variable_set('menu_block_' . $block->delta . '_follow', 0); + variable_set('menu_block_' . $block->delta . '_depth', 0); + variable_set('menu_block_' . $block->delta . '_expanded', 1); + variable_set('menu_block_' . $block->delta . '_sort', 0); + } + + $blocks = db_query( + 'SELECT delta FROM {block} WHERE module = :module AND theme = :theme AND region = :region', + array(':module' => 'menu_block', ':theme' => 'cambridge_theme', 'region' => 'left_navigation') + ); + + foreach ($blocks as $block) { + variable_set('menu_block_' . $block->delta . '_level', 1); + variable_set('menu_block_' . $block->delta . '_follow', 0); + variable_set('menu_block_' . $block->delta . '_depth', 0); + variable_set('menu_block_' . $block->delta . '_expanded', 1); + variable_set('menu_block_' . $block->delta . '_sort', 1); + } +} diff --git a/src/cambridge_lite/cambridge_lite.install b/src/cambridge_lite/cambridge_lite.install index 133a86a..60687bf 100644 --- a/src/cambridge_lite/cambridge_lite.install +++ b/src/cambridge_lite/cambridge_lite.install @@ -35,3 +35,12 @@ function cambridge_lite_update_7101() { cambridge_base_set_up_date_formats(); } + +/** + * Fix menu block configuration. + */ +function cambridge_lite_update_7102() { + require_once 'cambridge_base.inc'; + + cambridge_base_fix_menu_blocks(); +} -- GitLab