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

Generates the voting form for a poll.

See also

poll_vote()

phptemplate_preprocess_poll_vote()

Related topics

3 string references to 'poll_view_voting'
hook_field_extra_fields in modules/field/field.api.php
Exposes "pseudo-field" components on fieldable entities.
poll_block_latest_poll_view in modules/poll/poll.module
Return content for 'latest poll' block.
poll_view in modules/poll/poll.module
Implements hook_view().

File

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

Code

function poll_view_voting($form, &$form_state, $node, $block = FALSE) {
  if ($node->choice) {
    $list = array();
    foreach ($node->choice as $i => $choice) {
      $list[$i] = check_plain($choice['chtext']);
    }
    $form['choice'] = array(
      '#type' => 'radios',
      '#title' => t('Choices'),
      '#title_display' => 'invisible',
      '#options' => $list,
    );
  }
  $form['vote'] = array(
    '#type' => 'submit',
    '#value' => t('Vote'),
    '#submit' => array(
      'poll_vote',
    ),
  );

  // Store the node so we can get to it in submit functions.
  $form['#node'] = $node;
  $form['#block'] = $block;

  // Set form caching because we could have multiple of these forms on
  // the same page, and we want to ensure the right one gets picked.
  $form_state['cache'] = TRUE;

  // Provide a more cleanly named voting form theme.
  $form['#theme'] = 'poll_vote';
  return $form;
}