Same name and namespace in other branches
  1. 4.6.x modules/poll.module \poll_view()
  2. 4.7.x modules/poll.module \poll_view()
  3. 5.x modules/poll/poll.module \poll_view()
  4. 7.x modules/poll/poll.module \poll_view()

Implementation of hook_view().

Parameters

$block: An extra parameter that adapts the hook to display a block-ready rendering of the poll.

File

modules/poll/poll.module, line 489
Enables your site to capture votes on different topics in the form of multiple choice questions.

Code

function poll_view($node, $teaser = FALSE, $page = FALSE, $block = FALSE) {
  global $user;
  $output = '';

  // Special display for side-block
  if ($block) {

    // No 'read more' link
    $node->readmore = FALSE;
    $links = module_invoke_all('link', 'node', $node, 1);
    $links[] = array(
      'title' => t('Older polls'),
      'href' => 'poll',
      'attributes' => array(
        'title' => t('View the list of polls on this site.'),
      ),
    );
    if ($node->allowvotes && $block) {
      $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) && ($block || empty($node->show_results))) {
    $node->content['body'] = array(
      '#value' => drupal_get_form('poll_view_voting', $node, $block),
    );
  }
  else {
    $node->content['body'] = array(
      '#value' => poll_view_results($node, $teaser, $page, $block),
    );
  }
  return $node;
}