Skip to content

Commit 884a6f1

Browse files
author
尧杰 曾
committed
Fix bug: Avoid illegal expire time
1 parent 093f5a8 commit 884a6f1

5 files changed

Lines changed: 68 additions & 15 deletions

File tree

PermissionSync/Command/PermissionSync.cs

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,30 @@ public void Execute(IRocketPlayer caller, string[] args)
3434
if (ulong.TryParse(args[1], out ulong result))
3535
{
3636
var player = UnturnedPlayer.FromCSteamID(new Steamworks.CSteamID(result));
37-
Main.Instance.databese.AddPermission((caller.Id),player, args[2]);
38-
UnturnedChat.Say(caller, Main.Instance.Translate("add_permission", args[2],player.DisplayName));
37+
38+
if(Main.Instance.databese.AddPermission((caller.Id),player, args[2]))
39+
{
40+
UnturnedChat.Say(caller, Main.Instance.Translate("add_permission", args[2], player.DisplayName));
41+
}
42+
else
43+
{
44+
UnturnedChat.Say(caller, Main.Instance.Translate("illegal_datetime"), UnityEngine.Color.red);
45+
}
46+
3947
}
4048
else
4149
{
4250
var player = UnturnedPlayer.FromName(args[1]);
4351
if (player != null)
4452
{
45-
Main.Instance.databese.AddPermission(caller.Id, player, args[2]);
46-
UnturnedChat.Say(caller, Main.Instance.Translate("add_permission", args[2],player.DisplayName));
53+
if (Main.Instance.databese.AddPermission(caller.Id, player, args[2]))
54+
{
55+
UnturnedChat.Say(caller, Main.Instance.Translate("add_permission", args[2], player.DisplayName));
56+
}
57+
else
58+
{
59+
UnturnedChat.Say(caller, Main.Instance.Translate("illegal_datetime"), UnityEngine.Color.red);
60+
}
4761
}
4862
else
4963
{
@@ -81,16 +95,30 @@ public void Execute(IRocketPlayer caller, string[] args)
8195
if (ulong.TryParse(args[1], out ulong result))
8296
{
8397
var player = UnturnedPlayer.FromCSteamID(new Steamworks.CSteamID(result));
84-
Main.Instance.databese.AddPermission(caller.Id,player, args[2], args[3]);
85-
UnturnedChat.Say(caller, Main.Instance.Translate("add_permission", args[2],player.DisplayName));
98+
if(Main.Instance.databese.AddPermission(caller.Id,player, args[2], args[3]))
99+
{
100+
UnturnedChat.Say(caller, Main.Instance.Translate("add_permission", args[2], player.DisplayName));
101+
}
102+
else
103+
{
104+
UnturnedChat.Say(caller, Main.Instance.Translate("illegal_datetime"), UnityEngine.Color.red);
105+
}
106+
86107
}
87108
else
88109
{
89110
var player = UnturnedPlayer.FromName(args[1]);
90111
if (player != null)
91112
{
92-
Main.Instance.databese.AddPermission(caller.Id, player, args[2], args[3]);
93-
UnturnedChat.Say(caller, Main.Instance.Translate("add_permission", args[2], player.DisplayName));
113+
if(Main.Instance.databese.AddPermission(caller.Id, player, args[2], args[3]))
114+
{
115+
UnturnedChat.Say(caller, Main.Instance.Translate("add_permission", args[2], player.DisplayName));
116+
}
117+
else
118+
{
119+
UnturnedChat.Say(caller, Main.Instance.Translate("illegal_datetime"), UnityEngine.Color.red);
120+
}
121+
94122
}
95123
else
96124
{

PermissionSync/Data/EAddGroup.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace PermissionSync.Data
8+
{
9+
public enum EAddGroup
10+
{
11+
Success,
12+
Failed
13+
}
14+
}

PermissionSync/Database/DBManager.cs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,21 @@ private List<string> GetPlayerPermissionGroupId(UnturnedPlayer player)
112112
}
113113
return groupids;
114114
}
115-
public void AddPermission(string oeratorID,UnturnedPlayer player,string PermissionGroupId,string expireTime = "2099-12-31")
115+
public bool AddPermission(string oeratorID,UnturnedPlayer player,string PermissionGroupId,string expireTime = "2099-12-31")
116116
{
117-
PermissionData data = new PermissionData(player.CSteamID, PermissionGroupId, DateTime.Parse(expireTime),oeratorID);
118-
SaveDataToDB(data);
119-
R.Permissions.AddPlayerToGroup(PermissionGroupId, player);
117+
bool AddGroup;
118+
if(DateTime.TryParse(expireTime,out DateTime dateTime))
119+
{
120+
PermissionData data = new PermissionData(player.CSteamID, PermissionGroupId, dateTime, oeratorID);
121+
SaveDataToDB(data);
122+
R.Permissions.AddPlayerToGroup(PermissionGroupId, player);
123+
AddGroup = true;
124+
}
125+
else
126+
{
127+
AddGroup = false;
128+
}
129+
return AddGroup;
120130
}
121131

122132
public void RemovePermission(UnturnedPlayer player, string PermiisonGroupId)

PermissionSync/Main.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ protected override void Unload()
4343
{"sync_permission","Your permission group has been synced." },
4444
{"add_permission","Permission group:{0} has been added to {1}" },
4545
{"remove_permission","Successfully removed permission group:{0} from {1}" },
46-
{"wrong_usage","wrong usage.Usage:{0}." }
46+
{"wrong_usage","wrong usage.Usage:{0}." },
47+
{"illegal_datetime","Illegal expire date.please insert like '2022-01-31'."}
4748
};
4849
}
4950
}

PermissionSync/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
3333
//通过使用 "*",如下所示:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("1.0.1.4")]
36-
[assembly: AssemblyFileVersion("1.0.1.4")]
35+
[assembly: AssemblyVersion("1.0.1.5")]
36+
[assembly: AssemblyFileVersion("1.0.1.5")]

0 commit comments

Comments
 (0)