Example #1
0
 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');
 }