function poll_vote
poll_vote($form, &$form_state)
Submit handler for processing a vote.
File
- modules/poll/poll.module, line 752
- Enables your site to capture votes on different topics in the form of multiple choice questions.
Code
function poll_vote($form, &$form_state) { $node = $form['#node']; $choice = $form_state['values']['choice']; global $user; db_insert('poll_vote') ->fields(array( 'nid' => $node->nid, 'chid' => $choice, 'uid' => $user->uid, 'hostname' => ip_address(), 'timestamp' => REQUEST_TIME, )) ->execute(); // Add one to the votes. db_update('poll_choice') ->expression('chvotes', 'chvotes + 1') ->condition('chid', $choice) ->execute(); cache_clear_all(); if (!$user->uid) { // The vote is recorded so the user gets the result view instead of the // voting form when viewing the poll. Saving a value in $_SESSION has the // convenient side effect of preventing the user from hitting the page // cache. When anonymous voting is allowed, the page cache should only // contain the voting form, not the results. $_SESSION['poll_vote'][$node->nid] = $choice; } drupal_set_message(t('Your vote was recorded.')); // Return the user to whatever page they voted from. }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!poll!poll.module/function/poll_vote/7.x