function poll_block_latest_poll_view

7.x poll.module poll_block_latest_poll_view($node)

Return content for 'latest poll' block.

Parameters

$node: The node object to load.

1 call to poll_block_latest_poll_view()
poll_block_view in drupal-7.x/modules/poll/poll.module
Implements hook_block_view().

File

drupal-7.x/modules/poll/poll.module, line 633
Enables your site to capture votes on different topics in the form of multiple choice questions.

Code

function poll_block_latest_poll_view($node) {
  global $user;
  $output = '';

  // This is necessary for shared objects because PHP doesn't copy objects, but
  // passes them by reference.  So when the objects are cached it can result in
  // the wrong output being displayed on subsequent calls.  The cloning and
  // unsetting of $node->content prevents the block output from being the same
  // as the node output.
  $node = clone $node;
  unset($node->content);

  // No 'read more' link.
  $node->readmore = FALSE;
  $node->teaser = '';

  $links = array();
  $links[] = array('title' => t('Older polls'), 'href' => 'poll', 'attributes' => array('title' => t('View the list of polls on this site.')));
  if ($node->allowvotes) {
    $links[] = array('title' => t('Results'), 'href' => 'node/' . $node->nid . '/results', 'attributes' => array('title' => t('View the current poll results.')));
  }

  $node->links = $links;

  if (!empty($node->allowvotes)) {
    $node->content['poll_view_voting'] = drupal_get_form('poll_view_voting', $node, TRUE);
    $node->content['links'] = array(
      '#theme' => 'links',
      '#links' => $node->links,
      '#weight' => 5,
    );
  }
  else {
    $node->content['poll_view_results'] = array('#markup' => poll_view_results($node, TRUE, TRUE));
  }

  return $node;
}