poll_vote

Versions
4.6 – 5
poll_vote(&$node)
6 – 7
poll_vote($form, &$form_state)

Submit handler for processing a vote

Code

modules/poll/poll.module, line 594

<?php
function poll_vote($form, &$form_state) {
  $node = $form['#node'];
  $choice = $form_state['values']['choice'];

  global $user;
  if ($user->uid) {
    db_query('INSERT INTO {poll_votes} (nid, chorder, uid) VALUES (%d, %d, %d)', $node->nid, $choice, $user->uid);
  }
  else {
    db_query("INSERT INTO {poll_votes} (nid, chorder, hostname) VALUES (%d, %d, '%s')", $node->nid, $choice, ip_address());
  }

  // Add one to the votes.
  db_query("UPDATE {poll_choices} SET chvotes = chvotes + 1 WHERE nid = %d AND chorder = %d", $node->nid, $choice);

  cache_clear_all();
  drupal_set_message(t('Your vote was recorded.'));

  // Return the user to whatever page they voted from.
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.