You are here

function _i18n_menu_tree_filter_items in Internationalization 7

Filter out menu items that have a different language

1 call to _i18n_menu_tree_filter_items()
i18n_menu_tree_all_data in i18n_menu/i18n_menu.admin.inc
Filter out menu items that have a different language

File

i18n_menu/i18n_menu.admin.inc, line 192
Helper functions for menu administration.

Code

function _i18n_menu_tree_filter_items($tree, $langcode) {
  $result = array();
  foreach ($tree as $key => $item) {
    $lang = i18n_object_langcode($item['link']);
    if (!empty($item['below'])) {
      $item['below'] = _i18n_menu_tree_filter_items($item['below'], $langcode);
    }
    if (!empty($item['link']['customized']) && $lang == $langcode) {
      $result[$key] = $item;
    }
    elseif (!empty($item['below'])) {

      // Keep for the tree but mark as unselectable.
      $item['link']['title'] = '(' . $item['link']['title'] . ')';
      $result[$key] = $item;
    }
  }
  return $result;
}