You are here

function fasttoggle_node_menu_contextual_links_alter in Fasttoggle 7

Implements hook_menu_contextual_links_alter().

File

module/fasttoggle_node/fasttoggle_node.module, line 308

Code

function fasttoggle_node_menu_contextual_links_alter(array &$links, array $router_item, $root_path) {
  if ($root_path != 'node/%' || !isset($router_item['map'][0]) || $router_item['map'][0] != 'node' || !isset($router_item['map'][1]) || !is_object($router_item['map'][1])) {
    return;
  }
  $node = $router_item['map'][1];
  $options = fasttoggle_get_allowed_links('node', $node, $node->nid, 'fasttoggle_add_to_node_links');
  if (!empty($options['fields'])) {
    foreach ($options['fields'] as $group => $flags) {
      if (!empty($flags['instances'])) {
        foreach ($flags['instances'] as $key => $data) {
          $link = fasttoggle($options, $group, $key, $node, FASTTOGGLE_FORMAT_LINK_ARRAY);

          // Massage to $link so it fits the expected format.
          $link['localized_options']['query'] = $link['query'];
          unset($link['query']);
          $link['localized_options']['attributes'] = $link['attributes'];
          unset($link['attributes']);
          $links['fasttoggle_' . $group . '_' . $key] = $link;
        }
      }
    }
  }
}