function theme_poll_choices
7.x poll.module | theme_poll_choices( |
6.x poll.module | theme_poll_choices($form) |
Returns HTML for an admin poll form for choices.
Parameters
$variables: An associative array containing:
- form: A render element representing the form.
Related topics
1 theme call to theme_poll_choices()
- poll_form in drupal-7.x/
modules/ poll/ poll.module - Implements hook_form().
File
- drupal-7.x/
modules/ poll/ poll.module, line 851 - Enables your site to capture votes on different topics in the form of multiple choice questions.
Code
function theme_poll_choices($variables) {
$form = $variables['form'];
drupal_add_tabledrag('poll-choice-table', 'order', 'sibling', 'poll-weight');
$is_admin = user_access('administer nodes');
$delta = 0;
$rows = array();
$headers = array('', t('Choice'));
if ($is_admin) {
$headers[] = t('Vote count');
}
$headers[] = t('Weight');
foreach (element_children($form) as $key) {
$delta++;
// Set special classes for drag and drop updating.
$form[$key]['weight']['#attributes']['class'] = array('poll-weight');
// Build the table row.
$row = array(
'data' => array(
array('class' => array('choice-flag')),
drupal_render($form[$key]['chtext']),
),
'class' => array('draggable'),
);
if ($is_admin) {
$row['data'][] = drupal_render($form[$key]['chvotes']);
}
$row['data'][] = drupal_render($form[$key]['weight']);
// Add any additional classes set on the row.
if (!empty($form[$key]['#attributes']['class'])) {
$row['class'] = array_merge($row['class'], $form[$key]['#attributes']['class']);
}
$rows[] = $row;
}
$output = theme('table', array('header' => $headers, 'rows' => $rows, 'attributes' => array('id' => 'poll-choice-table')));
$output .= drupal_render_children($form);
return $output;
}