public function view() { $f3 = \Base::instance(); $this->_requireLogin(); $this->_requireRank('support'); $user = $f3->get('user'); $user_obj = $f3->get('user_obj'); $user_org_links = $f3->get('user_org_links'); $db = $f3->get('db.instance'); $ticketId = $f3->get('PARAMS.id'); $ticket = new Ticket(); $ticket->load($ticketId); if ($ticket->loaded()) { if ($f3->exists('GET.action') and $f3->get('GET.action') == 'close') { $ticket->status = 'closed'; $ticket->save(); $f3->reroute($f3->get('PATH')); } $f3->set('ticket', $ticket->cast()); // Load ticket messages $result = $db->exec('SELECT * FROM support_tickets_msg WHERE ticketId = ? ORDER BY id DESC', $ticket->id); foreach ($result as $id => $resp) { if ($resp['senderId'] == $user['id']) { // The sender is the actual user, no need to load $result[$id]['sender'] = $user; } else { // Load the message senders information $sender = new User(); $sender->load($resp['senderId']); $result[$id]['sender'] = $sender->cast(); } } $f3->set('ticket_msg', $result); $f3->set('target', 'dashboard/admin/support/view.html'); } else { $f3->set('target', '404.html'); } $this->_render('base.html'); }