isValid()) die('Kwaheri'); //Get ready for some deep shit. $qstr='&'; //Query string collector $status=null; if($_REQUEST['status']) { //Query string status has nothing to do with the real status used below. $qstr.='status='.urlencode($_REQUEST['status']); //Status we are actually going to use on the query...making sure it is clean! switch(strtolower($_REQUEST['status'])) { case 'open': $ger_status = 'Offen'; $status=$_REQUEST['status']; break; case 'closed': $ger_status = 'Abgeschlossen'; $status=$_REQUEST['status']; break; default: $status=''; //ignore } } //Restrict based on email of the user...STRICT! $qwhere =' WHERE ticket.email='.db_input($thisclient->getEmail()); //STATUS if($status){ $qwhere.=' AND status='.db_input($status); } //Admit this crap sucks...but who cares?? $sortOptions=array('date'=>'ticket.created','ID'=>'ticketID','pri'=>'priority_id','dept'=>'dept_name'); $orderWays=array('DESC'=>'DESC','ASC'=>'ASC'); //Sorting options... if($_REQUEST['sort']) { $order_by =$sortOptions[$_REQUEST['sort']]; } if($_REQUEST['order']) { $order=$orderWays[$_REQUEST['order']]; } if($_GET['limit']){ $qstr.='&limit='.urlencode($_GET['limit']); } $order_by =$order_by?$order_by:'ticket.created'; $order=$order?$order:'DESC'; $pagelimit=$_GET['limit']?$_GET['limit']:PAGE_LIMIT; $page=($_GET['p'] && is_numeric($_GET['p']))?$_GET['p']:1; $qselect = 'SELECT ticket.ticket_id,ticket.ticketID,ticket.dept_id,isanswered,ispublic,subject,name '. ',dept_name,status,source,priority_id,ticket.created,ticket.updated,staff.firstname,staff.lastname'; $qfrom=' FROM ('.TICKET_TABLE.' ticket'. ' LEFT JOIN '.DEPT_TABLE.' dept ON ticket.dept_id=dept.dept_id )'. ' LEFT JOIN '.STAFF_TABLE.' staff ON ticket.staff_id=staff.staff_id'; //Pagenation stuff....wish MYSQL could auto pagenate (something better than limit) $total=db_count('SELECT count(*) '.$qfrom.' '.$qwhere); $pageNav=new Pagenate($total,$page,$pagelimit); $pageNav->setURL('view.php',$qstr.'&sort='.urlencode($_REQUEST['sort']).'&order='.urlencode($_REQUEST['order'])); //Ok..lets roll...create the actual query $qselect.=' ,count(attach_id) as attachments '; $qfrom.=' LEFT JOIN '.TICKET_ATTACHMENT_TABLE.' attach ON ticket.ticket_id=attach.ticket_id '; $qgroup=' GROUP BY ticket.ticket_id'; $query="$qselect $qfrom $qwhere $qgroup ORDER BY $order_by $order LIMIT ".$pageNav->getStart().",".$pageNav->getLimit(); //echo $query; $tickets_res = db_query($query); $showing=db_num_rows($tickets_res)?$pageNav->showing():""; $results_type=($status)?($ger_status).'e Tickets':'Alle Tickets'; $negorder=$order=='DESC'?'ASC':'DESC'; //Negate the sorting.. ?>
=$errors['err']?>
}elseif($msg) {?>=$msg?>
}elseif($warn) {?>=$warn?>
}?>| =$showing?> =$results_type?> |
|
| |||||||||||||||||||
| if($num>0 && $pageNav->getNumPages()>1){ //if we actually had any tickets returned?> | |||||||||||||||||||
| Seite:=$pageNav->getPageLinks()?> | |||||||||||||||||||