Skip to content

Commit 288917b

Browse files
authored
Merge pull request #27 from HerrMagiic/feature/stringpatterncheck
Feature/stringpatterncheck
2 parents 606177a + 5d490ea commit 288917b

File tree

6 files changed

+38
-39
lines changed

6 files changed

+38
-39
lines changed

CustomCommands.sln

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,22 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 17
44
VisualStudioVersion = 17.7.34018.315
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomCommands", "CustomCommands\CustomCommands.csproj", "{CFD687D3-02AF-4F8B-B561-ED01C4B2C5D3}"
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CustomCommands", "CustomCommands\CustomCommands.csproj", "{CFD687D3-02AF-4F8B-B561-ED01C4B2C5D3}"
77
EndProject
88
Global
99
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1010
Debug|Any CPU = Debug|Any CPU
1111
Release|Any CPU = Release|Any CPU
1212
EndGlobalSection
1313
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14-
{DBAE0443-7660-456C-B185-444366A42766}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15-
{DBAE0443-7660-456C-B185-444366A42766}.Debug|Any CPU.Build.0 = Debug|Any CPU
16-
{DBAE0443-7660-456C-B185-444366A42766}.Release|Any CPU.ActiveCfg = Release|Any CPU
17-
{DBAE0443-7660-456C-B185-444366A42766}.Release|Any CPU.Build.0 = Release|Any CPU
18-
{C4B486A3-D8FC-41AC-827E-905BAFF50A9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19-
{C4B486A3-D8FC-41AC-827E-905BAFF50A9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
20-
{C4B486A3-D8FC-41AC-827E-905BAFF50A9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
21-
{C4B486A3-D8FC-41AC-827E-905BAFF50A9D}.Release|Any CPU.Build.0 = Release|Any CPU
22-
{A590C358-C1B2-4F21-B9B0-FE56B6562F39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
23-
{A590C358-C1B2-4F21-B9B0-FE56B6562F39}.Debug|Any CPU.Build.0 = Debug|Any CPU
24-
{A590C358-C1B2-4F21-B9B0-FE56B6562F39}.Release|Any CPU.ActiveCfg = Release|Any CPU
25-
{A590C358-C1B2-4F21-B9B0-FE56B6562F39}.Release|Any CPU.Build.0 = Release|Any CPU
26-
{8BF8B3C3-FE3F-459E-B414-72469816539A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
27-
{8BF8B3C3-FE3F-459E-B414-72469816539A}.Debug|Any CPU.Build.0 = Debug|Any CPU
28-
{8BF8B3C3-FE3F-459E-B414-72469816539A}.Release|Any CPU.ActiveCfg = Release|Any CPU
29-
{8BF8B3C3-FE3F-459E-B414-72469816539A}.Release|Any CPU.Build.0 = Release|Any CPU
3014
{CFD687D3-02AF-4F8B-B561-ED01C4B2C5D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
3115
{CFD687D3-02AF-4F8B-B561-ED01C4B2C5D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
3216
{CFD687D3-02AF-4F8B-B561-ED01C4B2C5D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
3317
{CFD687D3-02AF-4F8B-B561-ED01C4B2C5D3}.Release|Any CPU.Build.0 = Release|Any CPU
18+
{F5F2148E-D3A3-4196-B97A-4E0941326365}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19+
{F5F2148E-D3A3-4196-B97A-4E0941326365}.Debug|Any CPU.Build.0 = Debug|Any CPU
20+
{F5F2148E-D3A3-4196-B97A-4E0941326365}.Release|Any CPU.ActiveCfg = Release|Any CPU
21+
{F5F2148E-D3A3-4196-B97A-4E0941326365}.Release|Any CPU.Build.0 = Release|Any CPU
3422
EndGlobalSection
3523
GlobalSection(SolutionProperties) = preSolution
3624
HideSolutionNode = FALSE

CustomCommands/CustomCommandsServiceCollection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public class CustomCommandsServiceCollection : IPluginServiceCollection<CustomCo
1010
public void ConfigureServices(IServiceCollection services)
1111
{
1212
services.Scan(scan => scan
13-
.FromAssemblyOf<IPermissionsManager>()
13+
.FromAssemblyOf<IRegisterCommands>()
1414
.AddClasses()
1515
.AsImplementedInterfaces()
1616
.WithSingletonLifetime()
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
12
using CounterStrikeSharp.API.Core;
23
using CustomCommands.Model;
34

45
namespace CustomCommands.Interfaces;
56

6-
public interface IPermissionsManager
7+
public interface IPluginUtilities
78
{
9+
string[] SplitStringByCommaOrSemicolon(string str);
10+
void ExecuteServerCommands(Commands cmd);
811
bool RequiresPermissions(CCSPlayerController player, Permission permissions);
912
}

CustomCommands/Interfaces/IRegisterCommands.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ public interface IRegisterCommands
66
{
77
void AddCommands(Commands cmd);
88
List<Commands> CheckForDuplicateCommands(List<Commands> comms);
9-
void ExecuteServerCommands(Commands cmd);
109
}

CustomCommands/Services/PermissionsManager.cs renamed to CustomCommands/Services/PluginUtilities.cs

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,37 @@
1+
using System.Text.RegularExpressions;
2+
using CounterStrikeSharp.API;
13
using CounterStrikeSharp.API.Core;
24
using CounterStrikeSharp.API.Modules.Admin;
35
using CustomCommands.Interfaces;
46
using CustomCommands.Model;
57

68
namespace CustomCommands.Services;
79

8-
public class PermissionsManager : IPermissionsManager
10+
public class PluginUtilities : IPluginUtilities
911
{
1012
private readonly IPluginGlobals PluginGlobals;
11-
12-
public PermissionsManager(IPluginGlobals PluginGlobals)
13+
14+
public PluginUtilities(IPluginGlobals PluginGlobals)
1315
{
1416
this.PluginGlobals = PluginGlobals;
1517
}
1618

19+
public string[] SplitStringByCommaOrSemicolon(string str)
20+
{
21+
return Regex.Split(str, ",|;|\\s")
22+
.Where(s => !string.IsNullOrEmpty(s))
23+
.ToArray();
24+
}
25+
26+
public void ExecuteServerCommands(Commands cmd)
27+
{
28+
if (cmd.ServerCommands.Count == 0) return;
29+
30+
foreach (var serverCommand in cmd.ServerCommands)
31+
{
32+
Server.ExecuteCommand(serverCommand);
33+
}
34+
}
1735
public bool RequiresPermissions(CCSPlayerController player, Permission permissions)
1836
{
1937
if (!permissions.RequiresAllPermissions)

CustomCommands/Services/RegisterCommands.cs

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using CounterStrikeSharp.API;
21
using CounterStrikeSharp.API.Core.Plugin;
32
using CustomCommands.Interfaces;
43
using CustomCommands.Model;
@@ -10,24 +9,25 @@ public class RegisterCommands : IRegisterCommands
109
private readonly ILogger<CustomCommands> Logger;
1110
private readonly IMessageManager MessageManager;
1211
private readonly IPluginGlobals PluginGlobals;
13-
private readonly IPermissionsManager PermissionsManager;
1412
private readonly PluginContext PluginContext;
13+
private readonly IPluginUtilities PluginUtilities;
1514

1615
public RegisterCommands(ILogger<CustomCommands> Logger, IMessageManager MessageManager,
17-
IPluginGlobals PluginGlobals, IPermissionsManager PermissionsManager, IPluginContext PluginContext)
16+
IPluginGlobals PluginGlobals, IPluginContext PluginContext,
17+
IPluginUtilities PluginUtilities)
1818
{
1919
this.Logger = Logger;
2020
this.MessageManager = MessageManager;
2121
this.PluginGlobals = PluginGlobals;
22-
this.PermissionsManager = PermissionsManager;
2322
this.PluginContext = (PluginContext as PluginContext)!;
23+
this.PluginUtilities = PluginUtilities;
2424
}
2525

2626
public void AddCommands(Commands com)
2727
{
2828
CustomCommands plugin = (PluginContext.Plugin as CustomCommands)!;
2929

30-
string[] aliases = com.Command.Split(',');
30+
string[] aliases = PluginUtilities.SplitStringByCommaOrSemicolon(com.Command);
3131

3232
for (int i = 0; i < aliases.Length; i++)
3333
{
@@ -36,12 +36,12 @@ public void AddCommands(Commands com)
3636
if (player == null) return;
3737

3838
if (com.Permission.PermissionList.Count > 0 && com.Permission != null)
39-
if (!PermissionsManager.RequiresPermissions(player, com.Permission))
39+
if (!PluginUtilities.RequiresPermissions(player, com.Permission))
4040
return;
4141

4242
MessageManager.SendMessage(player, com);
4343

44-
ExecuteServerCommands(com);
44+
PluginUtilities.ExecuteServerCommands(com);
4545
});
4646
}
4747
}
@@ -89,13 +89,4 @@ public List<Commands> CheckForDuplicateCommands(List<Commands> comms)
8989

9090
return commands;
9191
}
92-
public void ExecuteServerCommands(Commands cmd)
93-
{
94-
if (cmd.ServerCommands.Count == 0) return;
95-
96-
foreach (var serverCommand in cmd.ServerCommands)
97-
{
98-
Server.ExecuteCommand(serverCommand);
99-
}
100-
}
10192
}

0 commit comments

Comments
 (0)