function advpoll_approval_vote in Advanced Poll 7
Same name and namespace in other branches
- 7.3 includes/advpoll_voteapi.inc \advpoll_approval_vote()
- 7.2 includes/advpoll_voteapi.inc \advpoll_approval_vote()
Tally votes by approval method.
For approval voting, multiple choices cast by a single user count as one vote.
Parameters
$results : Results returned from voting api.
Return value
Keyed array containing vote choices in descending order and total votes. $choices contains: index = the index of the choice percentage = percentage of votes choice received. votes = the number of votes received.
1 call to advpoll_approval_vote()
- advpoll_get_votes in includes/
advpoll_voteapi.inc - Get all votes related to a node by content type and node id.
File
- includes/
advpoll_voteapi.inc, line 53
Code
function advpoll_approval_vote($results) {
$tallied = array();
$source = array();
$total = 0;
foreach ($results as $result) {
if (isset($tallied[$result['tag']])) {
$tallied[$result['tag']]++;
}
else {
$tallied[$result['tag']] = 1;
}
if (!in_array($result['timestamp'], $source)) {
$source[] = $result['timestamp'];
}
}
$total = count($source);
$tabulated = advpoll_calculate_percentage($tallied, $total);
return array(
'choices' => $tabulated,
'total' => $total,
);
}