poll_vote
- Versions
- 4.6 – 5
poll_vote(&$node)- 6 – 7
poll_vote($form, &$form_state)
Callback for processing a vote
Code
modules/poll.module, line 374
<?php
function poll_vote(&$node) {
$nid = arg(2);
if ($node = node_load(array('nid' => $nid))) {
$edit = $_POST['edit'];
$choice = $edit['choice'];
$vote = $_POST['vote'];
if (isset($choice) && isset($node->choice[$choice])) {
if ($node->allowvotes) {
$id = poll_uid();
$node->polled = $node->polled ? ($node->polled .' '. $id) : $id;
db_query("UPDATE {poll} SET polled = '%s' WHERE nid = %d", $node->polled, $node->nid);
db_query("UPDATE {poll_choices} SET chvotes = chvotes + 1 WHERE nid = %d AND chorder = %d", $node->nid, $choice);
$node->allowvotes = false;
$node->choice[$choice]['chvotes']++;
drupal_set_message(t('Your vote was recorded.'));
}
else {
drupal_set_message(t("You're not allowed to vote on this poll."), 'error');
}
}
else {
drupal_set_message(t("You didn't specify a valid poll choice."), 'error');
}
drupal_goto('node/'. $nid);
}
else {
drupal_not_found();
}
}
?>Login or register to post comments 