Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Description of SupportController
- *
- * @author Adrian
- */
- class SupportController {
- private $user, $app, $request, $sampserver;
- public function __construct() {
- $this->user = App::getUser();
- $this->app = App::getApp();
- $this->request = App::getRequest();
- $this->sampserver = App::getSAMP();
- if($this->user->isLoggedIn() != true) {
- return redirect(App::SECURE_PATH . $_SERVER["SERVER_NAME"] . App::BASE_PATH . '/auth/login');
- }
- $this->app->assign('user', $this->user->data());
- $this->app->assign('samp', $this->sampserver);
- $this->app->assign('request', $this->request);
- if($this->sampserver->connect() != false) {
- $this->app->assign('samp_info', $this->sampserver->getInfo());
- }
- $query = App::getQBuilder()->flush()->select()->from("YRP_Fraktionen");
- $factions = App::getDatabase()->query($query)->result();
- $this->app->assign('_factions', $factions);
- }
- public function index() {
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets")->where("ownerID = :id");
- $tickets = App::getDatabase()->query($query, array(":id" => $this->user->data()->id))->result();
- return view('support.index', compact('tickets'));
- }
- public function showTicket($id) {
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets")->where("id = :id")->limit(1);
- $ticket = App::getDatabase()->query($query, array(":id" => $id))->result(0);
- if($ticket->ownerID != $this->user->data()->id) {
- return redirect(App::SECURE_PATH . $_SERVER["SERVER_NAME"] . App::BASE_PATH . '/auth/login');
- }
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets_Message")->where("ticketID = :id")->orderBy("time", "ASC");
- $messages = App::getDatabase()->query($query, array(":id" => $id))->result();
- return view('support.ticket', compact('ticket', 'messages'));
- }
- public function createTicket() {
- return view('support.create');
- }
- public function postCreateTicket() {
- if($this->request->exists() == false || empty($_POST["titel"]) || empty($_POST["message"])) {
- Session::flash('_errors', array("Es wurden keine Daten empfangen"));
- return redirect(App::SECURE_PATH . $_SERVER["SERVER_NAME"] . App::BASE_PATH . '/account/support/ticket/create');
- }
- $query = App::getQBuilder()->flush()->insertInto("UCP_Support_Tickets", array("titel" => ":titel", "ownerID" => ":id"));
- $insertid = App::getDatabase()->query($query, array(":titel" => $_POST["titel"], ":id" => $this->user->data()->id))->insertID();
- $query = App::getQBuilder()->flush()->insertInto("UCP_Support_Tickets_Message", array("ticketID" => ":tid", "userID" => ":uid", "userName" => ":uname", "message" => ":msg", "time" => ":time"));
- App::getDatabase()->query($query, array(":tid" => $insertid, ":uid" => $this->user->data()->id, ":uname" => $this->user->data()->Vorname . "_" . $this->user->data()->Nachname, ":msg" => $_POST["message"], ":time" => time()));
- Session::flash('_success', array("<strong>Erfolg!</strong> Dein Ticket wurde erfolgreich erstellt!"));
- return redirect(App::SECURE_PATH . $_SERVER["SERVER_NAME"] . App::BASE_PATH . '/account/support');
- }
- public function deleteTicket() {
- if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' && $this->request->exists() == true) {
- $id = $this->request->input('id');
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets")->where("id = :id")->limit(1);
- $ticket = App::getDatabase()->query($query, array(":id" => $id))->result(0);
- if($ticket->ownerID != $this->user->data()->id && empty($_POST["admin"])) {
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Es fehlen benötigte Rechte.";
- echo json_encode($array);
- return false;
- } else if(!empty($_POST["admin"]) && $this->user->data()->Adminlevel == 0) {
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Es fehlen benötigte Rechte.";
- echo json_encode($array);
- return false;
- }
- $query = App::getQBuilder()->flush()->deleteFrom("UCP_Support_Tickets")->where("id = :id")->limit(1);
- App::getDatabase()->query($query, array(":id" => $id))->result(0);
- $array["success"] = true;
- $array["message"] = "<strong>Erfolg!</strong> Du hast das Ticket erfolgreich gelöscht.";
- echo json_encode($array);
- return true;
- }
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Ein Fehler ist aufgetreten.";
- echo json_encode($array);
- return false;
- }
- public function createMessage() {
- if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' && $this->request->exists() == true) {
- $id = $this->request->input('id');
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets")->where("id = :id")->limit(1);
- $ticket = App::getDatabase()->query($query, array(":id" => $id))->result(0);
- if($ticket->ownerID != $this->user->data()->id) {
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Es fehlen benötigte Rechte.";
- echo json_encode($array);
- return false;
- }
- if($this->request->input('message') == "") {
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Es wurde keine Nachricht angegeben.";
- echo json_encode($array);
- return false;
- }
- $query = App::getQBuilder()->flush()->insertInto(
- "UCP_Support_Tickets_Message",
- array("ticketID" => ":tid", "userID" => ":uid", "userName" => ":uname", "message" => ":txt", "time" => ":time")
- );
- App::getDatabase()->query($query, array(
- ":tid" => $id,
- ":uid" => $this->user->data()->id,
- ":uname" => $this->user->data()->Vorname . "_" . $this->user->data()->Nachname,
- ":txt" => $this->request->input('message'),
- ":time" => time()
- ));
- $array["success"] = true;
- $array["message"] = "<strong>Erfolg!</strong> Die Nachricht wurde erfolgreich hinzugefügt.";
- echo json_encode($array);
- return false;
- }
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Ein Fehler ist aufgetreten.";
- echo json_encode($array);
- return false;
- }
- public function adminSupport() {
- if(isset($_GET["page"])) {
- $page = $_GET["page"];
- } else {
- $page = 1;
- }
- $status = -1;
- if(isset($_GET["state"]))
- $status = $_GET["state"];
- if($status == -1) {
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets");
- } else {
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets")->where("status = " . $status);
- }
- $result = App::getDatabase()->query($query);
- $ticket_data = new stdClass();
- $ticket_data->count = $result->count();
- $ticket_data->last = ceil($ticket_data->count / 15);
- if($status == -1) {
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets")->limit(($page - 1)*15, 15);
- } else {
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets")->where("status = " . $status)->limit(($page - 1)*15, 15);
- }
- $tickets = App::getDatabase()->query($query)->result();
- return view('admin.support.index', compact('tickets', 'ticket_data', 'page'));
- }
- public function adminTicket($id) {
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets")->where("id = :id")->limit(1);
- $ticket = App::getDatabase()->query($query, array(":id" => $id))->result(0);
- $query = App::getQBuilder()->flush()->select()->from("UCP_Support_Tickets_Message")->where("ticketID = :id");
- $messages = App::getDatabase()->query($query, array(":id" => $id))->result();
- return view('admin.support.ticket', compact('ticket', 'messages'));
- }
- public function adminTicketMessage() {
- if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' && $this->request->exists() == true) {
- $id = $this->request->input('id');
- if($this->user->data()->Adminlevel == 0) {
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Es fehlen benötigte Rechte.";
- echo json_encode($array);
- return false;
- }
- if($this->request->input('message') == "") {
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Es wurde keine Nachricht angegeben.";
- echo json_encode($array);
- return false;
- }
- $query = App::getQBuilder()->flush()->insertInto("UCP_Support_Tickets_Message", array("ticketID" => ":tid", "adminID" => ":uid", "userName" => ":uname", "message" => ":txt", "time" => ":time"));
- App::getDatabase()->query($query, array(
- ":tid" => $id,
- ":uid" => $this->user->data()->id,
- ":uname" => $this->user->data()->Vorname . "_" . $this->user->data()->Nachname,
- ":txt" => $this->request->input('message'),
- ":time" => time()
- ));
- $array["success"] = true;
- $array["message"] = "<strong>Erfolg!</strong> Die Nachricht wurde erfolgreich hinzugefügt.";
- echo json_encode($array);
- return false;
- }
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Ein Fehler ist aufgetreten.";
- echo json_encode($array);
- return false;
- }
- public function adminEditTicketStatus() {
- if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' && $this->request->exists() == true) {
- $id = $this->request->input('id');
- $status = $this->request->input('status');
- if($this->user->data()->Adminlevel == 0) {
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Es fehlen benötigte Rechte.";
- echo json_encode($array);
- return false;
- }
- $query = App::getQBuilder()->flush()->update("UCP_Support_Tickets", array("status" => $status))->where("id = :id");
- App::getDatabase()->query($query, array(":id" => $id));
- switch($status) {
- case 0:
- $array["message"] = "<strong>Erfolg!</strong> Das Ticket wurde geöffnet.";
- break;
- case 1:
- $array["message"] = "<strong>Erfolg!</strong> Das Ticket wurde 'In Bearbeitung' gesetzt.";
- break;
- case 2:
- $array["message"] = "<strong>Erfolg!</strong> Das Ticket wurde auf 'Wartend' gesetzt.";
- break;
- case 3:
- $array["message"] = "<strong>Erfolg!</strong> Das Ticket wurde geschlossen.";
- break;
- }
- $array["success"] = true;
- echo json_encode($array);
- return false;
- }
- $array["success"] = false;
- $array["message"] = "<strong>Fehler!</strong> Ein Fehler ist aufgetreten.";
- echo json_encode($array);
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement