diff options
Diffstat (limited to 'src/game/TicketMgr.cpp')
-rw-r--r-- | src/game/TicketMgr.cpp | 33 |
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 +} |