mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 23:50:44 +01:00
fixes for the ticket system
--HG-- branch : trunk
This commit is contained in:
35
sql/updates/XXX_world_trinity_string.sql
Normal file
35
sql/updates/XXX_world_trinity_string.sql
Normal file
@@ -0,0 +1,35 @@
|
||||
DELETE FROM `trinity_string` WHERE `entry` BETWEEN '288' AND '295';
|
||||
DELETE FROM `trinity_string` WHERE `entry` BETWEEN '2000' AND '2029';
|
||||
INSERT INTO trinity_string (`entry`, `content_default`, `content_loc1`, `content_loc2`, `content_loc3`, `content_loc4`, `content_loc5`, `content_loc6`, `content_loc7`, `content_loc8`) VALUES
|
||||
(2000, '|cff00ff00New ticket from|r|cffff00ff %s.|r |cff00ff00Ticket entry:|r|cffff00ff %d.|r', '', '', '', '', '', '', '', ''),
|
||||
(2001, '|cff00ff00Character|r|cffff00ff %s |r|cff00ff00edited his/her ticket:|r|cffff00ff %d.|r', '', '', '', '', '', '', '', ''),
|
||||
(2002, '|cff00ff00Character|r|cffff00ff %s |r|cff00ff00abandoned ticket entry:|r|cffff00ff %d.|r', '', '', '', '', '', '', '', ''),
|
||||
(2003, '|cff00ff00Closed by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
|
||||
(2004, '|cff00ff00Deleted by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
|
||||
(2005, 'Ticket not found.', '', '', '', '', '', '', '', ''),
|
||||
(2006, 'Please close ticket before deleting it permanently.', '', '', '', '', '', '', '', ''),
|
||||
(2007, 'Ticket %d is already assigned.', '', '', '', '', '', '', '', ''),
|
||||
(2008, '%u Tickets succesfully reloaded from the database.', '', '', '', '', '', '', '', ''),
|
||||
(2009, 'Showing list of open tickets.', '', '', '', '', '', '', '', ''),
|
||||
(2010, 'Showing list of open tickets whose creator is online.', '', '', '', '', '', '', '', ''),
|
||||
(2011, 'Showing list of closed tickets.', '', '', '', '', '', '', '', ''),
|
||||
(2012, 'Invalid name specified. Name should be that of an online Gamemaster.', '', '', '', '', '', '', '', ''),
|
||||
(2013, 'This ticket is already assigned to yourself. To unassign use .ticket unassign %d and then reassign.', '', '', '', '', '', '', '', ''),
|
||||
(2014, 'Ticket %d is not assigned, you cannot unassign it.', '', '', '', '', '', '', '', ''),
|
||||
(2015, 'You cannot unassign tickets from staffmembers with a higher security level than yourself.', '', '', '', '', '', '', '', ''),
|
||||
(2016, 'Cannot close ticket %d, it is assigned to another GM.', '', '', '', '', '', '', '', ''),
|
||||
(2017, '|cff00ff00Ticket|r:|cff00ccff %d.|r ', '', '', '', '', '', '', '', ''),
|
||||
(2018, '|cff00ff00Created by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
|
||||
(2019, '|cff00ff00Last change|r:|cff00ccff %s ago|r ', '', '', '', '', '', '', '', ''),
|
||||
(2020, '|cff00ff00Assigned to|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
|
||||
(2021, '|cff00ff00Unassigned by|r:|cff00ccff %s|r ', '', '', '', '', '', '', '', ''),
|
||||
(2022, '\n|cff00ff00Message|r: \"%s\"|r ', '', '', '', '', '', '', '', ''),
|
||||
(2023, '\n|cff00ff00Comment|r: \"%s\"|r ', '', '', '', '', '', '', '', ''),
|
||||
(2024, '\n|cff00ccff%s|r |cff00ff00Added comment|r: \"%s\"|r ', '', '', '', '', '', '', '', '');
|
||||
-- (2025, '', '', '', '', '', '', '', '', '')
|
||||
-- (2026, '', '', '', '', '', '', '', '', '')
|
||||
-- (2027, '', '', '', '', '', '', '', '', '')
|
||||
-- (2028, '', '', '', '', '', '', '', '', '')
|
||||
-- (2029, '', '', '', '', '', '', '', '', '')
|
||||
DELETE FROM `command` WHERE (`name` LIKE '%ticket closedlist%');
|
||||
INSERT INTO `command` (`name`,`security`,`help`) VALUES ('.ticket closedlist','1','Displays a list of closed GM tickets.');
|
||||
@@ -512,6 +512,7 @@ ChatCommand * ChatHandler::getCommandTable()
|
||||
{ "viewname", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByNameCommand, "", NULL },
|
||||
{ "viewid", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketGetByIdCommand, "", NULL },
|
||||
{ "close", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketCloseByIdCommand, "", NULL },
|
||||
{ "closedlist", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketListClosedCommand, "", NULL },
|
||||
{ "delete", SEC_ADMINISTRATOR, false, &ChatHandler::HandleGMTicketDeleteByIdCommand, "", NULL },
|
||||
{ "assign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketAssignToCommand, "", NULL },
|
||||
{ "unassign", SEC_MODERATOR, false, &ChatHandler::HandleGMTicketUnAssignCommand, "", NULL },
|
||||
@@ -523,7 +524,7 @@ ChatCommand * ChatHandler::getCommandTable()
|
||||
{
|
||||
{ "account", SEC_PLAYER, true, NULL, "", accountCommandTable },
|
||||
{ "gm", SEC_MODERATOR, true, NULL, "", gmCommandTable },
|
||||
{ "ticket", SEC_MODERATOR, true, NULL, "", ticketCommandTable },
|
||||
{ "ticket", SEC_MODERATOR, false, NULL, "", ticketCommandTable },
|
||||
{ "npc", SEC_MODERATOR, false, NULL, "", npcCommandTable },
|
||||
{ "go", SEC_MODERATOR, false, NULL, "", goCommandTable },
|
||||
{ "learn", SEC_MODERATOR, false, NULL, "", learnCommandTable },
|
||||
|
||||
@@ -68,6 +68,7 @@ class ChatHandler
|
||||
void SendSysMessage( int32 entry);
|
||||
void PSendSysMessage( const char *format, ...) ATTR_PRINTF(2,3);
|
||||
void PSendSysMessage( int32 entry, ... );
|
||||
std::string PGetParseString(int32 entry, ...);
|
||||
|
||||
int ParseCommands(const char* text);
|
||||
|
||||
@@ -412,6 +413,7 @@ class ChatHandler
|
||||
// GM ticket command handlers
|
||||
bool HandleGMTicketListCommand(const char* args);
|
||||
bool HandleGMTicketListOnlineCommand(const char* args);
|
||||
bool HandleGMTicketListClosedCommand(const char* args);
|
||||
bool HandleGMTicketGetByIdCommand(const char* args);
|
||||
bool HandleGMTicketGetByNameCommand(const char* args);
|
||||
bool HandleGMTicketCloseByIdCommand(const char* args);
|
||||
|
||||
@@ -758,23 +758,32 @@ enum TrinityStrings
|
||||
LANG_YOU_CHANGE_GENDER = 1120,
|
||||
LANG_YOUR_GENDER_CHANGED = 1121,
|
||||
|
||||
// Ticket Strings 2000-2020
|
||||
// Ticket Strings 2000-2029
|
||||
LANG_COMMAND_TICKETNEW = 2000,
|
||||
LANG_COMMAND_TICKETUPDATED = 2001,
|
||||
LANG_COMMAND_TICKETUPDATED = 2001,
|
||||
LANG_COMMAND_TICKETPLAYERABANDON = 2002,
|
||||
LANG_COMMAND_TICKETCLOSED = 2003,
|
||||
LANG_COMMAND_TICKETDELETED = 2004,
|
||||
LANG_COMMAND_TICKETNOTEXIST = 2005,
|
||||
LANG_COMMAND_TICKETCLOSEFIRST = 2007,
|
||||
LANG_COMMAND_TICKETALREADYASSIGNED = 2008,
|
||||
LANG_COMMAND_TICKETRELOAD = 2009,
|
||||
LANG_COMMAND_TICKETSHOWLIST = 2010,
|
||||
LANG_COMMAND_TICKETSHOWONLINELIST = 2011,
|
||||
LANG_COMMAND_TICKETCLOSEFIRST = 2006,
|
||||
LANG_COMMAND_TICKETALREADYASSIGNED = 2007,
|
||||
LANG_COMMAND_TICKETRELOAD = 2008,
|
||||
LANG_COMMAND_TICKETSHOWLIST = 2009,
|
||||
LANG_COMMAND_TICKETSHOWONLINELIST = 2010,
|
||||
LANG_COMMAND_TICKETSHOWCLOSEDLIST = 2011,
|
||||
LANG_COMMAND_TICKETASSIGNERROR_A = 2012,
|
||||
LANG_COMMAND_TICKETASSIGNERROR_B = 2013,
|
||||
LANG_COMMAND_TICKETNOTASSIGNED = 2014,
|
||||
LANG_COMMAND_TICKETUNASSIGNSECURITY = 2015,
|
||||
LANG_COMMAND_TICKETCANNOTCLOSE = 2016,
|
||||
LANG_COMMAND_TICKETLISTGUID = 2017,
|
||||
LANG_COMMAND_TICKETLISTNAME = 2018,
|
||||
LANG_COMMAND_TICKETLISTAGE = 2019,
|
||||
LANG_COMMAND_TICKETLISTASSIGNEDTO = 2020,
|
||||
LANG_COMMAND_TICKETLISTUNASSIGNED = 2021,
|
||||
LANG_COMMAND_TICKETLISTMESSAGE = 2022,
|
||||
LANG_COMMAND_TICKETLISTCOMMENT = 2023,
|
||||
LANG_COMMAND_TICKETLISTADDCOMMENT = 2024,
|
||||
|
||||
|
||||
// Trinity strings 5000-9999
|
||||
|
||||
@@ -267,6 +267,16 @@ bool ChatHandler::HandleGMChatCommand(const char* args)
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string ChatHandler::PGetParseString(int32 entry, ...)
|
||||
{
|
||||
const char *format = GetTrinityString(entry);
|
||||
va_list ap;
|
||||
char str [1024];
|
||||
va_start(ap, entry);
|
||||
vsnprintf(str,1024,format, ap );
|
||||
va_end(ap);
|
||||
return (std::string)str;
|
||||
}
|
||||
bool ChatHandler::HandleGMTicketListCommand(const char* args)
|
||||
{
|
||||
SendSysMessage(LANG_COMMAND_TICKETSHOWLIST);
|
||||
@@ -274,18 +284,16 @@ bool ChatHandler::HandleGMTicketListCommand(const char* args)
|
||||
{
|
||||
if((*itr)->closed != 0)
|
||||
continue;
|
||||
|
||||
std::stringstream message;
|
||||
message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid;
|
||||
message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name;
|
||||
message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString(time(NULL) - (*itr)->timestamp, true, false) << " ago.";
|
||||
if((*itr)->assignedToGM != 0)
|
||||
std::string gmname;
|
||||
std::stringstream ss;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str());
|
||||
if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
|
||||
{
|
||||
std::string gmname;
|
||||
objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname);
|
||||
message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
|
||||
}
|
||||
SendSysMessage(message.str().c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
|
||||
}
|
||||
SendSysMessage(ss.str().c_str());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -299,17 +307,38 @@ bool ChatHandler::HandleGMTicketListOnlineCommand(const char* args)
|
||||
if((*itr)->closed != 0 || !objmgr.GetPlayer((*itr)->playerGuid))
|
||||
continue;
|
||||
|
||||
std::stringstream message;
|
||||
message << "|cff00ff00Ticket|r: |cff00ccff" << (*itr)->guid;
|
||||
message << ".|r |cff00ff00created by:|r |cff00ccff" << (*itr)->name;
|
||||
message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL) - (*itr)->timestamp), true, false) << " ago.";
|
||||
if((*itr)->assignedToGM != 0 && objmgr.GetPlayer((*itr)->assignedToGM))
|
||||
std::string gmname;
|
||||
std::stringstream ss;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str());
|
||||
if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
|
||||
{
|
||||
std::string gmname;
|
||||
objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname);
|
||||
message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
|
||||
}
|
||||
SendSysMessage(message.str().c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
|
||||
}
|
||||
SendSysMessage(ss.str().c_str());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ChatHandler::HandleGMTicketListClosedCommand(const char* args)
|
||||
{
|
||||
SendSysMessage(LANG_COMMAND_TICKETSHOWCLOSEDLIST);
|
||||
for(GmTicketList::iterator itr = ticketmgr.GM_TicketList.begin(); itr != ticketmgr.GM_TicketList.end(); ++itr)
|
||||
{
|
||||
if((*itr)->closed == 0)
|
||||
continue;
|
||||
|
||||
std::string gmname;
|
||||
std::stringstream ss;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, (*itr)->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, (*itr)->name.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - (*itr)->timestamp, true, false)).c_str());
|
||||
if(objmgr.GetPlayerNameByGUID((*itr)->assignedToGM, gmname))
|
||||
{
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
|
||||
}
|
||||
SendSysMessage(ss.str().c_str());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -327,22 +356,21 @@ bool ChatHandler::HandleGMTicketGetByIdCommand(const char* args)
|
||||
return true;
|
||||
}
|
||||
|
||||
std::stringstream message;
|
||||
message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid;
|
||||
message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name;
|
||||
message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago.";
|
||||
if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM))
|
||||
std::string gmname;
|
||||
std::stringstream ss;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str());
|
||||
if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname))
|
||||
{
|
||||
std::string gmname;
|
||||
objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname);
|
||||
message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
|
||||
}
|
||||
message << "|r\n|cff00ff00Message:|r " << ticket->message;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
|
||||
}
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str());
|
||||
if(ticket->comment != "")
|
||||
{
|
||||
message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str());
|
||||
}
|
||||
SendSysMessage(message.str().c_str());
|
||||
SendSysMessage(ss.str().c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -358,22 +386,21 @@ bool ChatHandler::HandleGMTicketGetByNameCommand(const char* args)
|
||||
return true;
|
||||
}
|
||||
|
||||
std::stringstream message;
|
||||
message << "|cff00ff00Ticket|r: |cff00ccff" << ticket->guid;
|
||||
message << ".|r |cff00ff00created by:|r |cff00ccff" << ticket->name;
|
||||
message << ".|r |cff00ff00Last change:|r |cff00ccff " << secsToTimeString((time(NULL)-ticket->timestamp), true, false) << " ago.";
|
||||
if(ticket->assignedToGM != 0 && objmgr.GetPlayer(ticket->assignedToGM))
|
||||
std::string gmname;
|
||||
std::stringstream ss;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTAGE, (secsToTimeString(time(NULL) - ticket->timestamp, true, false)).c_str());
|
||||
if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname))
|
||||
{
|
||||
std::string gmname;
|
||||
objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname);
|
||||
message << "|r |cff00ff00Assigned to:|r |cff00ccff " << gmname;
|
||||
}
|
||||
message << "|r\n|cff00ff00Message:|r " << ticket->message;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
|
||||
}
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTMESSAGE, ticket->message.c_str());
|
||||
if(ticket->comment != "")
|
||||
{
|
||||
message << "|r |cff00ff00Comment:|r |cff00ccff " << ticket->comment;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTCOMMENT, ticket->comment.c_str());
|
||||
}
|
||||
SendSysMessage(message.str().c_str());
|
||||
SendSysMessage(ss.str().c_str());
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -394,7 +421,11 @@ bool ChatHandler::HandleGMTicketCloseByIdCommand(const char* args)
|
||||
PSendSysMessage(LANG_COMMAND_TICKETCANNOTCLOSE, ticket->guid);
|
||||
return true;
|
||||
}
|
||||
sWorld.SendGMText(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName(), ticket->guid);
|
||||
std::stringstream ss;
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETCLOSED, m_session->GetPlayer()->GetName());
|
||||
SendGlobalGMSysMessage(ss.str().c_str());
|
||||
ticketmgr.RemoveGMTicket(ticket->guid, m_session->GetPlayer()->GetGUID());
|
||||
Player *plr = objmgr.GetPlayer(ticket->playerGuid);
|
||||
|
||||
@@ -457,10 +488,9 @@ bool ChatHandler::HandleGMTicketAssignToCommand(const char* args)
|
||||
ticket->assignedToGM = tarGUID;
|
||||
ticketmgr.UpdateGMTicket(ticket);
|
||||
std::stringstream ss;
|
||||
ss << "|cff00ff00Ticket:|r ";
|
||||
ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r";
|
||||
ss << "|cff00ff00 assigned to:|r ";
|
||||
ss << "|cffff00ff\"" << gmname << "\".";
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
|
||||
SendGlobalGMSysMessage(ss.str().c_str());
|
||||
return true;
|
||||
}
|
||||
@@ -481,7 +511,7 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args)
|
||||
}
|
||||
if(ticket->assignedToGM == 0)
|
||||
{
|
||||
SendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED);
|
||||
PSendSysMessage(LANG_COMMAND_TICKETNOTASSIGNED, ticket->guid);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -495,9 +525,10 @@ bool ChatHandler::HandleGMTicketUnAssignCommand(const char* args)
|
||||
}
|
||||
|
||||
std::stringstream ss;
|
||||
ss << "|cff00ff00Ticket:|r ";
|
||||
ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r";
|
||||
ss << "|cff00ff00 unassigned.|r";
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTUNASSIGNED, cplr->GetName());
|
||||
SendGlobalGMSysMessage(ss.str().c_str());
|
||||
ticket->assignedToGM = 0;
|
||||
ticketmgr.UpdateGMTicket(ticket);
|
||||
@@ -530,13 +561,18 @@ bool ChatHandler::HandleGMTicketCommentCommand(const char* args)
|
||||
return true;
|
||||
}
|
||||
|
||||
std::string gmname;
|
||||
objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname);
|
||||
ticket->comment = comment;
|
||||
ticketmgr.UpdateGMTicket(ticket);
|
||||
std::stringstream ss;
|
||||
ss << "|cff00ff00Ticket:|r ";
|
||||
ss << "|cffff00ff" << ticket->guid << ". " << cplr->GetName() << "|r";
|
||||
ss << "|cff00ff00 added comment:|r ";
|
||||
ss << "|cffff00ff\"" << ticket->comment << "\".";
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
|
||||
if(objmgr.GetPlayerNameByGUID(ticket->assignedToGM, gmname))
|
||||
{
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTASSIGNEDTO, gmname.c_str());
|
||||
}
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTADDCOMMENT, cplr->GetName(), ticket->comment.c_str());
|
||||
SendGlobalGMSysMessage(ss.str().c_str());
|
||||
return true;
|
||||
}
|
||||
@@ -560,9 +596,9 @@ bool ChatHandler::HandleGMTicketDeleteByIdCommand(const char* args)
|
||||
}
|
||||
|
||||
std::stringstream ss;
|
||||
ss << "|cff00ff00Ticket:|r ";
|
||||
ss << "|cffff00ff" << m_session->GetPlayer()->GetName() << "|r";
|
||||
ss << "|cff00ff00 deleted.|r";
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTGUID, ticket->guid);
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETLISTNAME, ticket->name.c_str());
|
||||
ss << PGetParseString(LANG_COMMAND_TICKETDELETED, m_session->GetPlayer()->GetName());
|
||||
SendGlobalGMSysMessage(ss.str().c_str());
|
||||
Player *plr = objmgr.GetPlayer(ticket->playerGuid);
|
||||
ticketmgr.DeleteGMTicketPermanently(ticket->guid);
|
||||
|
||||
@@ -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` WHERE `closed` = '0'" );
|
||||
QueryResult *result = CharacterDatabase.Query( "SELECT `guid`, `playerGuid`, `name`, `message`, `timestamp`, `closed`, `assignedto`, `comment` FROM `gm_tickets`" );
|
||||
GM_Ticket *ticket;
|
||||
|
||||
if(!result)
|
||||
@@ -197,7 +197,7 @@ void TicketMgr::InitTicketID()
|
||||
QueryResult *result = CharacterDatabase.Query("SELECT MAX(guid) FROM gm_tickets");
|
||||
if(result)
|
||||
{
|
||||
m_ticketid = result->Fetch()[0].GetUInt64() + 1;
|
||||
m_ticketid = result->Fetch()[0].GetUInt64();
|
||||
delete result;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user