You are here

function privatemsg_tags_admin in Privatemsg 7.2

Same name and namespace in other branches
  1. 6.2 privatemsg_filter/privatemsg_filter.admin.inc \privatemsg_tags_admin()
  2. 6 privatemsg_filter/privatemsg_filter.admin.inc \privatemsg_tags_admin()
  3. 7 privatemsg_filter/privatemsg_filter.admin.inc \privatemsg_tags_admin()

Display a list of tags to administer them.

1 string reference to 'privatemsg_tags_admin'
privatemsg_filter_menu in privatemsg_filter/privatemsg_filter.module
Implements hook_menu().

File

privatemsg_filter/privatemsg_filter.admin.inc, line 11
Admin menu callbacks for privatemsg_filter module.

Code

function privatemsg_tags_admin() {
  drupal_set_title(t('Tags'));
  $header = array(
    'tag' => array(
      'data' => t('Tag'),
      'field' => 'tag',
      'class' => array(
        'privatemsg-filter-header-tag',
      ),
      'sort' => 'asc',
    ),
    'usage' => array(
      'data' => t('Usage'),
      'field' => 'count',
      'class' => array(
        'privatemsg-filter-header-usage',
      ),
    ),
    'public' => array(
      'data' => t('Public'),
      'field' => 'public',
      'class' => array(
        'privatemsg-filter-header-public',
      ),
    ),
    'operations' => array(
      'data' => t('Operations'),
      'class' => array(
        'privatemsg-filter-header-operations',
      ),
    ),
  );
  $query = _privatemsg_assemble_query(array(
    'tags',
    'privatemsg_filter',
  ))
    ->extend('PagerDefault')
    ->extend('TableSort');
  $query
    ->orderByHeader($header)
    ->limit();
  $rows = array();
  foreach ($query
    ->execute() as $tag) {
    $row = array();
    $row['tag'] = check_plain($tag->tag);
    $row['count'] = $tag->count;
    $row['public'] = $tag->public ? t('Yes') : '-';
    $row['operations'] = l(t('edit'), 'admin/config/messaging/privatemsg/tags/edit/' . $tag->tag_id);
    $row['operations'] .= ' ' . l(t('delete'), 'admin/config/messaging/privatemsg/tags/delete/' . $tag->tag_id);
    $rows[] = $row;
  }
  if (empty($rows)) {

    // Display a message if now tags are available.
    $rows[] = array(
      array(
        'data' => t('No tags available.'),
        'colspan' => count($header),
      ),
    );
  }
  return theme('table', array(
    'header' => $header,
    'rows' => $rows,
  )) . theme('pager');
}