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'); } }
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'); } }