Example #1
0
 public function viewpost()
 {
     $f3 = \Base::instance();
     $this->_requireLogin();
     $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() and $ticket->memberId == $user['id']) {
         $text = $f3->get('POST.text');
         $text = $f3->clean($text);
         if (strlen($text) > 10) {
             // Add response and redirect
             $ticketmsg = new TicketMessage();
             $ticketmsg->ticketId = $ticket->id;
             $ticketmsg->text = $text;
             $ticketmsg->senderId = $user['id'];
             $ticketmsg->sendTime = date("Y-m-d H:i:s");
             $ticketmsg->save();
             // Set ticket to active if closed
             if ($ticket->status == 'closed') {
                 $ticket->status = 'active';
                 $ticket->save();
             }
             // Sending a mail to admins
             $admins = \Helpers\User::getUsersRankedHigherThen(1);
             $adminEmails = [];
             foreach ($admins as $admin) {
                 $adminEmails[] = $admin['email'];
             }
             $f3->set('ticket_id', $ticket->id);
             $f3->set('ticket_text', $text);
             $f3->set('ticket_priority', $ticket->priority);
             SendingAPI::send(['mailTo' => $adminEmails, 'mailSubject' => 'An answer has been made to a ticket', 'mailContents' => ['html' => \Template::instance()->render('mails/ticketAnswer.html'), 'text' => "An answer has been made to a ticket. \n\n" . "From: " . $user['name'] . "\n" . "Priority: " . $ticket->priority . "\n" . "URL: " . 'https://squarems.net/dashboard/admin/support/ticket/' . $ticket->id . "\n\n" . $text . "\n\n" . "You can unsubscribe in your user settings: 'Notifications'."]]);
             $f3->reroute($f3->get('PATH'));
         } else {
             new Notification('Text must be at least 10 characters long.', 'danger', true);
             $f3->reroute($f3->get('PATH') . '?content=' . urlencode($text));
         }
     } else {
         $f3->set('target', 'support/unauthorized.html');
     }
 }
Example #2
0
 public function viewpost()
 {
     $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->get('GET.action') == 'changestatus') {
             $status = $f3->get('POST.status');
             if (!empty($status) and ctype_alpha($status)) {
                 $ticket->status = $status;
                 $ticket->save();
                 $f3->reroute($f3->get('PATH'));
             }
         }
         $text = $f3->get('POST.text');
         $text = $f3->clean($text);
         if (strlen($text) > 10) {
             // Add response and redirect
             $ticketmsg = new TicketMessage();
             $ticketmsg->ticketId = $ticket->id;
             $ticketmsg->text = $text;
             $ticketmsg->senderId = $user['id'];
             $ticketmsg->sendTime = date("Y-m-d H:i:s");
             $ticketmsg->save();
             // Set ticket to active if closed
             if ($ticket->status == 'closed') {
                 $ticket->status = 'active';
                 $ticket->save();
             }
             $f3->reroute($f3->get('PATH'));
         } else {
             new Notification('Text must be at least 10 characters long.', 'danger', true);
             $f3->reroute($f3->get('PATH') . '?content=' . urlencode($text));
         }
     } else {
         $f3->set('target', '404.html');
     }
 }