Based on the fine work of (masino_sinaga)
My team had the need of viewing not all the "Closed tickets" but "Own closed tickets" because normally we know on our history that we had deal with similar issue but the "Search" results don't help... and we go our closed tickets and that refines our query :)
Hope you like
BEFORE MOD

AFTER MOD

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
WARNING
Always, always backup your files before doing ANY change to your osTicket files and/or database!
BE WARNED
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
FIRST STEP
File: /scptickets.php
FIND: ~388
',count(overdue.ticket_id) as overdue, count(assigned.ticket_id) as assigned '.
REPLACE BY:
',count(overdue.ticket_id) as overdue, count(assigned.ticket_id) as assigned '.
// START MOD12 Show amount of closed
',count(closed.ticket_id) as closed '.
// END MOD12 Show amount of closed
// START MOD13 Show MyClosed and amount
',count(MyClosed.ticket_id) as MyClosed '.
// END MOD13 Show MyClosed and amount
FIND: ~392
'LEFT JOIN '.TICKET_TABLE.' overdue ON overdue.ticket_id=ticket.ticket_id AND overdue.status=\'Open\' AND overdue.isoverdue=1 '.
REPLACE BY:
'LEFT JOIN '.TICKET_TABLE.' overdue ON overdue.ticket_id=ticket.ticket_id AND overdue.status=\'Open\' AND overdue.isoverdue=1 '.
// START MOD12 Show amount of closed
'LEFT JOIN '.TICKET_TABLE.' closed ON closed.ticket_id=ticket.ticket_id AND closed.status=\'closed\' '.
// END MOD12 Show amount of closed
// START MOD13 Show MyClosed and amount
'LEFT JOIN '.TICKET_TABLE.' MyClosed ON MyClosed.ticket_id = ticket.ticket_id AND MyClosed.status=\'closed\' AND MyClosed.staff_id ='.db_input($thisuser->getId()).
// END MOD13 Show MyClosed and amount
FIND: ~425
$nav->addSubMenu(array('desc'=>'Closed Tickets','title'=>'Closed Tickets', 'href'=>'tickets.php?status=closed', 'iconclass'=>'closedTickets'));
REPLACE BY:
// START MOD13 Add MyClosed tickets
$nav->addSubMenu(array('desc'=>'My Closed Tickets ('.$stats.')','title'=>'My Closed Tickets',
'href'=>'tickets.php?status=MyClosed', 'iconclass'=>'assignedTickets'));
// END MOD13 Add MyClosed tickets
// START MOD12 Show amount of closed
$nav->addSubMenu(array('desc'=>'Closed Tickets ('.$stats.')','title'=>'Closed Tickets',
'href'=>'tickets.php?status=closed', 'iconclass'=>'closedTickets'));
// END MOD12 Show amount of closed
SECOND STEP
File: /include/stafftickets.inc.php
FIND: ~29
case 'open':
$status='open';
break;
REPLACE BY:
case 'open':
$status='open';
break;
// START MOD13 Add MyClosed tickets
case 'myclosed':
$status='myclosed';
break;
// END MOD13 Add MyClosed tickets
FIND: ~88
//STATUS
if($status){
$qwhere.=' AND status='.db_input($status);
}
REPLACE BY:
//STATUS
if($status){
// START MOD13 Add MyClosed tickets
if($status == 'myclosed'){
$status='closed';
$qwhere.=' AND status='.db_input($status).' AND staff.staff_id='.$thisuser->getId();
} else {
$qwhere.=' AND status='.db_input($status);
}
// END MOD13 Add MyClosed tickets
}