You are here

function poll_block_latest_poll_view in Drupal 7

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 modules/poll/poll.module
Implements hook_block_view().

File

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) {

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