diff options
author | Machiavelli <none@none> | 2009-04-14 01:27:43 +0200 |
---|---|---|
committer | Machiavelli <none@none> | 2009-04-14 01:27:43 +0200 |
commit | e2a4b4d1789be393060874c0253e56e5ee0b3a42 (patch) | |
tree | 05b8f3b2df8deedcf9cf62bab7a8b21bc924e47b | |
parent | 57b33b244f281119e41f83f8b8655bb0042ec24d (diff) |
Ticket system changes by Disassembler:
- Change uint16 closed guid to uint64
- Add createtime field
--HG--
branch : trunk
-rw-r--r-- | sql/updates/1358_characters.sql | 1 | ||||
-rw-r--r-- | sql/updates/1358_world.sql | 3 | ||||
-rw-r--r-- | src/game/Language.h | 2 | ||||
-rw-r--r-- | src/game/Level1.cpp | 6 | ||||
-rw-r--r-- | src/game/TicketHandler.cpp | 1 | ||||
-rw-r--r-- | src/game/TicketMgr.cpp | 14 | ||||
-rw-r--r-- | src/game/TicketMgr.h | 3 |
7 files changed, 22 insertions, 8 deletions
diff --git a/sql/updates/1358_characters.sql b/sql/updates/1358_characters.sql new file mode 100644 index 00000000000..688e151b430 --- /dev/null +++ b/sql/updates/1358_characters.sql @@ -0,0 +1 @@ +ALTER TABLE `gm_tickets` ADD COLUMN `createtime` int(10) NOT NULL after `message`; diff --git a/sql/updates/1358_world.sql b/sql/updates/1358_world.sql new file mode 100644 index 00000000000..ead79e05b61 --- /dev/null +++ b/sql/updates/1358_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `trinity_string` WHERE `entry`=2025; +INSERT INTO `trinity_string` (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) VALUES +('2025','|cff00ff00Created|r:|cff00ccff %s ago|r ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); diff --git a/src/game/Language.h b/src/game/Language.h index f19ffe3fe15..a1b1b3bf1b7 100644 --- a/src/game/Language.h +++ b/src/game/Language.h @@ -784,7 +784,7 @@ enum TrinityStrings LANG_COMMAND_TICKETLISTMESSAGE = 2022, LANG_COMMAND_TICKETLISTCOMMENT = 2023, LANG_COMMAND_TICKETLISTADDCOMMENT = 2024, - + LANG_COMMAND_TICKETLISTAGECREATE = 2025, // Trinity strings 5000-9999 LANG_COMMAND_FREEZE = 5000, diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp index 489cc656243..617a6a68396 100644 --- a/src/game/Level1.cpp +++ b/src/game/Level1.cpp @@ -277,6 +277,7 @@ std::string ChatHandler::PGetParseString(int32 entry, ...) va_end(ap); return (std::string)str; } + bool ChatHandler::HandleGMTicketListCommand(const char* args) { SendSysMessage(LANG_COMMAND_TICKETSHOWLIST); @@ -288,6 +289,7 @@ bool ChatHandler::HandleGMTicketListCommand(const char* args) std::stringstream ss; ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid); ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGECREATE, (secsToTimeString(time(NULL) - (*itr)->createtime, true, false)).c_str()); ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str()); if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname)) { @@ -311,6 +313,7 @@ bool ChatHandler::HandleGMTicketListOnlineCommand(const char* args) std::stringstream ss; ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid); ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGECREATE, (secsToTimeString(time(NULL) - (*itr)->createtime, true, false)).c_str()); ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str()); if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname)) { @@ -333,6 +336,7 @@ bool ChatHandler::HandleGMTicketListClosedCommand(const char* args) std::stringstream ss; ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid); ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGECREATE, (secsToTimeString(time(NULL) - (*itr)->createtime, true, false)).c_str()); ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str()); if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname)) { @@ -360,6 +364,7 @@ bool ChatHandler::HandleGMTicketGetByIdCommand(const char* args) std::stringstream ss; ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGECREATE, (secsToTimeString(time(NULL) - (*itr)->createtime, true, false)).c_str()); ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str()); if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname)) { @@ -390,6 +395,7 @@ bool ChatHandler::HandleGMTicketGetByNameCommand(const char* args) std::stringstream ss; ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid); ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str()); + ss << PGetParseString(LANG_COMMAND_TICKETLISTAGECREATE, (secsToTimeString(time(NULL) - (*itr)->createtime, true, false)).c_str()); ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str()); if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname)) { diff --git a/src/game/TicketHandler.cpp b/src/game/TicketHandler.cpp index 6a4606aadca..d2df52f1c1c 100644 --- a/src/game/TicketHandler.cpp +++ b/src/game/TicketHandler.cpp @@ -60,6 +60,7 @@ void WorldSession::HandleGMTicketCreateOpcode( WorldPacket & recv_data ) ticket->guid = ticketmgr.GenerateTicketID(); ticket->playerGuid = GetPlayer()->GetGUID(); ticket->message = ticketText; + ticket->createtime = time(NULL); ticket->timestamp = time(NULL); ticket->closed = 0; ticket->assignedToGM = 0; diff --git a/src/game/TicketMgr.cpp b/src/game/TicketMgr.cpp index e8b75c9f284..29990d83069 100644 --- a/src/game/TicketMgr.cpp +++ b/src/game/TicketMgr.cpp @@ -111,7 +111,7 @@ 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`" ); + QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `createtime`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets`" ); GM_Ticket *ticket; if(!result) @@ -126,10 +126,11 @@ void TicketMgr::LoadGMTickets() ticket->playerGuid = fields[1].GetUInt64(); ticket->name = fields[2].GetString(); ticket->message = fields[3].GetString(); - ticket->timestamp = fields[4].GetUInt32(); - ticket->closed = fields[5].GetUInt16(); - ticket->assignedToGM = fields[6].GetUInt64(); - ticket->comment = fields[7].GetString(); + ticket->createtime = fields[4].GetUInt64(); + ticket->timestamp = fields[5].GetUInt64(); + ticket->closed = fields[6].GetUInt64(); + ticket->assignedToGM = fields[7].GetUInt64(); + ticket->comment = fields[8].GetString(); AddGMTicket(ticket, true); @@ -172,11 +173,12 @@ 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 << "REPLACE INTO `gm_tickets` (`guid`, `playerGuid`, `name`, `message`, `createtime`, `timestamp`, `closed`, `assignedto`, `comment`) VALUES('"; ss << ticket->guid << "', '"; ss << ticket->playerGuid << "', '"; ss << ticket->name << "', '"; ss << msg << "', '" ; + ss << ticket->createtime << "', '"; ss << ticket->timestamp << "', '"; ss << ticket->closed << "', '"; ss << ticket->assignedToGM << "', '"; diff --git a/src/game/TicketMgr.h b/src/game/TicketMgr.h index f3fa7d98f7d..99e4dc1df41 100644 --- a/src/game/TicketMgr.h +++ b/src/game/TicketMgr.h @@ -33,8 +33,9 @@ struct GM_Ticket uint64 playerGuid; std::string name; std::string message; + uint64 createtime; uint64 timestamp; - uint16 closed; + uint64 closed; uint64 assignedToGM; std::string comment; }; |