You are here

function support_substatus_admin_overview in Support Ticketing System 6

Overview of client substatus fields.

1 string reference to 'support_substatus_admin_overview'
support_substatus_menu in support_substatus/support_substatus.module
Implementation of hook_menu().

File

support_substatus/support_substatus.admin.inc, line 6

Code

function support_substatus_admin_overview() {
  $rows = array();
  $header = array(
    array(
      'data' => t('Substatus'),
      'field' => 'ss.substatus',
    ),
    array(
      'data' => t('State(s)'),
    ),
    array(
      'data' => t('Client(s)'),
    ),
    array(
      'data' => t('Weight'),
      'field' => 'ss.weight',
    ),
    array(
      'data' => t('Disabled'),
      'field' => 'ss.disabled',
    ),
    array(
      'data' => t('Options'),
    ),
  );
  $sql = 'SELECT ss.ssid, ss.substatus, ss.weight, ss.disabled FROM {support_substatus} ss';
  $sql .= tablesort_sql($header);
  $result = pager_query($sql, 50, 0);
  while ($substatus = db_fetch_object($result)) {
    $options = l(t('edit'), "admin/support/substatus/{$substatus->ssid}/edit");
    $states = array();
    $result2 = db_query('SELECT sss.ssid, ss.state FROM {support_substatus_state} sss LEFT JOIN {support_states} ss ON sss.stid = ss.sid WHERE sss.ssid = %d', $substatus->ssid);
    while ($state = db_fetch_object($result2)) {
      $states[] = check_plain($state->state);
    }
    if (empty($states)) {
      $states[] = '<em>' . t('All states') . '</em>';
    }
    $clients = array();
    $result2 = db_query('SELECT ssc.clid, sc.name FROM {support_substatus_client} ssc LEFT JOIN {support_client} sc ON ssc.clid = sc.clid WHERE ssc.ssid = %d', $substatus->ssid);
    while ($client = db_fetch_object($result2)) {
      $clients[] = check_plain($client->name);
    }
    if (empty($clients)) {
      $clients[] = '<em>' . t('All clients') . '</em>';
    }
    $rows[] = array(
      truncate_utf8(check_plain($substatus->substatus), 52, TRUE, TRUE),
      implode(', ', $states),
      implode(', ', $clients),
      number_format($substatus->weight),
      $substatus->disabled ? t('Disabled') : t('Active'),
      $options,
    );
  }
  if (empty($rows)) {
    drupal_set_message(t('There are currently no substatus fields defined.'));
  }
  return theme('table', $header, $rows);
}