You are here

function entity_menu_links_menu_link_update in Entity menu links 7

Implements hook_menu_link_update().

1 call to entity_menu_links_menu_link_update()
entity_menu_links_menu_link_insert in ./entity_menu_links.module
Implements hook_menu_link_insert().

File

./entity_menu_links.module, line 122
Entity menu link module

Code

function entity_menu_links_menu_link_update($menu_link) {
  if ($menu_link['module'] == 'menu') {
    $original = isset($menu_link['original_item']) ? $menu_link['original_item'] : (array) entity_load_unchanged('menu_link', $menu_link['mlid']);
    $menu_link['uuid'] = empty($original['uuid']) ? uuid_generate() : $original['uuid'];
    $menu_link['vid'] = entity_menu_links_insert_revision($menu_link);
    if (!empty($menu_link['plid']) && ($parent_link = menu_link_load($menu_link['plid']))) {
      entity_menu_links_menu_link_update($parent_link);
    }
    db_update('menu_links')
      ->fields(array(
      'uuid' => $menu_link['uuid'],
      'vid' => $menu_link['vid'],
    ))
      ->condition('mlid', $menu_link['mlid'])
      ->execute();
    $entity = (object) $menu_link;
    module_invoke_all('entity_update', $entity, 'menu_link');
  }
}