diff --git a/menu_block.features.inc b/menu_block.features.inc new file mode 100644 index 0000000..7ca092e --- /dev/null +++ b/menu_block.features.inc @@ -0,0 +1,85 @@ + $code); +} + +/** + * Implements hook_features_revert(). + */ +function menu_block_features_revert($module) { + menu_block_features_rebuild($module); +} + +/** + * Implements hook_features_rebuild(). + */ +function menu_block_features_rebuild($module) { + $blocks = module_invoke($module, 'menu_block_features_default'); + + $block_ids = variable_get('menu_block_ids', array()); + $block_ids = array_combine($block_ids, $block_ids); + foreach ($blocks as $delta => $block) { + $real_delta = _menu_block_features_real_delta($delta); + + unset($block['exported_to_code']); + $block['parent'] = $block['menu_name'] . ':' . $block['parent_mlid']; + menu_block_block_save($real_delta, $block); + + $block_ids[$real_delta] = $real_delta; + } + variable_set('menu_block_ids', array_values($block_ids)); +} diff --git a/menu_block.module b/menu_block.module index 782d09c..1a5b8f9 100644 --- a/menu_block.module +++ b/menu_block.module @@ -736,3 +736,17 @@ function book_menu_block_get_sort_menus() { '/^book\-toc\-.+/' => t('Book navigation'), ); } + +/** + * Implements hook_features_api(). + */ +function menu_block_features_api() { + return array( + 'menu_block' => array( + 'name' => t('Menu block'), + 'feature_source' => TRUE, + 'default_hook' => 'menu_block_features_default', + 'file' => drupal_get_path('module', 'menu_block') . '/menu_block.features.inc', + ), + ); +}