You are here

function smartqueue_term_tab in Nodequeue 7.2

Display the queue controls for a taxonomy term.

Parameters

$term: The fully loaded taxonomy term that will be loaded by the hook_menu.

Return value

string return data in html table

1 string reference to 'smartqueue_term_tab'
smartqueue_menu in modules/smartqueue/smartqueue.module
Implements hook_menu().

File

modules/smartqueue/smartqueue.admin.inc, line 16
Admin page callbacks for the smartqueue module.

Code

function smartqueue_term_tab($term) {
  $title = t('Queues for @title', array(
    '@title' => check_plain($term->name),
  ));
  drupal_set_title($title);
  $output = '';

  // Fetch all of the queues for this term.

  //$queues = smartqueue_term_load_queues($term);

  // Fetch all of the subqueues for this term.
  $subqueues = smartqueue_get_subqueues_by_term($term);
  if (empty($subqueues)) {
    return t('No subqueues.');
  }
  $header = array(
    array(
      'data' => t('Title'),
      'field' => 'title',
      'sort' => 'asc',
    ),
    array(
      'data' => t('Queue ID'),
      'field' => 'qid',
    ),
    array(
      'data' => t('Max nodes'),
      'field' => 'size',
    ),
    array(
      'data' => t('Operations'),
    ),
  );
  $rows = array();
  foreach ($subqueues as $subqueue_info) {
    $queue = nodequeue_load($subqueue_info['qid']);
    $subqueue = subqueue_load($subqueue_info['subqueue_id']);
    $operations = array();
    $operations['view'] = array(
      'title' => t('Manage Queue'),
      'href' => $subqueue_info['path'],
    );
    if (user_access('administer nodequeue')) {
      $operations['edit'] = array(
        'title' => t('Edit'),
        'href' => 'admin/structure/nodequeue/' . $queue->qid . '/edit',
      );
      $operations['delete'] = array(
        'title' => t('Delete'),
        'href' => 'admin/structure/nodequeue/' . $queue->qid . '/delete',
      );
    }
    $links = theme('links', array(
      'links' => $operations,
      'attributes' => array(
        'class' => array(
          'inline',
        ),
      ),
    ));

    // @todo add subqueue info?

    //$sub_text = nodequeue_subqueue_size_text($queue->size, $subqueue->count, FALSE);
    $rows[] = array(
      array(
        'class' => array(
          'nodequeue-title',
        ),
        'data' => check_plain($queue->title),
      ),
      array(
        'class' => array(
          'nodequeue-id',
        ),
        'data' => $queue->qid,
      ),
      array(
        'class' => array(
          'nodequeue-max-nodes',
        ),
        'data' => $queue->size == 0 ? t('Infinite') : $queue->size,
      ),
      array(
        'class' => array(
          'nodequeue-operations',
        ),
        'data' => $links,
      ),
    );
  }
  $output .= theme('table', array(
    'header' => $header,
    'rows' => $rows,
  ));
  $output .= theme('pager', array(
    'tags' => NULL,
  ));
  return $output;
}