You are here

function menu_links_features_export_options in Features 7.2

Same name and namespace in other branches
  1. 6 includes/features.menu.inc \menu_links_features_export_options()
  2. 7 includes/features.menu.inc \menu_links_features_export_options()

Implements hook_features_export_options().

File

includes/features.menu.inc, line 145
Features integration for 'menu' module.

Code

function menu_links_features_export_options() {
  global $menu_admin;

  // Need to set this to TRUE in order to get menu links that the
  // current user may not have access to (i.e. user/login).
  $menu_admin = TRUE;
  $use_menus = array_intersect_key(menu_get_menus(), array_flip(array_filter(variable_get('features_admin_menu_links_menus', array_keys(menu_get_menus())))));
  $menu_links = menu_parent_options($use_menus, array(
    'mlid' => 0,
  ));
  $options = array();
  foreach ($menu_links as $key => $name) {
    list($menu_name, $mlid) = explode(':', $key, 2);
    if ($mlid != 0) {
      $link = features_menu_link_load_by_mlid($mlid);

      // @todo Explain why TRUE is passed as second parameter. See #3075693.
      $identifier = menu_links_features_identifier($link, TRUE);
      $options[$identifier] = "{$menu_name}: {$name}";
    }
  }
  $menu_admin = FALSE;
  return $options;
}