Exemplo n.º 1
0
        // USERNAME@PASSWORD
        public static void Execute(string MessageBody, object[] Objects)
        {
            string[] MessageBodyArray = MessageBody.Split('@');

            string Username = MessageBodyArray[0];
            string Password = MessageBodyArray[1];

            DataRow User;

            using (DatabaseConnection DB = new DatabaseConnection())
            {
                DB.SetQuery("SELECT * FROM users WHERE username = @username AND password = @password");
                DB.AddParam("username", Username);
                DB.AddParam("password", Password);

                User = DB.GetRow();
            }

            Connection ClientConnection = (Connection)Objects[0];

            if (User == null)
            {
                ClientConnection.SendData("LOGIN;INVALID");
                return;
            }

            User ClientUser = UserFactory.GenerateUserFromRow(User, ClientConnection);

            if (ClientUser.Banned)
            {
                ClientConnection.SendData("LOGIN;BANNED");
                ClientUser = null;
                return;
            }

            if (UserManager.Users.ContainsKey(ClientUser.UserID))
            {
                ClientConnection.SendData("LOGIN;ALREADY");
                ClientUser = null;
                return;
            }


            Logging.Message("{0} logged in!", ClientUser.Username);
            ClientConnection.SendData("LOGIN;SUCCESS");

            UserManager.SendMassData("CHAT;" + ClientUser.Username + " joined the room!");
            UserManager.SendMassData("NEWUSR;" + ClientUser.Username);
            UserManager.Users.Add(ClientUser.UserID, ClientUser);
        }
Exemplo n.º 2
0
        public static void Execute(User UserThatCalled, params string[] Params)
        {
            if (Params.Length > 1)
            {
                if (!Permissions.IsStaff(UserThatCalled))
                {
                    return;
                }

                User TargetUser = UserManager.GetUserByName(Params[1]);
                if (TargetUser == null)
                {
                    UserThatCalled.ClientConnection.SendData("CHAT;Couldn't find that user!");
                    return;
                }
                if (UserThatCalled == TargetUser)
                {
                    return;
                }

                using (DatabaseConnection DB = new DatabaseConnection())
                {
                    DB.SetQuery("UPDATE users SET banned = '1' WHERE id = @id");
                    DB.AddParam("id", TargetUser.UserID);
                    DB.ExecuteQuery();
                }

                TargetUser.ClientConnection.SendData("CHAT;You were banned by " + UserThatCalled.Username + "!");
                TargetUser.ClientConnection.Disconnect();
                UserManager.SendMassData("CHAT;" + TargetUser.Username + " was banned by " + UserThatCalled.Username + "!");
            }
            else
            {
                UserThatCalled.ClientConnection.SendData("CHAT;Invalid syntax, correct: /ban USERNAME");
            }
        }