You are here

function support_overview_page_users in Support Ticketing System 6

Same name and namespace in other branches
  1. 7 support_overview/support_overview.module \support_overview_page_users()
1 string reference to 'support_overview_page_users'
support_overview_menu in support_overview/support_overview.module
Implementation of hook_menu().

File

support_overview/support_overview.module, line 503
support_overview.module

Code

function support_overview_page_users($all = FALSE) {
  drupal_add_css(drupal_get_path('module', 'support_overview') . '/support-overview.css');
  $output = '<div class="support-overview">';
  $enabled_clients = variable_get('support_overview_clients', array());
  $all_clients = _support_available_clients();
  if ($all || !is_array($enabled_clients) || empty($enabled_clients)) {
    $enabled_clients = array();
    foreach ($all_clients as $clid => $client) {
      $enabled_clients[] = $clid;
    }
    $all = TRUE;
  }
  $args = array(
    implode(',', $enabled_clients),
  );
  $enabled_roles = variable_get('support_overview_roles', array());
  if (!empty($enabled_roles)) {
    $sql = 'SELECT DISTINCT(t.assigned) FROM {support_ticket} t LEFT JOIN {users} u ON t.assigned = u.uid LEFT JOIN {users_roles} r ON u.uid = r.uid WHERE t.client IN (%s) AND t.assigned != 0 AND r.rid IN (%s)';
    $args[] = implode(',', $enabled_roles);
  }
  else {
    $sql = 'SELECT DISTINCT(t.assigned) FROM {support_ticket} t LEFT JOIN {users_roles} u ON t.assigned = u.uid WHERE t.client IN (%s) AND t.assigned != 0';
  }
  $enabled_states = variable_get('support_overview_states', array());
  if (!isset($enabled_states[0])) {
    $state_append = ' AND state IN(';
    $state_append .= implode(', ', $enabled_states);
    $state_append .= ')';
    $sql .= $state_append;
  }
  $sql .= ' ORDER BY u.name ASC';
  $result = db_query($sql, $args);
  while ($uid = db_result($result)) {
    $account = user_load(array(
      'uid' => $uid,
    ));
    $output .= "<a href='" . url("support/overview/user/{$uid}") . "'><h3>" . check_plain($account->name) . '</h3></a>';
    $output .= support_overview_page_user($account, $all, FALSE);
  }
  $output .= '<div class="support-overview-link">' . l($all ? t('selected clients') : t('all clients'), $all ? "support/overview/user" : "support/overview/user/all") . '</div>';
  $output .= '</div>';
  return $output;
}