function advpoll_load in Advanced Poll 6
Same name and namespace in other branches
- 5 advpoll.module \advpoll_load()
- 6.3 advpoll.module \advpoll_load()
- 6.2 advpoll.module \advpoll_load()
Implementation of hook_load().
Load the votes and poll-specific data into the node object.
File
- ./
advpoll.module, line 677 - Advanced Poll - a sophisticated polling module for voting, elections, and group decision-making.
Code
function advpoll_load($node) {
$poll = db_fetch_object(db_query('SELECT * FROM {advpoll} WHERE nid = %d', $node->nid));
$result = db_query('SELECT cid, weight, label, writein FROM {advpoll_choices} WHERE nid = %d ORDER BY weight', $node->nid);
$poll->choice = array();
$poll->writein_choices = 0;
while ($choice = db_fetch_array($result)) {
$poll->choice[$choice['cid']] = $choice;
if ($choice['writein'] == 1) {
$poll->writein_choices++;
}
}
$poll->choices = count($poll->choice);
$result = db_query("SELECT value FROM {votingapi_cache} WHERE content_type = 'advpoll' AND content_id = %d AND tag = '_advpoll' AND function = 'total_votes'", $node->nid);
if ($cache = db_fetch_object($result)) {
// Found total votes in the cache.
$poll->votes = $cache->value;
}
else {
$poll->votes = 0;
}
list($poll->voted, $poll->cancel_vote) = _advpoll_user_voted($node->nid);
return $poll;
}