forked from lightphoenix2/LPX
/
SQLPermission.cs
66 lines (64 loc) · 2.6 KB
/
SQLPermission.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
using System;
using Rocket.API;
using Rocket.Unturned.Player;
using Rocket.Unturned.Chat;
using System.Collections.Generic;
using Rocket.API.Serialisation;
using System.Linq;
namespace LIGHT
{
public class SQLPermission: IRocketPermissionsProvider
{
public List<RocketPermissionsGroup> GetGroups(IRocketPlayer player , bool IncludeParentGroup)
{
List<RocketPermissionsGroup> Group = new List<RocketPermissionsGroup>();
string group = "";
group = LIGHT.Instance.Database.CheckUserGroup(player.Id);
if (group == null || group == "")
group = "default";
RocketPermissionsGroup RPG = new RocketPermissionsGroup(group, group, LIGHT.Instance.Database.getParentGroup(group), LIGHT.Instance.Database.getMembers(group), LIGHT.Instance.Database.getGroupPermission(group).ToList());
Group.Add(RPG);
return Group;
}
public bool HasPermission(IRocketPlayer player, string Permission, bool defaultreturnvalue)
{
bool hasPerm = false;
hasPerm = LIGHT.Instance.checkPermission(Permission, player.Id);
if (player.IsAdmin)
hasPerm = true;
return defaultreturnvalue == false ? hasPerm : defaultreturnvalue;
}
public bool SetGroup(IRocketPlayer caller , string group)
{
bool Result = false;
if (LIGHT.Instance.Database.CheckGroup(group))
{
UnturnedPlayer target = (UnturnedPlayer)caller;
if (target != null)
{
LIGHT.Instance.Database.AddUserIntoGroup(caller.Id, group);
UnturnedChat.Say(caller, LIGHT.Instance.DefaultTranslations.Translate("lpx_added_user", target.SteamName, group));
Result = true;
}
else
{
UnturnedChat.Say(caller, LIGHT.Instance.DefaultTranslations.Translate("lpx_fail_nouser"));
Result = false;
}
}
else
{
UnturnedChat.Say(caller, LIGHT.Instance.DefaultTranslations.Translate("lpx_fail_nogroup"));
Result = false;
}
return Result;
}
public List<string> GetPermissions(IRocketPlayer player)
{
return LIGHT.Instance.Database.getGroupPermission(LIGHT.Instance.Database.CheckUserGroup(player.Id)).ToList();
}
public void Reload()
{
}
}
}