diff --git a/menu_block.admin.inc b/menu_block.admin.inc index ed9c6aa..daf6fc2 100644 --- a/menu_block.admin.inc +++ b/menu_block.admin.inc @@ -135,7 +135,7 @@ function _menu_block_block_configure($delta = '') { $form = array(); $form_state = array( - 'item' => ctools_export_crud_load('menu_blocks', $delta), + 'item' => ctools_export_crud_load('menu_block', $delta), 'menu_block' => 'block', ); menu_block_export_ui_form($form, $form_state); @@ -149,13 +149,13 @@ function _menu_block_block_configure($delta = '') { function _menu_block_block_save($delta = '', $edit = array()) { if (!empty($delta)) { ctools_include('export'); - $menu_block = ctools_export_crud_load('menu_blocks', $delta); + $menu_block = ctools_export_crud_load('menu_block', $delta); foreach (array_keys((array) $menu_block) as $key) { if (isset($edit[$key])) { $menu_block->{$key} = $edit[$key]; } } - ctools_export_crud_save('menu_blocks', $menu_block); + ctools_export_crud_save('menu_block', $menu_block); } } diff --git a/menu_block.info b/menu_block.info index 641c012..c194769 100644 --- a/menu_block.info +++ b/menu_block.info @@ -3,14 +3,7 @@ description = "Provides configurable blocks of menu items." core = 7.x dependencies[] = ctools +dependencies[] = block dependencies[] = menu (>7.11) -files[] = menu_block.module -files[] = menu_block.admin.inc -files[] = menu_block.follow.inc -files[] = menu_block.pages.inc -files[] = menu_block.sort.inc -files[] = menu_block.install -files[] = plugins/content_types/menu_tree/menu_tree.inc - -configure = admin/config/user-interface/menu-block +configure = admin/structure/menu_block diff --git a/menu_block.install b/menu_block.install index 25a85c5..4f706d4 100644 --- a/menu_block.install +++ b/menu_block.install @@ -8,7 +8,7 @@ * Implements hook_install(). */ function menu_block_schema() { - $schema['menu_blocks'] = array( + $schema['menu_block'] = array( 'export' => array( 'key' => 'name', 'key name' => 'Name', @@ -278,7 +278,7 @@ function menu_block_update_7202() { */ function menu_block_update_7203() { // Add database table. - $schema['menu_blocks'] = array( + $schema['menu_block'] = array( 'fields' => array( 'name' => array( 'type' => 'varchar', @@ -336,15 +336,16 @@ function menu_block_update_7203() { ), 'primary key' => array('name'), ); - db_create_table('menu_blocks', $schema['menu_blocks']); + db_create_table('menu_block', $schema['menu_block']); // Migrate variables into database. foreach (variable_get('menu_block_ids', array()) AS $delta) { $config = menu_block_get_config($delta); - db_insert('menu_blocks') + $block = block_load('menu_block', $delta); + db_insert('menu_block') ->fields(array( 'name' => $delta, - 'label' => $config['admin_title'], + 'label' => $config['admin_title'] ? $config['admin_title'] : $block->title, 'description' => NULL, 'depth' => $config['depth'], 'expanded' => $config['expanded'], diff --git a/menu_block.module b/menu_block.module index 2f65fa9..eff0ebb 100644 --- a/menu_block.module +++ b/menu_block.module @@ -39,29 +39,27 @@ function menu_block_ctools_plugin_directory($module, $plugin) { * Implements hook_menu(). */ function menu_block_menu() { - if (module_exists('block')) { - $items['admin/structure/block/add-menu-block'] = array( - 'title' => 'Add menu block', - 'description' => 'Add a new menu block.', - 'page callback' => 'drupal_goto', - 'page arguments' => array('admin/structure/menu_block/add'), - 'access arguments' => array('administer blocks'), - 'type' => MENU_LOCAL_ACTION, - 'file' => 'menu_block.admin.inc', - ); - $default_theme = variable_get('theme_default', 'bartik'); - foreach (list_themes() as $key => $theme) { - if ($key != $default_theme) { - $items['admin/structure/block/list/' . $key . '/add-menu-block'] = array( - 'title' => 'Add menu block', - 'description' => 'Add a new menu block.', - 'page callback' => 'drupal_goto', - 'page arguments' => array('admin/structure/menu_block/add'), - 'access arguments' => array('administer blocks'), - 'type' => MENU_LOCAL_ACTION, - 'file' => 'menu_block.admin.inc', - ); - } + $items['admin/structure/block/add-menu-block'] = array( + 'title' => 'Add menu block', + 'description' => 'Add a new menu block.', + 'page callback' => 'drupal_goto', + 'page arguments' => array('admin/structure/menu_block/add'), + 'access arguments' => array('administer blocks'), + 'type' => MENU_LOCAL_ACTION, + 'file' => 'menu_block.admin.inc', + ); + $default_theme = variable_get('theme_default', 'bartik'); + foreach (list_themes() as $key => $theme) { + if ($key != $default_theme) { + $items['admin/structure/block/list/' . $key . '/add-menu-block'] = array( + 'title' => 'Add menu block', + 'description' => 'Add a new menu block.', + 'page callback' => 'drupal_goto', + 'page arguments' => array('admin/structure/menu_block/add'), + 'access arguments' => array('administer blocks'), + 'type' => MENU_LOCAL_ACTION, + 'file' => 'menu_block.admin.inc', + ); } } @@ -78,17 +76,6 @@ function menu_block_menu() { } /** - * Implements hook_menu_alter(). - */ -function menu_block_menu_alter(&$items) { - // Fake the necessary menu attributes necessary for a contextual link. - $items['admin/content/book/%node']['title'] = 'Edit book outline'; - $items['admin/content/book/%node']['type'] = MENU_LOCAL_TASK; - $items['admin/content/book/%node']['context'] = (MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE); - $items['admin/content/book/%node']['tab_root'] = 'admin/content/book'; -} - -/** * Implements hook_help(). */ function menu_block_help($path, $arg) { @@ -130,7 +117,7 @@ function menu_block_load_all($disabled = FALSE) { $menu_blocks = array(); ctools_include('export'); - foreach (ctools_export_crud_load_all('menu_blocks') as $menu_block) { + foreach (ctools_export_crud_load_all('menu_block') as $menu_block) { if (empty($menu_block->disabled) || TRUE == $disabled) { $menu_blocks[$menu_block->name] = $menu_block; } @@ -188,9 +175,18 @@ function menu_block_get_all_menus() { * array An associated array of configuration options. */ function menu_block_get_config($delta = NULL) { - watchdog('menu_block', 'menu_block_get_config() is deprecated and will be removed in the future'); + if ($delta) { + $config = ctools_export_crud_load('menu_block', $delta); + $parent = explode(':', $config->parent); + $config->delta = $delta; + $config->admin_title = $config->label; + $config->menu_name = $parent[0]; + $config->parent_mlid = $parent[1]; - $config = array( + return (array) $config; + } + + return array( 'delta' => $delta, 'menu_name' => 'main-menu', 'parent_mlid' => 0, @@ -202,33 +198,6 @@ function menu_block_get_config($delta = NULL) { 'expanded' => 0, 'sort' => 0, ); - - // Get the block configuration options. - if ($delta) { - static $blocks; - if (!isset($blocks)) { - $blocks = module_invoke_all('menu_block_blocks'); - } - if (!empty($blocks[$delta])) { - // Merge the default values. - $config = $blocks[$delta] + $config; - // Set the delta. - $config['delta'] = $delta; - // Flag the block as exported. - $config['exported_to_code'] = TRUE; - } - - $config['title_link'] = variable_get("menu_block_{$delta}_title_link", $config['title_link']); - $config['admin_title'] = variable_get("menu_block_{$delta}_admin_title", $config['admin_title']); - $config['level'] = variable_get("menu_block_{$delta}_level", $config['level']); - $config['follow'] = variable_get("menu_block_{$delta}_follow", $config['follow']); - $config['depth'] = variable_get("menu_block_{$delta}_depth", $config['depth']); - $config['expanded'] = variable_get("menu_block_{$delta}_expanded", $config['expanded']); - $config['sort'] = variable_get("menu_block_{$delta}_sort", $config['sort']); - list($config['menu_name'], $config['parent_mlid']) = explode(':', variable_get("menu_block_{$delta}_parent", $config['menu_name'] . ':' . $config['parent_mlid'])); - } - - return $config; } /** diff --git a/plugins/export_ui/menu_block.inc b/plugins/export_ui/menu_block.inc index 0a516ea..b006b21 100644 --- a/plugins/export_ui/menu_block.inc +++ b/plugins/export_ui/menu_block.inc @@ -9,7 +9,7 @@ */ function menu_block_menu_block_ctools_export_ui() { return array( - 'schema' => 'menu_blocks', + 'schema' => 'menu_block', 'menu' => array( 'menu prefix' => 'admin/structure', @@ -44,6 +44,8 @@ function menu_block_export_ui_form(&$form, &$form_state) { $form['#attached']['css'][] = drupal_get_path('module', 'menu_block') . '/menu-block-admin.css'; $form['#attached']['library'][] = array('system', 'ui.button'); + $form['info']['label']['#required'] = TRUE; + $form['menu-block-wrapper-start'] = array( '#markup' => '