58 SF_LOG_INFO(
"server.loading",
">> Loaded 0 GM tickets. DB table `gm_ticket` is empty!");
65 Field* fields = result->Fetch();
78 }
while (result->NextRow());
99 SF_LOG_INFO(
"server.loading",
">> Loaded 0 ticket bugs. DB table `ticket_bug` is empty!");
106 Field* fields = result->Fetch();
119 }
while (result->NextRow());
140 SF_LOG_INFO(
"server.loading",
">> Loaded 0 ticket suggests. DB table `ticket_suggest` is empty!");
147 Field* fields = result->Fetch();
160 }
while (result->NextRow());
225 GmTicketList::const_iterator itr =
_gmTicketList.find(ticketId);
254 ticket->DeleteFromDB();
264 ticket->DeleteFromDB();
274 ticket->DeleteFromDB();
285 ticket->SetClosedBy(closedBy);
289 ticket->SaveToDB(trans);
298 ticket->SetClosedBy(closedBy);
302 ticket->SaveToDB(trans);
311 ticket->SetClosedBy(closedBy);
315 ticket->SaveToDB(trans);
362 if (!itr->second->IsClosed() && !itr->second->IsCompleted())
363 if (!onlineOnly || itr->second->GetPlayer())
364 handler.
SendSysMessage(itr->second->FormatMessageString(handler).c_str());
371 if (!itr->second->IsClosed() && !itr->second->IsCompleted())
372 handler.
SendSysMessage(itr->second->FormatMessageString(handler).c_str());
379 if (!itr->second->IsClosed())
380 handler.
SendSysMessage(itr->second->FormatMessageString(handler).c_str());
387 if (!itr->second->IsClosed())
388 handler.
SendSysMessage(itr->second->FormatMessageString(handler).c_str());
395 if (itr->second->IsClosed())
396 handler.
SendSysMessage(itr->second->FormatMessageString(handler).c_str());
403 if (itr->second->IsClosed())
404 handler.
SendSysMessage(itr->second->FormatMessageString(handler).c_str());
411 if (itr->second->IsClosed())
412 handler.
SendSysMessage(itr->second->FormatMessageString(handler).c_str());
420 handler.
SendSysMessage(itr->second->FormatMessageString(handler).c_str());
427 uint32 size = ticket ? (3 + 4 + 1 + 1 + 1 + 4 + ticket->
GetMessage().size() + 4 + 4 + 4 + 4) : 1 + 4;
434 float OldestTicketTime =
sTicketMgr->GetOldestOpenTicket() ?
GetAge(
sTicketMgr->GetOldestOpenTicket()->GetLastModifiedTime()) : 0.0f;
442 data <<
uint8(viewed);
447 data <<
uint32(OldestTicketTime);
@ CHAR_DEL_ALL_GM_SUGGESTS
@ CHAR_DEL_ALL_GM_TICKETS
@ LANG_COMMAND_TICKETSHOWONLINELIST
@ LANG_COMMAND_TICKETSHOWESCALATEDLIST
@ LANG_COMMAND_TICKETSHOWLIST
@ LANG_COMMAND_TICKETSHOWCLOSEDLIST
#define SF_LOG_INFO(filterType__,...)
Skyfire::AutoPtr< PreparedResultSet, Skyfire::Mutex > PreparedQueryResult
Skyfire::AutoPtr< ResultSet, Skyfire::Mutex > QueryResult
@ TICKET_IN_ESCALATION_QUEUE
@ GMTICKET_STATUS_DEFAULT
@ GMTICKET_STATUS_HASTEXT
@ GMTICKET_OPENEDBYGM_STATUS_NOT_OPENED
@ GMTICKET_OPENEDBYGM_STATUS_OPENED
uint32 GetMSTimeDiffToNow(uint32 oldMSTime)
Skyfire::AutoPtr< Transaction, Skyfire::Mutex > SQLTransaction
void SaveToDB(SQLTransaction &trans) const OVERRIDE
void LoadFromDB(Field *fields) OVERRIDE
bool WriteBit(uint32 bit)
void WriteString(std::string const &str)
void WriteBits(T value, size_t bits)
virtual void SendSysMessage(const char *str)
std::string const & GetMessage() const
std::string const & GetResponse() const
void LoadFromDB(Field *fields) OVERRIDE
GMTicketEscalationStatus GetEscalatedStatus() const
void SaveToDB(SQLTransaction &trans) const OVERRIDE
WorldSession * GetSession() const
void SaveToDB(SQLTransaction &trans) const OVERRIDE
void LoadFromDB(Field *fields) OVERRIDE
uint32 GetTicketId() const
void SendGmResponsee(WorldSession *session, GmTicket *ticket) const
SuggestTicketList _suggestTicketList
GmTicketList _gmTicketList
bool _gmTicketSystemStatus
void LoadSuggestTickets()
bool _feedbackSystemStatus
void SetGmTicketSystemStatus(bool status)
void SendGmTicketUpdate(Opcodes opcode, GMTicketResponse response, Player *player) const
uint32 _openGmTicketCount
void ShowClosedList(ChatHandler &handler) const
void AddTicket(GmTicket *ticket)
void CloseTicket(uint32 ticketId, int64 closedBy)
BugTicketList _bugTicketList
uint32 GetOpenTicketCount() const
T * GetTicket(uint32 ticketId)
void ShowGmEscalatedList(ChatHandler &handler) const
void SendGmTicket(WorldSession *session, GmTicket *ticket) const
@ response Packets
uint32 _openSuggestTicketCount
void SetFeedBackSystemStatus(bool status)
uint32 _openBugTicketCount
void RemoveTicket(uint32 ticketId)
void ShowList(ChatHandler &handler) const
Player session in the World.
void SendPacket(WorldPacket const *packet, bool forced=false)
Send a packet to the client.
CharacterDatabaseWorkerPool CharacterDatabase
Accessor to the character database.
@ SMSG_GM_TICKET_RESPONSE
@ SMSG_GM_TICKET_GET_TICKET
@ CONFIG_TICKETS_GM_ENABLED
@ CONFIG_TICKETS_FEEDBACK_SYSTEM_ENABLED