You are here

function i18n_book_navigation_link_load in Book translation 7.2

Same name and namespace in other branches
  1. 6.2 i18n_book_navigation.module \i18n_book_navigation_link_load()

Load a link.

Port from book_link_load(). Will translate the link after loading it.

Parameters

int $mlid: The menu link id

string $lan: (optional) The desired language. Defaults to the current language.

Return value

array|false The loaded link or false if no link was found.

See also

book_link_load()

3 calls to i18n_book_navigation_link_load()
i18n_book_navigation_link_load_all_parents in ./i18n_book_navigation.module
Port of token_menu_link_load_all_parents().
i18n_book_navigation_preprocess_i18n_book_navigation in ./i18n_book_navigation.module
Implements hook_preprocess_i18n_book_navigation().
i18n_book_navigation_tokens in ./i18n_book_navigation.module
Implements hook_tokens().

File

./i18n_book_navigation.module, line 623
Defines the Book translation module.

Code

function i18n_book_navigation_link_load($mlid, $lan = NULL) {
  $cache =& drupal_static(__FUNCTION__, array());
  if (!$lan) {
    $lan = i18n_langcode();
  }
  if (!is_numeric($mlid)) {
    return FALSE;
  }

  // Do we have a cached version ?
  if (!isset($cache["{$mlid}-{$lan}"])) {
    $tree = array(
      array(
        'link' => book_link_load($mlid),
        'below' => FALSE,
      ),
    );
    $tree = i18n_book_navigation_translate_tree($tree, $lan);
    $cache["{$mlid}-{$lan}"] = isset($tree[0]['link']) ? $tree[0]['link'] : FALSE;
  }
  return $cache["{$mlid}-{$lan}"];
}