You are here

function workbench_moderation_router_item_page_callback in Workbench Moderation 7.3

Same name and namespace in other branches
  1. 7 workbench_moderation.node.inc \workbench_moderation_router_item_page_callback()
  2. 7.2 workbench_moderation.node.inc \workbench_moderation_router_item_page_callback()

Get the menu router item for nodes.

Parameters

$node: The node being acted upon.

Return value

A fully themed node page.

2 calls to workbench_moderation_router_item_page_callback()
workbench_moderation_node_view_draft in ./workbench_moderation.node.inc
Displays the current draft the node, if it is not published.
workbench_moderation_node_view_revision in ./workbench_moderation.node.inc
Displays a specific revisison of the node.

File

./workbench_moderation.node.inc, line 31
Provides node functions for Workbench Moderation.

Code

function workbench_moderation_router_item_page_callback($node) {
  $router_item = menu_get_item('node/' . $node->nid);
  if ($router_item['include_file']) {
    require_once DRUPAL_ROOT . '/' . $router_item['include_file'];
  }

  // Replace the node in the router arguments with the draft node.
  foreach ($router_item['page_arguments'] as $index => $arg) {
    if (is_object($arg) && isset($arg->nid) && $arg->nid == $node->nid) {
      $router_item['page_arguments'][$index] = $node;
    }
  }

  // Call whatever function is assigned to the main node path but pass the
  // current node as an argument. This approach allows for the reuse of of Panel
  // definition acting on node/%node.
  return call_user_func_array($router_item['page_callback'], $router_item['page_arguments']);
}