You are here

function _vud_term_generate_table in Vote Up/Down 6.3

Same name and namespace in other branches
  1. 6.2 vud_term/vud_term.module \_vud_term_generate_table()
  2. 7 vud_term/vud_term.module \_vud_term_generate_table()

Function to generate the voting table.

2 calls to _vud_term_generate_table()
vud_term_handler_field_widget::render in vud_term/views/vud_term_handler_field_widget.inc
vud_term_nodeapi in vud_term/vud_term.module
Implementation of hook_nodeapi().

File

vud_term/vud_term.module, line 102
Adds a voting widget to terms.

Code

function _vud_term_generate_table(&$node) {
  $widget = variable_get('vud_term_widget', 'plain');
  $header = array();
  $rows = array();
  foreach ($node->taxonomy as $term => $tdetails) {
    $content_id = $tdetails->tid;
    $tag = "n{$node->nid}";
    $read_only = !vud_access_callback('use vote up/down', 'term', $content_id, 0, $tag);
    $reset_token = drupal_get_token("votereset/term/{$content_id}/{$tag}/{$widget}");
    if (variable_get('vud_term_reset', 0) && user_access('reset vote up/down votes')) {
      $header = array(
        array(
          'data' => t('Term'),
        ),
        array(
          'data' => t('Description'),
        ),
        array(
          'data' => t('Vote'),
        ),
        array(
          'data' => t('Score'),
        ),
        array(
          'data' => t('Reset'),
        ),
      );
      $rows[] = array(
        check_plain($tdetails->name),
        check_plain($tdetails->description),
        theme('vud_widget', $content_id, "term", $tag, $widget, $read_only, VUD_WIDGET_MESSAGE_DENIED),
        "<span id=\"total-votes-term-{$content_id}\">" . _vud_term_get_row_votes($content_id, $tag) . '</span>',
        l(t('Reset your vote'), "votereset/term/{$content_id}/{$tag}/{$widget}/{$reset_token}"),
      );
    }
    else {
      $header = array(
        array(
          'data' => t('Term'),
        ),
        array(
          'data' => t('Description'),
        ),
        array(
          'data' => t('Vote'),
        ),
        array(
          'data' => t('Score'),
        ),
      );
      $rows[] = array(
        check_plain($tdetails->name),
        check_plain($tdetails->description),
        theme('vud_widget', $content_id, "term", $tag, $widget, $read_only, VUD_WIDGET_MESSAGE_DENIED),
        "<span id=\"total-votes-term-{$content_id}\">" . _vud_term_get_row_votes($content_id, $tag) . '</span>',
      );
    }
  }
  $node->content['vud_term_show_table'] = array(
    '#value' => theme('table', $header, $rows, $attributes = array(
      'class' => 'vud-term-table',
      'id' => "term-table-{$node->nid}",
    )),
    '#weight' => 0,
  );
}