Skip to content

Commit 128de7d

Browse files
committed
6.11
1 parent 4d4acd5 commit 128de7d

29 files changed

Lines changed: 316 additions & 185 deletions

.vscode/iisexpress.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"port": 23709,
3+
"path": "d:\\siteserver\\netfx-staging",
4+
"clr": "v4.0",
5+
"protocol": "http"
6+
}

SiteServer.BackgroundPages/Controls/AuxiliaryControl.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@ protected override void Render(HtmlTextWriter output)
8080
{
8181
try
8282
{
83-
html = service.OnContentFormLoad(eventArgs);
83+
if (service.OnContentFormLoad(eventArgs, out var val))
84+
{
85+
html = val;
86+
}
8487
}
8588
catch (Exception ex)
8689
{

SiteServer.BackgroundPages/SiteServer.BackgroundPages.csproj

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,35 +34,38 @@
3434
<WarningLevel>4</WarningLevel>
3535
</PropertyGroup>
3636
<ItemGroup>
37+
<Reference Include="BouncyCastle.Crypto, Version=1.8.3.0, Culture=neutral, PublicKeyToken=0e99375e54769942">
38+
<HintPath>..\packages\BouncyCastle.1.8.3.1\lib\BouncyCastle.Crypto.dll</HintPath>
39+
</Reference>
3740
<Reference Include="Dapper, Version=1.60.0.0, Culture=neutral, processorArchitecture=MSIL">
3841
<HintPath>..\packages\Dapper.1.60.6\lib\net451\Dapper.dll</HintPath>
3942
</Reference>
40-
<Reference Include="Datory, Version=0.1.15.0, Culture=neutral, processorArchitecture=MSIL">
41-
<HintPath>..\packages\Datory.0.1.15\lib\net452\Datory.dll</HintPath>
43+
<Reference Include="Datory, Version=0.1.20.0, Culture=neutral, processorArchitecture=MSIL">
44+
<HintPath>..\packages\Datory.0.1.20\lib\net452\Datory.dll</HintPath>
4245
</Reference>
43-
<Reference Include="Google.Protobuf, Version=3.5.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
44-
<HintPath>..\packages\Google.Protobuf.3.5.1\lib\net45\Google.Protobuf.dll</HintPath>
46+
<Reference Include="Google.Protobuf, Version=3.6.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
47+
<HintPath>..\packages\Google.Protobuf.3.6.1\lib\net45\Google.Protobuf.dll</HintPath>
4548
</Reference>
4649
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
4750
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
4851
</Reference>
49-
<Reference Include="MySql.Data, Version=8.0.15.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
50-
<HintPath>..\packages\MySql.Data.8.0.15\lib\net452\MySql.Data.dll</HintPath>
52+
<Reference Include="MySql.Data, Version=8.0.16.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
53+
<HintPath>..\packages\MySql.Data.8.0.16\lib\net452\MySql.Data.dll</HintPath>
5154
</Reference>
5255
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
53-
<HintPath>..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
56+
<HintPath>..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
5457
</Reference>
55-
<Reference Include="Npgsql, Version=4.0.6.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7, processorArchitecture=MSIL">
56-
<HintPath>..\packages\Npgsql.4.0.6\lib\net451\Npgsql.dll</HintPath>
58+
<Reference Include="Npgsql, Version=4.0.7.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7, processorArchitecture=MSIL">
59+
<HintPath>..\packages\Npgsql.4.0.7\lib\net451\Npgsql.dll</HintPath>
5760
</Reference>
5861
<Reference Include="Oracle.ManagedDataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
5962
<HintPath>..\packages\Oracle.ManagedDataAccess.18.6.0\lib\net40\Oracle.ManagedDataAccess.dll</HintPath>
6063
</Reference>
6164
<Reference Include="QueryBuilder, Version=1.1.7.0, Culture=neutral, processorArchitecture=MSIL">
6265
<HintPath>..\packages\SqlKata.1.1.7\lib\net45\QueryBuilder.dll</HintPath>
6366
</Reference>
64-
<Reference Include="SiteServer.Plugin, Version=2.3.7.0, Culture=neutral, processorArchitecture=MSIL">
65-
<HintPath>..\packages\SiteServer.Plugin.2.3.7\lib\net452\SiteServer.Plugin.dll</HintPath>
67+
<Reference Include="SiteServer.Plugin, Version=2.3.11.0, Culture=neutral, processorArchitecture=MSIL">
68+
<HintPath>..\packages\SiteServer.Plugin.2.3.11\lib\net452\SiteServer.Plugin.dll</HintPath>
6669
</Reference>
6770
<Reference Include="System" />
6871
<Reference Include="System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
@@ -78,13 +81,13 @@
7881
<HintPath>..\packages\System.Data.Common.4.3.0\lib\net451\System.Data.Common.dll</HintPath>
7982
</Reference>
8083
<Reference Include="System.Data.SqlClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
81-
<HintPath>..\packages\System.Data.SqlClient.4.6.0\lib\net451\System.Data.SqlClient.dll</HintPath>
84+
<HintPath>..\packages\System.Data.SqlClient.4.6.1\lib\net451\System.Data.SqlClient.dll</HintPath>
8285
</Reference>
8386
<Reference Include="System.Drawing" />
8487
<Reference Include="System.Drawing.Design" />
8588
<Reference Include="System.Management" />
86-
<Reference Include="System.Memory, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
87-
<HintPath>..\packages\System.Memory.4.5.2\lib\netstandard1.1\System.Memory.dll</HintPath>
89+
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
90+
<HintPath>..\packages\System.Memory.4.5.3\lib\netstandard1.1\System.Memory.dll</HintPath>
8891
</Reference>
8992
<Reference Include="System.Net.Http.Formatting, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
9093
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll</HintPath>

SiteServer.BackgroundPages/packages.config

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3+
<package id="BouncyCastle" version="1.8.3.1" targetFramework="net452" />
34
<package id="Dapper" version="1.60.6" targetFramework="net452" />
4-
<package id="Datory" version="0.1.15" targetFramework="net452" />
5-
<package id="Google.Protobuf" version="3.5.1" targetFramework="net452" />
5+
<package id="Datory" version="0.1.20" targetFramework="net452" />
6+
<package id="Google.Protobuf" version="3.6.1" targetFramework="net452" />
67
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.7" targetFramework="net452" />
78
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.7" targetFramework="net452" />
89
<package id="Microsoft.CSharp" version="4.5.0" targetFramework="net452" />
910
<package id="Microsoft.Net.Compilers" version="3.0.0" targetFramework="net452" developmentDependency="true" />
1011
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" />
11-
<package id="MySql.Data" version="8.0.15" targetFramework="net452" />
12-
<package id="Newtonsoft.Json" version="12.0.1" targetFramework="net452" />
13-
<package id="Npgsql" version="4.0.6" targetFramework="net452" />
12+
<package id="MySql.Data" version="8.0.16" targetFramework="net452" />
13+
<package id="Newtonsoft.Json" version="12.0.2" targetFramework="net452" />
14+
<package id="Npgsql" version="4.0.7" targetFramework="net452" />
1415
<package id="Oracle.ManagedDataAccess" version="18.6.0" targetFramework="net452" />
15-
<package id="SiteServer.Plugin" version="2.3.7" targetFramework="net452" />
16+
<package id="SiteServer.Plugin" version="2.3.11" targetFramework="net452" />
1617
<package id="SqlKata" version="1.1.7" targetFramework="net452" />
1718
<package id="System.Buffers" version="4.4.0" targetFramework="net452" />
1819
<package id="System.Data.Common" version="4.3.0" targetFramework="net452" />
19-
<package id="System.Data.SqlClient" version="4.6.0" targetFramework="net452" />
20-
<package id="System.Memory" version="4.5.2" targetFramework="net452" />
20+
<package id="System.Data.SqlClient" version="4.6.1" targetFramework="net452" />
21+
<package id="System.Memory" version="4.5.3" targetFramework="net452" />
2122
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net452" />
2223
<package id="System.Threading.Tasks.Extensions" version="4.5.2" targetFramework="net452" />
2324
<package id="System.ValueTuple" version="4.5.0" targetFramework="net452" />

SiteServer.CMS/Core/PathUtility.cs

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -200,22 +200,16 @@ public static string GetUploadFileName(SiteInfo siteInfo, string filePath)
200200

201201
public static string GetUploadFileName(SiteInfo siteInfo, string filePath, bool isUploadChangeFileName)
202202
{
203-
var retVal = isUploadChangeFileName
204-
? $"{StringUtils.GetShortGuid(false)}{PathUtils.GetExtension(filePath)}"
205-
: PathUtils.GetFileName(filePath);
206-
207-
retVal = StringUtils.ReplaceIgnoreCase(retVal, "as", string.Empty);
208-
retVal = StringUtils.ReplaceIgnoreCase(retVal, ";", string.Empty);
209-
return retVal;
210-
}
203+
if (isUploadChangeFileName)
204+
{
205+
return $"{StringUtils.GetShortGuid(false)}{PathUtils.GetExtension(filePath)}";
206+
}
211207

212-
public static string GetUploadSpecialName(SiteInfo siteInfo, string filePath, bool isUploadChangeFileName)
213-
{
214-
var retVal = isUploadChangeFileName ? $"{StringUtils.GetShortGuid(false)}{PathUtils.GetExtension(filePath)}" : PathUtils.GetFileName(filePath);
208+
var fileName = PathUtils.GetFileNameWithoutExtension(filePath);
215209

216-
retVal = StringUtils.ReplaceIgnoreCase(retVal, "as", string.Empty);
217-
retVal = StringUtils.ReplaceIgnoreCase(retVal, ";", string.Empty);
218-
return retVal;
210+
fileName = StringUtils.ReplaceIgnoreCase(fileName, "as", string.Empty);
211+
fileName = StringUtils.ReplaceIgnoreCase(fileName, ";", string.Empty);
212+
return $"{fileName}{PathUtils.GetExtension(filePath)}";
219213
}
220214

221215
public static SiteInfo GetSiteInfo(string path)

SiteServer.CMS/DataCache/Content/ContentManager.CountCache.cs

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,17 +115,37 @@ public static void Remove(string tableName, ContentInfo contentInfo)
115115
}
116116
}
117117

118-
public static int GetSiteCountByIsChecked(SiteInfo siteInfo, bool isChecked)
118+
public static int GetSiteCountIsChecked(SiteInfo siteInfo)
119119
{
120120
var tableNames = SiteManager.GetTableNameList(siteInfo);
121+
var isChecked = true.ToString();
121122

122123
lock (LockObject)
123124
{
124125
var count = 0;
125126
foreach (var tableName in tableNames)
126127
{
127128
var list = GetContentCountInfoList(tableName);
128-
count += list.Where(x => x.SiteId == siteInfo.Id && x.IsChecked == isChecked.ToString())
129+
count += list.Where(x => x.SiteId == siteInfo.Id && x.IsChecked == isChecked)
130+
.Sum(x => x.Count);
131+
}
132+
133+
return count;
134+
}
135+
}
136+
137+
public static int GetSiteCountIsChecking(SiteInfo siteInfo)
138+
{
139+
var tableNames = SiteManager.GetTableNameList(siteInfo);
140+
var isChecked = false.ToString();
141+
142+
lock (LockObject)
143+
{
144+
var count = 0;
145+
foreach (var tableName in tableNames)
146+
{
147+
var list = GetContentCountInfoList(tableName);
148+
count += list.Where(x => x.SiteId == siteInfo.Id && x.IsChecked == isChecked && x.CheckedLevel != -siteInfo.Additional.CheckContentLevel)
129149
.Sum(x => x.Count);
130150
}
131151

@@ -168,9 +188,14 @@ public static int GetChannelCountByIsChecked(SiteInfo siteInfo, ChannelInfo chan
168188
}
169189
}
170190

171-
public static int GetCount(SiteInfo siteInfo, bool isChecked)
191+
public static int GetCountIsChecked(SiteInfo siteInfo)
192+
{
193+
return CountCache.GetSiteCountIsChecked(siteInfo);
194+
}
195+
196+
public static int GetCountChecking(SiteInfo siteInfo)
172197
{
173-
return CountCache.GetSiteCountByIsChecked(siteInfo, isChecked);
198+
return CountCache.GetSiteCountIsChecking(siteInfo);
174199
}
175200

176201
public static int GetCount(SiteInfo siteInfo, ChannelInfo channelInfo, int? onlyAdminId)

SiteServer.CMS/Model/Attributes/ContentAttribute.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,9 @@ public static string GetExtendAttributeName(string attributeName)
158158
"Reply",
159159
"CheckTaskDate",
160160
"UnCheckTaskDate",
161-
"Photos"
161+
"Photos",
162+
"Teleplays",
163+
"MemberName"
162164
});
163165
}
164166
}

SiteServer.CMS/Plugin/Impl/ServiceImpl.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,12 @@ public void OnContentTranslateCompleted(ContentTranslateEventArgs e)
5353

5454
public event ContentFormLoadEventHandler ContentFormLoad;
5555

56-
public string OnContentFormLoad(ContentFormLoadEventArgs e)
56+
public bool OnContentFormLoad(ContentFormLoadEventArgs e, out string html)
5757
{
58-
return ContentFormLoad?.Invoke(this, e);
58+
html = null;
59+
if (ContentFormLoad == null) return false;
60+
html = ContentFormLoad.Invoke(this, e);
61+
return true;
5962
}
6063

6164
public event EventHandler<ContentFormSubmitEventArgs> ContentFormSubmit;

SiteServer.CMS/Provider/DatabaseDao.cs

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1951,35 +1951,37 @@ SET IDENTITY_INSERT {tableName} OFF
19511951
}
19521952
}
19531953

1954-
private ETriState _sqlServerVersionState = ETriState.All;
1954+
private decimal? _sqlServerVersion;
19551955

1956-
public bool IsSqlServer2012
1956+
private decimal SqlServerVersion
19571957
{
19581958
get
19591959
{
1960-
if (_sqlServerVersionState != ETriState.All) return _sqlServerVersionState == ETriState.True;
1961-
19621960
if (WebConfigUtils.DatabaseType != DatabaseType.SqlServer)
19631961
{
1964-
_sqlServerVersionState = ETriState.False;
1962+
return 0;
19651963
}
19661964

1967-
try
1968-
{
1969-
var version =
1970-
TranslateUtils.ToDecimal(
1971-
GetString("select left(cast(serverproperty('productversion') as varchar), 4)"));
1972-
_sqlServerVersionState = version >= 11 ? ETriState.True : ETriState.False;
1973-
}
1974-
catch
1965+
if (_sqlServerVersion == null)
19751966
{
1976-
_sqlServerVersionState = ETriState.False;
1967+
try
1968+
{
1969+
_sqlServerVersion =
1970+
TranslateUtils.ToDecimal(
1971+
GetString("select left(cast(serverproperty('productversion') as varchar), 4)"));
1972+
}
1973+
catch
1974+
{
1975+
_sqlServerVersion = 0;
1976+
}
19771977
}
19781978

1979-
return _sqlServerVersionState == ETriState.True;
1979+
return _sqlServerVersion.Value;
19801980
}
19811981
}
19821982

1983+
public bool IsSqlServer2012 => SqlServerVersion >= 11;
1984+
19831985
public int GetPageTotalCount(string tableName, string whereSqlString)
19841986
{
19851987
return GetIntResult($@"SELECT COUNT(*) FROM {tableName} {whereSqlString}");
@@ -2021,25 +2023,28 @@ public string GetPageSqlString(string tableName, string columnNames, string wher
20212023
}
20222024
else if (WebConfigUtils.DatabaseType == DatabaseType.SqlServer && IsSqlServer2012)
20232025
{
2024-
retval = limit == 0
2025-
? $"SELECT {columnNames} FROM {tableName} {whereSqlString} {orderSqlString} OFFSET {offset} ROWS"
2026-
: $"SELECT {columnNames} FROM {tableName} {whereSqlString} {orderSqlString} OFFSET {offset} ROWS FETCH NEXT {limit} ROWS ONLY";
2027-
}
2028-
else if (WebConfigUtils.DatabaseType == DatabaseType.SqlServer && !IsSqlServer2012)
2029-
{
2030-
if (offset == 0)
2026+
if (IsSqlServer2012)
20312027
{
2032-
retval = $"SELECT TOP {limit} {columnNames} FROM {tableName} {whereSqlString} {orderSqlString}";
2028+
retval = limit == 0
2029+
? $"SELECT {columnNames} FROM {tableName} {whereSqlString} {orderSqlString} OFFSET {offset} ROWS"
2030+
: $"SELECT {columnNames} FROM {tableName} {whereSqlString} {orderSqlString} OFFSET {offset} ROWS FETCH NEXT {limit} ROWS ONLY";
20332031
}
20342032
else
20352033
{
2036-
var rowWhere = limit == 0
2037-
? $@"WHERE [row_num] > {offset}"
2038-
: $@"WHERE [row_num] BETWEEN {offset + 1} AND {offset + limit}";
2034+
if (offset == 0)
2035+
{
2036+
retval = $"SELECT TOP {limit} {columnNames} FROM {tableName} {whereSqlString} {orderSqlString}";
2037+
}
2038+
else
2039+
{
2040+
var rowWhere = limit == 0
2041+
? $@"WHERE [row_num] > {offset}"
2042+
: $@"WHERE [row_num] BETWEEN {offset + 1} AND {offset + limit}";
20392043

2040-
retval = $@"SELECT * FROM (
2044+
retval = $@"SELECT * FROM (
20412045
SELECT {columnNames}, ROW_NUMBER() OVER ({orderSqlString}) AS [row_num] FROM [{tableName}] {whereSqlString}
20422046
) as T {rowWhere}";
2047+
}
20432048
}
20442049
}
20452050
else if (WebConfigUtils.DatabaseType == DatabaseType.PostgreSql)

SiteServer.CMS/Provider/TableStyleDao.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ public void Update(TableStyleInfo info, bool deleteAndInsertStyleItems = true)
177177
{
178178
try
179179
{
180-
ExecuteNonQuery(SqlUpdateTableStyle, updateParms);
180+
ExecuteNonQuery(trans, SqlUpdateTableStyle, updateParms);
181181

182182
if (deleteAndInsertStyleItems)
183183
{

0 commit comments

Comments
 (0)