getId()); $sortOptions = array('name' => 'user.name', 'email' => 'email.address', 'create' => 'user.created', 'update' => 'user.updated', 'status' => 'account.status'); $orderWays = array('DESC'=>'DESC','ASC'=>'ASC'); $sort= ($_REQUEST['sort'] && $sortOptions[strtolower($_REQUEST['sort'])]) ? strtolower($_REQUEST['sort']) : 'name'; //Sorting options... if ($sort && $sortOptions[$sort]) $order_column =$sortOptions[$sort]; $order_column = $order_column ?: 'user.name'; if ($_REQUEST['order'] && $orderWays[strtoupper($_REQUEST['order'])]) $order = $orderWays[strtoupper($_REQUEST['order'])]; $order=$order ?: 'ASC'; if ($order_column && strpos($order_column,',')) $order_column = str_replace(','," $order,",$order_column); $x=$sort.'_sort'; $$x=' class="'.strtolower($order).'" '; $order_by="$order_column $order "; $total=db_count('SELECT count(DISTINCT user.id) '.$from.' '.$where); $page=($_GET['p'] && is_numeric($_GET['p']))?$_GET['p']:1; $pageNav=new Pagenate($total,$page,PAGE_LIMIT); $qstr = '&'. Http::build_query($qs); $qs += array('sort' => $_REQUEST['sort'], 'order' => $_REQUEST['order']); if (strpos($_SERVER['REQUEST_URI'], 'orgs.php') !== false) $pageNav->setURL('orgs.php?id='.$org->getId().'&', $qs); else $pageNav->setURL('users.php', $qs); //Ok..lets roll...create the actual query $qstr .= '&order='.($order=='DESC' ? 'ASC' : 'DESC'); $select .= ', count(DISTINCT ticket.ticket_id) as tickets '; $from .= ' LEFT JOIN '.TICKET_TABLE.' ticket ON (ticket.user_id = user.id) '; $query="$select $from $where GROUP BY user.id ORDER BY $order_by LIMIT ".$pageNav->getStart().",".$pageNav->getLimit(); //echo $query; $showing = $search ? __('Search Results').': ' : ''; $res = db_query($query); if($res && ($num=db_num_rows($res))) $showing .= $pageNav->showing(); else $showing .= __("This organization doesn't have any users yet"); ?>