You are here

function modal_node_view_page in Modal operations 7

Page callback - modal: view node.

1 string reference to 'modal_node_view_page'
modal_node_view_menu in modal_node_view/modal_node_view.module
Implements hook_menu().

File

modal_node_view/modal_node_view.module, line 35
Allows node viewing in modal window.

Code

function modal_node_view_page($node, $js) {

  // Fall back if $js is not set.
  if (!$js) {
    $parameters = drupal_get_query_parameters();
    unset($_GET['destination']);
    drupal_goto('node/' . $node->nid, array(
      'query' => $parameters,
    ));
    return NULL;
  }

  // Fix superglobals (such as $_GET) in order to make arg() work properly.
  modal_set_path_data('node/' . $node->nid);
  ctools_include('modal');
  ctools_include('ajax');
  if (!node_access('view', $node)) {
    $commands = array(
      ctools_modal_command_display(t('Access denied'), t('You are not authorized to access this page.')),
    );
    $commands[] = ajax_command_invoke('#modalContent', 'addClass', array(
      'modal-denied-node modal-denied-node-' . $node->type,
    ));
    drupal_alter('modal_node_view_access_denied', $commands, $node);
    return array(
      '#type' => 'ajax',
      '#commands' => $commands,
    );
  }
  $title = check_plain($node->title);
  drupal_alter('modal_node_view_title', $title, $node);
  $view_mode = 'full';
  drupal_alter('modal_node_view_mode', $view_mode, $node);
  $node_view = node_view($node, $view_mode);
  $commands = array();
  $commands[] = ajax_command_invoke('#modalContent', 'addClass', array(
    'modal-node modal-node-' . $node->type,
  ));
  drupal_alter('modal_node_view', $commands, $node_view, $node);
  array_unshift($commands, ctools_modal_command_display($title, $node_view));
  return array(
    '#type' => 'ajax',
    '#commands' => $commands,
  );
}