You are here

function fasttoggle_menu_contextual_links_alter in Fasttoggle 6

File

./fasttoggle.module, line 507
Enables fast toggling of binary or not so binary settings.

Code

function fasttoggle_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_options('node', $node);
        $link_list = variable_get('fasttoggle_add_to_node_links_' . $node->type, array());
        $options = array_intersect_key($options, array_flip($link_list));
        foreach ($options as $group => $flags) {
          foreach ($flags as $key => $data) {
            $link = fasttoggle($data['label'][intval($node->{$key})], 'node/' . $node->nid . '/toggle/status/' . $key, FASTTOGGLE_FORMAT_LINK_ARRAY, $group . '_' . $key . '_' . $node->nid, 'fasttoggle-status-node-' . $node->nid . '-' . $group . '-' . $key, 'fasttoggle-status-node-' . $group . '-' . $key . '-' . $node->{$key});

            // 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;
          }
        }
      }
    }
  }
}