Example #1
0
        public static void RegisterCorePermissions()
        {
            Permission parent = RegisterPermission(ROOT, "Gives the user the ability to use all CraftBukkit utilities and commands");

            CommandPermissions.RegisterPermissions(parent);
            BroadcastPermissions.RegisterPermissions(parent);

            parent.RecalculatePermissibles();
        }
Example #2
0
        /// <summary>
        /// Takes as input the event data and the client permissions and executes only the commands that actually
        /// match. The commands the support partial execution should override the method.
        /// </summary>
        /// <param name="receivedEvent">The event with the data payload.</param>
        /// <param name="permissions">The client permissions.</param>
        /// <returns>The execution status of the command.</returns>
        public ExecutionStatus Execute(IEvent receivedEvent, CommandPermissions permissions)
        {
            if (!permissions.HasFlag(GetPermissions()))
            {
                return(ExecutionStatus.Denied);
            }

            Execute(receivedEvent);
            return(ExecutionStatus.Executed);
        }
Example #3
0
 public void SetPermission(CommandPermissions permissions, bool enable)
 {
     if (enable)
     {
         SetPermission(permissions);
     }
     else
     {
         RemovePermission(permissions);
     }
 }
Example #4
0
        public static void BubbleCommandRun(string channel, CommandPermissions userperms, string command)
        {
            MultiKeyDictionary <string, CommandPermissions, CommandProcessor> processorcopy = null;

            lock (m_Processors)
            {
                processorcopy = new MultiKeyDictionary <string, CommandPermissions, CommandProcessor>(m_Processors);
                if (!processorcopy.ContainsKey(channel))
                {
                    return;
                }
            }
            bool foundprocessor = false;

            foreach (CommandPermissions key in processorcopy[channel].Keys)
            {
                if ((userperms & key) == key)
                {
                    if (processorcopy[channel][key].Commands.HasCommand(command))
                    {
                        processorcopy[channel][key].RunCommand(command);
                        foundprocessor = true;
                        break;
                    }
                }
            }
            if (!foundprocessor)
            {
                foreach (CommandPermissions key in processorcopy[string.Empty].Keys)
                {
                    if ((userperms & key) == key)
                    {
                        if (processorcopy[string.Empty][key].Commands.HasCommand(command))
                        {
                            processorcopy[string.Empty][key].RunCommand(command);
                            foundprocessor = true;
                            break;
                        }
                    }
                }
            }
        }
Example #5
0
        public static void AddCommand(string channel, CommandPermissions perms, string module, bool shared, string command, string help, string longhelp, CommandDelegate fn, int cooldownms = 0)
        {
            lock (m_Processors)
            {
                List <CommandPermissions> permslst = new List <CommandPermissions>();
                foreach (CommandPermissions item in Enum.GetValues(typeof(CommandPermissions)))
                {
                    if ((perms & item) == item)
                    {
                        if (!m_Processors.ContainsKey(channel, item))
                        {
                            m_Processors.Add(channel, item, new CommandProcessor());
                        }
                        permslst.Add(item);

                        m_Processors[channel][item].Commands.AddCommand(module, shared, command, help, longhelp, fn, cooldownms);
                    }
                }
            }
        }
Example #6
0
 protected void LoadEntities()
 {
     Addresses.Load();
     Cathedras.Load();
     Citizenships.Load();
     CommandPermissions.Load();
     Commands.Load();
     Countries.Load();
     Directions.Load();
     DisciplineCycles.Load();
     Disciplines.Load();
     Districts.Load();
     EducationCompetences.Load();
     EducationForms.Load();
     EducationLevels.Load();
     EducationPlanCompoments.Load();
     EducationPlanGraphics.Load();
     EducationPlanItems.Load();
     EducationPlans.Load();
     EducationProgramTypes.Load();
     EducationStandartTypes.Load();
     Faculties.Load();
     FinanceSources.Load();
     Genders.Load();
     Groups.Load();
     IdentityDocuments.Load();
     IdentityOrganizations.Load();
     IdentityTypes.Load();
     InterfaceElements.Load();
     InterfacePermissions.Load();
     Localities.Load();
     Persons.Load();
     Regions.Load();
     Roles.Load();
     Streets.Load();
     StudentStates.Load();
     Students.Load();
     Teachers.Load();
     Towns.Load();
     Users.Load();
 }
Example #7
0
        public static CommandProcessor Instance(string channel, CommandPermissions perms)
        {
            lock (m_Processors)
            {
                List <CommandPermissions> permslst = new List <CommandPermissions>();
                foreach (CommandPermissions item in Enum.GetValues(typeof(CommandPermissions)))
                {
                    if ((perms & item) == item)
                    {
                        if (!m_Processors.ContainsKey(channel, item))
                        {
                            m_Processors.Add(channel, item, new CommandProcessor());
                        }
                        permslst.Add(item);
                    }
                }
            }

            if (m_Processors.ContainsKey(channel, perms))
            {
                return(m_Processors[channel, perms]);
            }
            return(null);
        }
Example #8
0
 public bool HasPermission(CommandPermissions permissions)
 {
     return(ClientPermissions.HasFlag(permissions));
 }
Example #9
0
 private void RemovePermission(CommandPermissions permissions)
 {
     ClientPermissions &= ~permissions;
 }
Example #10
0
 private void SetPermission(CommandPermissions permissions)
 {
     ClientPermissions |= permissions;
 }
Example #11
0
 public RequiredMinPermission(CommandPermissions permissions)
 {
     this.Permissions = permissions;
 }
Example #12
0
 protected virtual void RemovePermission(CommandPermissions permissions)
 {
     ClientPermissions &= ~permissions;
 }
Example #13
0
 protected virtual void SetPermission(CommandPermissions permissions)
 {
     ClientPermissions |= permissions;
 }