isAdmin()) die('Access Denied'); $qstr=''; $qs = array(); $sortOptions = array( 'name' => array('firstname', 'lastname'), 'username' => 'username', 'status' => 'isactive', 'dept' => 'dept__name', 'created' => 'created', 'login' => 'lastlogin' ); $orderWays = array('DESC'=>'DESC', 'ASC'=>'ASC'); $sort = ($_REQUEST['sort'] && $sortOptions[strtolower($_REQUEST['sort'])]) ? strtolower($_REQUEST['sort']) : 'name'; switch ($cfg->getAgentNameFormat()) { case 'last': case 'lastfirst': case 'legal': $sortOptions['name'] = array('lastname', 'firstname'); break; // Otherwise leave unchanged } if ($sort && $sortOptions[$sort]) { $order_column = $sortOptions[$sort]; } $order_column = $order_column ?: array('firstname', 'lastname'); if ($_REQUEST['order'] && isset($orderWays[strtoupper($_REQUEST['order'])])) { $order = $orderWays[strtoupper($_REQUEST['order'])]; } else { $order = 'ASC'; } $x=$sort.'_sort'; $$x=' class="'.strtolower($order).'" '; //Filers $filters = array(); if ($_REQUEST['did'] && is_numeric($_REQUEST['did'])) { $filters += array('dept_id' => $_REQUEST['did']); $qs += array('did' => $_REQUEST['did']); } if ($_REQUEST['tid'] && is_numeric($_REQUEST['tid'])) { $filters += array('teams__team_id' => $_REQUEST['tid']); $qs += array('tid' => $_REQUEST['tid']); } //agents objects $agents = Staff::objects() ->annotate(array( 'teams_count'=>SqlAggregate::COUNT('teams', true), )) ->select_related('dept', 'group'); $order = strcasecmp($order, 'DESC') ? '' : '-'; foreach ((array) $order_column as $C) { $agents->order_by($order.$C); } if ($filters) $agents->filter($filters); // paginate $page = ($_GET['p'] && is_numeric($_GET['p'])) ? $_GET['p'] : 1; $count = $agents->count(); $pageNav = new Pagenate($count, $page, PAGE_LIMIT); $qs += array('sort' => $_REQUEST['sort'], 'order' => $_REQUEST['order']); $pageNav->setURL('staff.php', $qs); $showing = $pageNav->showing().' '._N('agent', 'agents', $count); $qstr = '&'. Http::build_query($qs); $qstr .= '&order='.($order=='-' ? 'ASC' : 'DESC'); // add limits. $agents->limit($pageNav->getLimit())->offset($pageNav->getStart()); ?>
getId(); $sel=false; if ($ids && in_array($id, $ids)) $sel=true; ?>
  href="staff.php?&sort=name"> href="staff.php?&sort=username"> href="staff.php?&sort=status"> href="staff.php?&sort=dept"> href="staff.php?&sort=created"> href="staff.php?&sort=login">
> getName()); ?> getUserName(); ?> isActive() ? __('Active') :''.__('Locked').''; ?>onvacation ? ' ('.__('vacation').')' : ''; ?> dept); ?> created); ?> lastlogin)) ?: ''.__('never').''; ?>
        
 '.__('Page').':'.$pageNav->getPageLinks().' '; } ?>