Ticket system changes by Disassembler:

- Change uint16 closed guid to uint64
- Add createtime field

--HG--
branch : trunk
This commit is contained in:
Machiavelli
2009-04-14 01:27:43 +02:00
parent 57b33b244f
commit e2a4b4d178
7 changed files with 22 additions and 8 deletions

View File

@@ -0,0 +1 @@
ALTER TABLE `gm_tickets` ADD COLUMN `createtime` int(10) NOT NULL after `message`;

View File

@@ -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);

View File

@@ -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,

View File

@@ -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))
{

View File

@@ -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;

View File

@@ -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 << "', '";

View File

@@ -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;
};