aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/TicketHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-04-25 21:24:39 +0200
committerShauren <shauren.trinity@gmail.com>2015-04-25 21:24:39 +0200
commit34935f0b096807cac55c2290b3502128842e0e69 (patch)
tree23d0071c057c28212a1335bd10e2e5b47b02ddf2 /src/server/game/Handlers/TicketHandler.cpp
parentf6d3da7dce2464a89d9a9b20a95325808ac6efe4 (diff)
Core/PacketIO: Limit the amount of support packets allowed to be processed and updated CMSG_BUG_REPORT
Diffstat (limited to 'src/server/game/Handlers/TicketHandler.cpp')
-rw-r--r--src/server/game/Handlers/TicketHandler.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/server/game/Handlers/TicketHandler.cpp b/src/server/game/Handlers/TicketHandler.cpp
index 55bbe96f15c..1ff239035a4 100644
--- a/src/server/game/Handlers/TicketHandler.cpp
+++ b/src/server/game/Handlers/TicketHandler.cpp
@@ -203,6 +203,9 @@ void WorldSession::HandleGMResponseResolve(WorldPackets::Ticket::GMTicketRespons
void WorldSession::HandleSupportTicketSubmitBug(WorldPackets::Ticket::SupportTicketSubmitBug& packet)
{
+ if (!sSupportMgr->GetBugSystemStatus())
+ return;
+
BugTicket* ticket = new BugTicket(GetPlayer());
ticket->SetPosition(packet.Header.MapID, packet.Header.Position);
ticket->SetFacing(packet.Header.Facing);
@@ -213,6 +216,9 @@ void WorldSession::HandleSupportTicketSubmitBug(WorldPackets::Ticket::SupportTic
void WorldSession::HandleSupportTicketSubmitSuggestion(WorldPackets::Ticket::SupportTicketSubmitSuggestion& packet)
{
+ if (!sSupportMgr->GetSuggestionSystemStatus())
+ return;
+
SuggestionTicket* ticket = new SuggestionTicket(GetPlayer());
ticket->SetPosition(packet.Header.MapID, packet.Header.Position);
ticket->SetFacing(packet.Header.Facing);
@@ -223,6 +229,9 @@ void WorldSession::HandleSupportTicketSubmitSuggestion(WorldPackets::Ticket::Sup
void WorldSession::HandleSupportTicketSubmitComplaint(WorldPackets::Ticket::SupportTicketSubmitComplaint& packet)
{
+ if (!sSupportMgr->GetComplaintSystemStatus())
+ return;
+
ComplaintTicket* comp = new ComplaintTicket(GetPlayer());
comp->SetPosition(packet.Header.MapID, packet.Header.Position);
comp->SetFacing(packet.Header.Facing);
@@ -232,5 +241,16 @@ void WorldSession::HandleSupportTicketSubmitComplaint(WorldPackets::Ticket::Supp
comp->SetNote(packet.Note);
sSupportMgr->AddTicket(comp);
+}
+
+void WorldSession::HandleBugReportOpcode(WorldPackets::Ticket::BugReport& bugReport)
+{
+ // Note: There is no way to trigger this with standard UI except /script ReportBug("text")
+ if (!sSupportMgr->GetBugSystemStatus())
+ return;
+ PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_BUG_REPORT);
+ stmt->setString(0, bugReport.Text);
+ stmt->setString(1, bugReport.DiagInfo);
+ CharacterDatabase.Execute(stmt);
}