You are here

function fasttoggle_field_menu_contextual_links_alter in Fasttoggle 7

Implements hook_menu_contextual_links_alter().

File

module/fasttoggle_field/fasttoggle_field.module, line 307

Code

function fasttoggle_field_menu_contextual_links_alter(&$links, $router_item, $root_path) {
  if ($root_path == 'node/%') {
    if (isset($router_item['map'][0]) && $router_item['map'][0] == 'node') {
      if (isset($router_item['map'][1]) && is_object($router_item['map'][1])) {
        $node = $router_item['map'][1];
        $options = fasttoggle_get_allowed_links('node', $node);
        $link_list = variable_get('fasttoggle_add_to_node_links_' . $node->type, array());
        $options = array_intersect_key($options, array_flip($link_list));
        if (!empty($options['fields'])) {
          foreach ($options['fields'] as $group => $flags) {
            if (!empty($flags['instances'])) {
              foreach ($flags 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;
              }
            }
          }
        }
      }
    }
  }
}