You are here

function poll_votes in Drupal 5

Same name and namespace in other branches
  1. 6 modules/poll/poll.pages.inc \poll_votes()
  2. 7 modules/poll/poll.pages.inc \poll_votes()

Callback for the 'votes' tab for polls you can see other votes on

3 string references to 'poll_votes'
poll_menu in modules/poll/poll.module
Implementation of hook_menu().
system_update_1001 in modules/system/system.install
system_update_169 in modules/system/system.install

File

modules/poll/poll.module, line 485
Enables your site to capture votes on different topics in the form of multiple choice questions.

Code

function poll_votes() {
  if ($node = node_load(arg(1))) {
    drupal_set_title(check_plain($node->title));
    $output = t('This table lists all the recorded votes for this poll.  If anonymous users are allowed to vote, they will be identified by the IP address of the computer they used when they voted.');
    $header[] = array(
      'data' => t('Visitor'),
      'field' => 'u.name',
    );
    $header[] = array(
      'data' => t('Vote'),
      'field' => 'pv.chorder',
    );
    $result = pager_query("SELECT pv.chorder, pv.uid, pv.hostname, u.name FROM {poll_votes} pv LEFT JOIN {users} u ON pv.uid = u.uid WHERE pv.nid = %d" . tablesort_sql($header), 20, 0, NULL, $node->nid);
    $rows = array();
    while ($vote = db_fetch_object($result)) {
      $rows[] = array(
        $vote->name ? theme('username', $vote) : check_plain($vote->hostname),
        check_plain($node->choice[$vote->chorder]['chtext']),
      );
    }
    $output .= theme('table', $header, $rows);
    $output .= theme('pager', NULL, 20, 0);
    print theme('page', $output);
  }
  else {
    drupal_not_found();
  }
}