function advpoll_voting_binary_form_submit in Advanced Poll 6.3
Same name and namespace in other branches
- 5 modes/binary.inc \advpoll_voting_binary_form_submit()
- 6 modes/binary.inc \advpoll_voting_binary_form_submit()
- 6.2 modes/binary.inc \advpoll_voting_binary_form_submit()
Registers the vote as a key for this node using votingapi_set_vote().
File
- modes/
binary.inc, line 207 - Handle binary (true/false) votes.
Code
function advpoll_voting_binary_form_submit($form, &$form_state) {
$votes = array();
$node = $form['#node'];
// Do submission specific to writeins.
// This call generates a $votes object when a new item is added by a write in.
_advpoll_writeins_voting_form_submit($node, $form_state, $votes, 1);
// if no $votes set, then no write-in, generate the appropriate vote object values.
if (!$votes) {
if ($node->max_choices == 1) {
// Plurality voting
// Ignore write-in choice that has already been taken care of.
if (!$node->writeins || !isset($form_state['values']['choice'][$form_state['values']['writein_key']])) {
$vote['value'] = 1;
$vote['tag'] = $form_state['values']['choice'];
$vote['value_type'] = 'option';
$vote['content_id'] = $node->nid;
$vote['content_type'] = 'advpoll';
$vote = _advpoll_votesettings($vote, $node->nid);
$votes[] = $vote;
}
}
else {
// Approval voting
foreach ($form_state['values']['choice'] as $choice => $selected) {
$vote = array();
// Ignore write-in choice that has already been taken care of.
if (!$node->writeins || $choice != $form_state['values']['writein_key']) {
$vote['value'] = $choice;
if ($selected) {
$vote['value_type'] = 'option';
$vote['tag'] = $choice;
$vote['value'] = 1;
$vote['content_id'] = $node->nid;
$vote['content_type'] = 'advpoll';
$vote = _advpoll_votesettings($vote, $node->nid);
$votes[] = $vote;
}
}
}
}
}
// Need to pass a blank array as the second parameter so that existing votes aren't deleted......
$results = votingapi_set_votes($votes, array());
_advpoll_vote_response($node, $form_state);
}