aboutsummaryrefslogtreecommitdiff
path: root/src/game/TicketMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/TicketMgr.cpp')
-rw-r--r--src/game/TicketMgr.cpp33
1 files changed, 19 insertions, 14 deletions
diff --git a/src/game/TicketMgr.cpp b/src/game/TicketMgr.cpp
index ffa8c522672..1e28c2a2ec1 100644
--- a/src/game/TicketMgr.cpp
+++ b/src/game/TicketMgr.cpp
@@ -108,11 +108,12 @@ void TicketMgr::DeleteGMTicketPermanently(uint64 ticketGuid)
void TicketMgr::LoadGMTickets()
{
+ InitTicketID();
// Delete all out of object holder
GM_TicketList.clear();
QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets` WHERE `closed` = '0'" );
GM_Ticket *ticket;
-
+
if(!result)
return;
@@ -168,18 +169,19 @@ void TicketMgr::RemoveGMTicketByPlayer(uint64 playerGuid, uint64 GMguid)
void TicketMgr::SaveGMTicket(GM_Ticket* ticket)
{
+ std::string msg = ticket->message;
+ CharacterDatabase.escape_string(msg);
std::stringstream ss;
- ss << "REPLACE INTO `gm_tickets` (`guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment`) VALUES(\"";
- ss << ticket->guid << "\", \"";
- ss << ticket->playerGuid << "\", \"";
- ss << ticket->name << "\", \"";
- ss << ticket->message << "\", \"" ;
- ss << ticket->timestamp << "\", \"";
- ss << ticket->closed << "\", \"";
- ss << ticket->assignedToGM << "\", \"";
- ss << ticket->comment << "\");";
-
- CharacterDatabase.BeginTransaction();
+ ss << "REPLACE INTO `gm_tickets` (`guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment`) VALUES('";
+ ss << ticket->guid << "', '";
+ ss << ticket->playerGuid << "', '";
+ ss << ticket->name << "', '";
+ ss << msg << "', '" ;
+ ss << ticket->timestamp << "', '";
+ ss << ticket->closed << "', '";
+ ss << ticket->assignedToGM << "', '";
+ ss << ticket->comment << "');";
+ CharacterDatabase.BeginTransaction();
CharacterDatabase.Execute(ss.str().c_str());
CharacterDatabase.CommitTransaction();
@@ -190,7 +192,7 @@ void TicketMgr::UpdateGMTicket(GM_Ticket *ticket)
SaveGMTicket(ticket);
}
-uint64 TicketMgr::GenerateTicketID()
+void TicketMgr::InitTicketID()
{
QueryResult *result = CharacterDatabase.Query("SELECT MAX(guid) FROM gm_tickets");
if(result)
@@ -198,6 +200,9 @@ uint64 TicketMgr::GenerateTicketID()
m_ticketid = result->Fetch()[0].GetUInt64() + 1;
delete result;
}
+}
+uint64 TicketMgr::GenerateTicketID()
+{
return ++m_ticketid;
-} \ No newline at end of file
+}