Пример #1
0
        internal void CloseTicket(GameClient Session, uint TicketId, int Result)
        {
            SupportTicket ticket = this.GetTicket(TicketId);

            if (ticket == null || ticket.Status != TicketStatus.PICKED || ticket.ModeratorId != Session.GetHabbo().Id)
            {
                return;
            }
            GameClient   clientByUserID = CyberEnvironment.GetGame().GetClientManager().GetClientByUserID(ticket.SenderId);
            int          i = 0;
            TicketStatus newStatus;

            switch (Result)
            {
            case 1:
                i         = 1;
                newStatus = TicketStatus.INVALID;
                goto IL_9E;

            case 2:
                i         = 2;
                newStatus = TicketStatus.ABUSIVE;
                using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
                {
                    queryreactor.runFastQuery("UPDATE user_info SET cfhs_abusive = cfhs_abusive + 1 WHERE user_id = " + ticket.SenderId);
                    goto IL_9E;
                }
            }
            i         = 0;
            newStatus = TicketStatus.RESOLVED;
IL_9E:
            if (clientByUserID != null && (ticket.Type != 3 && ticket.Type != 4))
            {
                clientByUserID.GetMessageHandler().GetResponse().Init(Outgoing.ModerationToolUpdateIssueMessageComposer);
                clientByUserID.GetMessageHandler().GetResponse().AppendInt32(1);
                clientByUserID.GetMessageHandler().GetResponse().AppendUInt(ticket.TicketId);
                clientByUserID.GetMessageHandler().GetResponse().AppendUInt(ticket.ModeratorId);
                clientByUserID.GetMessageHandler().GetResponse().AppendString((CyberEnvironment.getHabboForId(ticket.ModeratorId) != null) ? CyberEnvironment.getHabboForId(ticket.ModeratorId).Username : "******");
                clientByUserID.GetMessageHandler().GetResponse().AppendBoolean(false);
                clientByUserID.GetMessageHandler().GetResponse().AppendInt32(0);
                clientByUserID.GetMessageHandler().GetResponse().Init(Outgoing.ModerationTicketResponseMessageComposer);
                clientByUserID.GetMessageHandler().GetResponse().AppendInt32(i);
                clientByUserID.GetMessageHandler().SendResponse();
            }
            using (IQueryAdapter queryreactor2 = CyberEnvironment.GetDatabaseManager().getQueryReactor())
            {
                queryreactor2.runFastQuery("UPDATE user_stats SET tickets_answered = tickets_answered+1 WHERE id=" + Session.GetHabbo().Id + " LIMIT 1");
            }
            ticket.Close(newStatus, true);
            ModerationTool.SendTicketToModerators(ticket);
        }