function advpoll_get_data in Advanced Poll 7.2
Same name and namespace in other branches
- 7.3 includes/advpoll_helper.inc \advpoll_get_data()
- 7 includes/advpoll_helper.inc \advpoll_get_data()
Returns an object with a predictable structure regardless of content type. It basically saves having to extract the data in any given function that retrieves specific fields from a node.
Parameters
$node - a node generated by any of the advanced poll modules.:
Return value
object containing the following fields. choices: array containing: choice_id = the unique hex id of the choice choice = The text for a given choice. write_in = a boolean value indicating whether or not the choice was a write in. start_date: (int) Start date of the poll end_date: (int) End date of the poll mode: The mode used to store the vote: normal, cookie, unlimited cookie_duration: (int) If mode is cookie, the number of minutes to delay votes. state: Is the poll 'open' or 'close' behavior: approval or pool - determines how to treat multiple vote/user tally. When plugin is installed, voting will default to tabulating values returned from voting API. max_choices: (int) How many choices a user can select per vote. show_results: When to display results - aftervote, afterclose or never. electoral: Boolean - voting restricted to users in an electoral list. show_votes: Boolean - allow user with appropriate permission to view voting node page. write_in: Boolean - all write-in voting. block: Boolean - Poll can be displayed as a block.
14 calls to advpoll_get_data()
- advpoll_choice_form in ./
advpoll.module - advpoll_node_view in ./
advpoll.module - Implements hook_node_view().
- advpoll_promote_writein_form in includes/
advpoll.pages.inc - advpoll_ranking_choice_form in advpoll_ranking/
advpoll_ranking.module - advpoll_ranking_node_view in advpoll_ranking/
advpoll_ranking.module
File
- includes/
advpoll_helper.inc, line 41
Code
function advpoll_get_data($node) {
$data = array();
$lang = $node->language;
if ($node->type == 'advpoll') {
// testing each field to make sure there is no translated version
isset($node->advpoll_options[$lang]) ? $options = $node->advpoll_options[$lang] : ($options = $node->advpoll_options['und']);
isset($node->advpoll_choice[$lang]) ? $data['choices'] = $node->advpoll_choice[$lang] : ($data['choices'] = $node->advpoll_choice['und']);
isset($node->advpoll_dates[$lang]) ? $data['start_date'] = strtotime($node->advpoll_dates[$lang][0]['value']) : ($data['start_date'] = strtotime($node->advpoll_dates['und'][0]['value']));
isset($node->advpoll_dates[$lang]) ? $data['end_date'] = strtotime($node->advpoll_dates[$lang][0]['value2']) : ($data['end_date'] = strtotime($node->advpoll_dates['und'][0]['value2']));
isset($node->advpoll_mode[$lang]) ? $data['mode'] = $node->advpoll_mode[$lang][0]['value'] : ($data['mode'] = $node->advpoll_mode['und'][0]['value']);
isset($node->advpoll_cookie_duration[$lang]) ? $data['cookie_duration'] = $node->advpoll_cookie_duration[$lang][0]['value'] : ($data['cookie_duration'] = $node->advpoll_cookie_duration['und'][0]['value']);
isset($node->advpoll_closed[$lang]) ? $data['state'] = $node->advpoll_closed[$lang][0]['value'] : ($data['state'] = $node->advpoll_closed['und'][0]['value']);
isset($node->advpoll_behavior[$lang]) ? $data['behavior'] = $node->advpoll_behavior[$lang][0]['value'] : ($data['behavior'] = $node->advpoll_behavior['und'][0]['value']);
isset($node->advpoll_max_choices[$lang]) ? $data['max_choices'] = $node->advpoll_max_choices[$lang][0]['value'] : ($data['max_choices'] = $node->advpoll_max_choices['und'][0]['value']);
isset($node->advpoll_results[$lang]) ? $data['show_results'] = $node->advpoll_results[$lang][0]['value'] : ($data['show_results'] = $node->advpoll_results['und'][0]['value']);
$data['electoral'] = advpoll_has_data($options, 'electoral');
$data['show_votes'] = advpoll_has_data($options, 'showvotes');
$data['write_in'] = advpoll_has_data($options, 'writein');
$data['block'] = advpoll_has_data($options, 'block');
}
return (object) $data;
}