This mod came about because people where closing tickets without completing the task/request and our system is a 'pick up ticket' rather and 'issue ticket' system some members of staff where cherry picking and leaving others to deal with the crap. I needed a way to simply look at who was assigned the tickets that where closed. In its default form OSticket wipes this data when it closes the ticket. This mod leaves the tickets assigned, the staff members name appears in the closed ticket list and the ticket remains on the 'My Tickets' list but are struck out.
NOTE: THIS MOD HAS BEEN WRITTEN FOR OST 1.6 RC5 ONCE I UPGRADE I WILL NOTE ANY CHANGES HERE

here we go....
1) In include\staff\class.ticket replace (around line 418 )
$sql = 'UPDATE ' . TICKET_TABLE . ' SET status=' . db_input ( 'closed' ) . ',staff_id=0,isoverdue=0,duedate="NULL",updated=NOW(),closed=NOW() ' . ' WHERE ticket_id=' . db_input ( $this->getId () );
with
$sql = 'UPDATE ' . TICKET_TABLE . ' SET status=' . db_input ( 'closed' ) . ',isoverdue=0,duedate="NULL",updated=NOW(),closed=NOW() ' . ' WHERE ticket_id=' . db_input ( $this->getId () );
2) in include\staff\ticket.inc.php replace
if(strcasecmp($row,'open') && !$row && !$row) {
$tid=sprintf('<b>%s<b>',$tid);
//$subject=sprintf('<b>%s</bl>',Format:($row,40)); // Making the subject bold is too much for the eye
}
With
if(strcasecmp($_REQUEST,'assigned') == 0)
{
if(strcasecmp($row,'open') && !$row && !$row) {
$tid=sprintf('<del>%s</del>',$tid);
$subject=sprintf('<del>%s</del>',Format:($row,40)); // Making the subject bold is too much for the eye
}
}
as a side note I have added in a couple more stats to the tickets tab..

1) in scp\tickets.php replace
$sql='SELECT count(open.ticket_id) as open, count(answered.ticket_id) as answered '.
',count(overdue.ticket_id) as overdue, count(assigned.ticket_id) as assigned'.
' FROM '.TICKET_TABLE.' ticket '.
'LEFT JOIN '.TICKET_TABLE.' open ON open.ticket_id=ticket.ticket_id AND open.status=\'Open\' AND open.isanswered=0 '.
'LEFT JOIN '.TICKET_TABLE.' answered ON answered.ticket_id=ticket.ticket_id AND answered.status=\'Open\' AND answered.isanswered=1 '.
'LEFT JOIN '.TICKET_TABLE.' overdue ON overdue.ticket_id=ticket.ticket_id AND overdue.status=\'Open\' AND overdue.isoverdue=1 '.
'LEFT JOIN '.TICKET_TABLE.' assigned ON assigned.ticket_id=ticket.ticket_id AND assigned.staff_id='.db_input($thisuser->getId());
with
$sql='SELECT count(open.ticket_id) as open,count(closed.ticket_id) as closed, count(answered.ticket_id) as answered '.
',count(overdue.ticket_id) as overdue, count(assigned.ticket_id) as assigned,count(open_assigned.ticket_id) as open_assigned '.
' FROM '.TICKET_TABLE.' ticket '.
'LEFT JOIN '.TICKET_TABLE.' open ON open.ticket_id=ticket.ticket_id AND open.status=\'Open\' AND open.isanswered=0 '.
// returns all the closed tickets.
'LEFT JOIN '.TICKET_TABLE.' closed ON closed.ticket_id=ticket.ticket_id AND closed.status=\'Closed\' '.
'LEFT JOIN '.TICKET_TABLE.' answered ON answered.ticket_id=ticket.ticket_id AND answered.status=\'Open\' AND answered.isanswered=1 '.
'LEFT JOIN '.TICKET_TABLE.' overdue ON overdue.ticket_id=ticket.ticket_id AND overdue.status=\'Open\' AND overdue.isoverdue=1 '.
'LEFT JOIN '.TICKET_TABLE.' assigned ON assigned.ticket_id=ticket.ticket_id AND assigned.staff_id='.db_input($thisuser->getId()).' '.
// returns the total number of open assigned tickets
'LEFT JOIN '.TICKET_TABLE.' open_assigned ON open_assigned.ticket_id=ticket.ticket_id AND open_assigned.status=\'Open\' AND open_assigned.staff_id='.db_input($thisuser->getId());
if(!$thisuser->isAdmin()){
$sql.=' WHERE ticket.dept_id IN('.implode(',',$thisuser->getDepts()).')';
}
2) replace
$nav->addSubMenu(array('desc'=>'My Tickets ('.$stats.')','title'=>'Assigned Tickets',
with
$nav->addSubMenu(array('desc'=>'My Tickets (Total : '.$stats.' | Open : '.$stats.')','title'=>'Assigned Tickets',
3) replace
$nav->addSubMenu(array('desc'=>'Closed Tickets','title'=>'Closed Tickets', 'href'=>'tickets.php?status=closed', 'iconclass'=>'closedTickets'));
with
$nav->addSubMenu(array('desc'=>'Closed Tickets ('.$stats.')','title'=>'Closed Tickets', 'href'=>'tickets.php?status=closed', 'iconclass'=>'closedTickets'));