Exemple #1
0
        public void Excecute(IRocketPlayer caller, string[] args)
        {
            if (args.Length != 1)
            {
                LoonePermissions.Say(caller, "invalid_args", Color.red);
                return;
            }

            if (!MySqlManager.GroupExists(args[0].ToLower()))
            {
                LoonePermissions.Say(caller, "group_not_exists", Color.red);
                return;
            }

            if (LoonePermissionsConfig.DefaultGroup.ToLower() == args[0].ToLower())
            {
                LoonePermissions.Say(caller, "group_default_already", Color.red);
                return;
            }

            MySqlManager.ReassignTo(LoonePermissionsConfig.DefaultGroup.ToLower(), args[0].ToLower(), true);
            LoonePermissionsConfig.SetDefaultGroup(args[0].ToLower());
            LoonePermissions.Say(caller, "group_default", Color.green, args[0].ToLower());
            RocketLogger.Log(string.Format("{0} set the default group to {1}!", caller.DisplayName, args[0].ToLower()), ConsoleColor.Yellow);
        }
Exemple #2
0
        public static void MigrateDatabase()
        {
            MySqlCommand cmd1 = Connection.CreateCommand();
            MySqlCommand cmd2 = Connection.CreateCommand();
            MySqlCommand cmd3 = Connection.CreateCommand();

            cmd1.CommandText = String.Format("DELETE FROM {0}", PLAYER_TABLE);
            cmd2.CommandText = String.Format("DELETE FROM {0}", PERMISSION_TABLE);
            cmd3.CommandText = String.Format("DELETE FROM {0}", GROUP_TABLE);

            TryOpen();
            cmd1.ExecuteNonQuery();
            cmd2.ExecuteNonQuery();
            cmd3.ExecuteNonQuery();
            TryClose();

            RocketPermissions p = new XMLFileAsset <RocketPermissions>(Rocket.Core.Environment.PermissionFile, null, null).Instance;

            LoonePermissionsConfig.SetDefaultGroup(p.DefaultGroup);

            foreach (RocketPermissionsGroup group in p.Groups)
            {
                CreateGroup(group.Id);
                if (group.Color != null)
                {
                    UpdateGroup(EGroupProperty.COLOR, group.Color, group.Id);
                }
                if (group.ParentGroup != null)
                {
                    UpdateGroup(EGroupProperty.PARENT, group.ParentGroup, group.Id);
                }
                if (group.Prefix != null)
                {
                    UpdateGroup(EGroupProperty.PREFIX, group.Prefix, group.Id);
                }
                if (group.Suffix != null)
                {
                    UpdateGroup(EGroupProperty.SUFFIX, group.Suffix, group.Id);
                }
                if (group.DisplayName != null)
                {
                    UpdateGroup(EGroupProperty.NAME, group.DisplayName, group.Id);
                }
                UpdateGroup(EGroupProperty.PRIORITY, group.Priority.ToString(), group.Id);

                foreach (Permission perm in group.Permissions)
                {
                    string name = perm.Name;
                    name = name.Replace("-", "~");

                    AddPermission(group.Id, name, (int)perm.Cooldown);
                }

                foreach (string player in group.Members)
                {
                    if (ulong.TryParse(player, out ulong id))
                    {
                        AddPlayerToGroup(id, group.Id);
                    }
                }
            }
        }