Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions Build/Build.csproj
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<PackAsTool>true</PackAsTool>
Expand All @@ -11,7 +11,7 @@
<AnalysisLevel>latest</AnalysisLevel>
<AnalysisMode>Recommended</AnalysisMode>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsNotAsErrors>CS0618,CA1305,CA1716,CA1725,CA5351</WarningsNotAsErrors>
<WarningsNotAsErrors>CS0618,CA5351</WarningsNotAsErrors>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
Expand Down
3 changes: 1 addition & 2 deletions Build/Lifetime.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ namespace DotNetNuke.Build
using Cake.Common;
using Cake.Common.Diagnostics;
using Cake.Core;
using Cake.Core.Diagnostics;
using Cake.Core.IO;
using Cake.Frosting;

Expand All @@ -17,7 +16,7 @@ public sealed class Lifetime : FrostingLifetime<Context>
private static readonly string[] CorepackToolNames = ["corepack", "corepack.cmd",];

/// <inheritdoc/>
public override void Setup(Context context, ISetupContext setupContext)
public override void Setup(Context context, ISetupContext info)
{
context.IsRunningInCI = context.HasEnvironmentVariable("TF_BUILD");
context.Information("Is Running in CI : {0}", context.IsRunningInCI);
Expand Down
47 changes: 22 additions & 25 deletions Build/Tasks/CreateDatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
namespace DotNetNuke.Build.Tasks
{
using System;
using System.Globalization;
using System.Linq;

using Cake.Common.Diagnostics;
Expand All @@ -21,23 +22,23 @@ public sealed class CreateDatabase : FrostingTask<Context>
/// <inheritdoc/>
public override void Run(Context context)
{
var deleteScript = "if db_id('Dnn_Platform') is not null DROP DATABASE Dnn_Platform;";
const string deleteScript = "if db_id('Dnn_Platform') is not null DROP DATABASE Dnn_Platform;";

context.Information("Dropping LocalDb: {0}", this.ExecuteSqlScript(context, deleteScript));

var createDbScript = string.Format(
@"
CREATE DATABASE
[Dnn_Platform]
ON PRIMARY (
NAME=Dnn_data,
FILENAME = '{0}\Dnn_Platform.mdf'
)
LOG ON (
NAME=Dnn_log,
FILENAME = '{0}\Dnn_Platform.ldf'
)",
context.TempDir);
var createDbScript =
$"""
CREATE DATABASE
[Dnn_Platform]
ON PRIMARY (
NAME=Dnn_data,
FILENAME = '{context.TempDir}\Dnn_Platform.mdf'
)
LOG ON (
NAME=Dnn_log,
FILENAME = '{context.TempDir}\Dnn_Platform.ldf'
)
""";
var createDbStatus = this.ExecuteSqlScript(context, createDbScript);
context.Information("Created LocalDb: {0}", createDbStatus);

Expand All @@ -64,7 +65,7 @@ LOG ON (
+ ".SqlDataProvider");

var sqlDelimiterRegex = new System.Text.RegularExpressions.Regex(
"(?<=(?:[^\\w]+|^))GO(?=(?: |\\t)*?(?:\\r?\\n|$))",
@"(?<=(?:[^\w]+|^))GO(?=(?: |\t)*?(?:\r?\n|$))",
System.Text.RegularExpressions.RegexOptions.IgnoreCase | System.Text.RegularExpressions.RegexOptions.Multiline);
string[] sqlStatements = sqlDelimiterRegex.Split(fileContents);
foreach (string statement in sqlStatements)
Expand Down Expand Up @@ -109,19 +110,15 @@ LOG ON (
.ToString();
var fileBits = currentFileToProcess.Split('.');

int firstBit;
int secondBit;
int thirdBit;

if (int.TryParse(fileBits[0], out firstBit)
&& int.TryParse(fileBits[1], out secondBit)
&& int.TryParse(fileBits[2], out thirdBit))
if (int.TryParse(fileBits[0], out var firstBit)
&& int.TryParse(fileBits[1], out var secondBit)
&& int.TryParse(fileBits[2], out var thirdBit))
{
var schemaVersionBits = schemaVersion.Split('.');

int schemaFirstBit = int.Parse(schemaVersionBits[0]);
int schemaSecondBit = int.Parse(schemaVersionBits[1]);
int schemaThirdBit = int.Parse(schemaVersionBits[2]);
int schemaFirstBit = int.Parse(schemaVersionBits[0], CultureInfo.InvariantCulture);
int schemaSecondBit = int.Parse(schemaVersionBits[1], CultureInfo.InvariantCulture);
int schemaThirdBit = int.Parse(schemaVersionBits[2], CultureInfo.InvariantCulture);

if ((firstBit == schemaFirstBit && (secondBit >= schemaSecondBit && thirdBit >= schemaThirdBit))
|| firstBit > schemaFirstBit)
Expand Down
22 changes: 0 additions & 22 deletions Build/Tasks/Default.cs

This file was deleted.

18 changes: 18 additions & 0 deletions Build/Tasks/DefaultTask.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information

namespace DotNetNuke.Build.Tasks;

using Cake.Frosting;

/// <summary>A cake task to build the platform and create packages.</summary>
/// <remarks>This is the default Cake target if no target is supplied.</remarks>
[TaskName("Default")]
[IsDependentOn(typeof(CleanArtifacts))]
[IsDependentOn(typeof(UpdateDnnManifests))]
[IsDependentOn(typeof(CreateInstall))]
[IsDependentOn(typeof(CreateUpgrade))]
[IsDependentOn(typeof(CreateDeploy))]
[IsDependentOn(typeof(CreateSymbols))]
public sealed class DefaultTask : FrostingTask<Context>;
3 changes: 2 additions & 1 deletion Build/Tasks/GeneratePackagesChecksums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
namespace DotNetNuke.Build.Tasks
{
using System;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
Expand Down Expand Up @@ -49,7 +50,7 @@ public override void Run(Context context)
}
}

sb.AppendLine($"| {fileName} | {hash} |");
sb.AppendLine(CultureInfo.InvariantCulture, $"| {fileName} | {hash} |");
}

sb.AppendLine();
Expand Down
25 changes: 12 additions & 13 deletions DNN Platform/Connectors/Azure/Components/AzureConnector.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ namespace Dnn.AzureConnector.Components
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;

using DotNetNuke.Collections;
Expand Down Expand Up @@ -99,11 +100,11 @@ public IEnumerable<IConnector> GetConnectors(int portalId)
var connectors = this.FindAzureFolderMappings(portalId);
if (connectors != null && connectors.Count != 0)
{
connectors.ForEach(x => { this.Id = x.FolderMappingID.ToString(); });
connectors.ForEach(x => { this.Id = x.FolderMappingID.ToString(CultureInfo.InvariantCulture); });
var finalCon = connectors.Select(x => (IConnector)Activator.CreateInstance(this.GetType())).ToList();
finalCon.ForEach(x =>
{
x.Id = connectors[finalCon.IndexOf(x)].FolderMappingID.ToString();
x.Id = connectors[finalCon.IndexOf(x)].FolderMappingID.ToString(CultureInfo.InvariantCulture);
x.DisplayName = connectors[finalCon.IndexOf(x)].MappingName;
});
return finalCon;
Expand All @@ -130,7 +131,7 @@ public void DeleteConnector(int portalId)
public bool HasConfig(int portalId)
{
var folderMapping = this.FindAzureFolderMapping(portalId, false, true);
this.Id = Convert.ToString(folderMapping?.FolderMappingID);
this.Id = Convert.ToString(folderMapping?.FolderMappingID, CultureInfo.InvariantCulture);
return this.GetConfig(portalId)["Connected"] == "true";
}

Expand All @@ -150,7 +151,7 @@ public IDictionary<string, string> GetConfig(int portalId)

// This setting will improve the UI to set password-type inputs on secure settings
configs.Add("SecureSettings", "AccountKey");
configs.Add("Id", Convert.ToString(folderMapping?.FolderMappingID));
configs.Add("Id", Convert.ToString(folderMapping?.FolderMappingID, CultureInfo.InvariantCulture));
return configs;
}

Expand Down Expand Up @@ -182,7 +183,7 @@ public bool SaveConfig(int portalId, IDictionary<string, string> values, ref boo
return true;
}

if (this.FolderMappingNameExists(portalId, this.DisplayName, Convert.ToInt32(!string.IsNullOrEmpty(this.Id) ? this.Id : null)))
if (this.FolderMappingNameExists(portalId, this.DisplayName, Convert.ToInt32(!string.IsNullOrEmpty(this.Id) ? this.Id : null, CultureInfo.InvariantCulture)))
{
throw new AzureConnectorException(Localization.GetString("ErrorMappingNameExists", Constants.LocalResourceFile));
}
Expand All @@ -193,7 +194,7 @@ public bool SaveConfig(int portalId, IDictionary<string, string> values, ref boo
FolderMappingInfo folderMapping;
if (this.SupportsMultiple && !string.IsNullOrEmpty(this.Id))
{
folderMapping = folderMappings.FirstOrDefault(x => x.FolderMappingID.ToString() == this.Id);
folderMapping = folderMappings.FirstOrDefault(x => x.FolderMappingID.ToString(CultureInfo.InvariantCulture) == this.Id);
}
else
{
Expand Down Expand Up @@ -251,7 +252,7 @@ public bool SaveConfig(int portalId, IDictionary<string, string> values, ref boo

if (!folderMapping.FolderMappingSettings.ContainsKey(Constants.SyncBatchSize))
{
folderMapping.FolderMappingSettings[Constants.SyncBatchSize] = Constants.DefaultSyncBatchSize.ToString();
folderMapping.FolderMappingSettings[Constants.SyncBatchSize] = Constants.DefaultSyncBatchSize.ToString(CultureInfo.InvariantCulture);
}

this.folderMappingController.UpdateFolderMapping(folderMapping);
Expand Down Expand Up @@ -438,10 +439,8 @@ var file in
var removableFolders =
folders.Where(
f => f.FolderMappingID == folderMappingId && !folders1.Any(f2 => f2.FolderID != f.FolderID &&
f2.FolderPath.StartsWith(
f.FolderPath) &&
f2.FolderMappingID !=
folderMappingId));
f2.FolderPath.StartsWith(f.FolderPath, StringComparison.OrdinalIgnoreCase) &&
f2.FolderMappingID != folderMappingId));

if (removableFolders.Any())
{
Expand Down Expand Up @@ -486,7 +485,7 @@ private FolderMappingInfo FindAzureFolderMapping(int portalId, bool autoCreate =
return folderMappings.FirstOrDefault();
}

var folderMapping = folderMappings.FirstOrDefault(x => x.FolderMappingID.ToString() == this.Id);
var folderMapping = folderMappings.FirstOrDefault(x => x.FolderMappingID.ToString(CultureInfo.InvariantCulture) == this.Id);

if (folderMapping == null && autoCreate)
{
Expand Down Expand Up @@ -514,7 +513,7 @@ private bool FolderMappingNameExists(int portalId, string mappingName, int? exce
private FolderMappingInfo CreateAzureFolderMapping(int portalId, string mappingName = "")
{
var folderMapping = CreateAzureFolderMappingStatic(this.folderMappingController, portalId, mappingName);
this.Id = folderMapping.FolderMappingID.ToString();
this.Id = folderMapping.FolderMappingID.ToString(CultureInfo.InvariantCulture);
return folderMapping;
}
}
Expand Down
1 change: 0 additions & 1 deletion DNN Platform/Connectors/Azure/Dnn.AzureConnector.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
<AnalysisMode>Recommended</AnalysisMode>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>CS1591</NoWarn>
<WarningsNotAsErrors>CA1305,CA1310,CA1725</WarningsNotAsErrors>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
Expand Down
4 changes: 2 additions & 2 deletions DNN Platform/Connectors/Azure/Services/ServiceRouteMapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ public class ServiceRouteMapper : IServiceRouteMapper
private static readonly string[] Namespaces = ["Dnn.AzureConnector.Services",];

/// <inheritdoc/>
public void RegisterRoutes(IMapRoute routeManager)
public void RegisterRoutes(IMapRoute mapRouteManager)
{
routeManager.MapHttpRoute(
mapRouteManager.MapHttpRoute(
"AzureConnector",
"default",
"{controller}/{action}",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
<AnalysisMode>Recommended</AnalysisMode>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>CS1591</NoWarn>
<WarningsNotAsErrors>CA1311</WarningsNotAsErrors>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<AnalysisMode>Recommended</AnalysisMode>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>CS1591</NoWarn>
<WarningsNotAsErrors>CA1311,CA3075</WarningsNotAsErrors>
<WarningsNotAsErrors>CA3075</WarningsNotAsErrors>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<AnalysisMode>Recommended</AnalysisMode>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>CS1591</NoWarn>
<WarningsNotAsErrors>CA1311,CA3075</WarningsNotAsErrors>
<WarningsNotAsErrors>CA3075</WarningsNotAsErrors>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
Expand Down
1 change: 0 additions & 1 deletion DNN Platform/Controls/CountryListBox/CountryListBox.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<AnalysisMode>Recommended</AnalysisMode>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>CS1591</NoWarn>
<WarningsNotAsErrors>CA1305,CA1707</WarningsNotAsErrors>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
Expand Down
15 changes: 9 additions & 6 deletions DNN Platform/Controls/CountryListBox/CountryLookup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
namespace DotNetNuke.UI.WebControls
{
using System;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.Net;

Expand Down Expand Up @@ -89,6 +91,7 @@ public CountryLookup(string fileLocation)

/// <summary>Gets the GeoIP data file stream.</summary>
#pragma warning disable SA1300 // Element should begin with upper-case letter
[SuppressMessage("Microsoft.Design", "CA1707:IdentifiersShouldNotContainUnderscores", Justification = "Breaking change")]
public MemoryStream m_MemoryStream { get; }
#pragma warning restore SA1300 // Element should begin with upper-case letter

Expand Down Expand Up @@ -272,7 +275,7 @@ private static long ConvertIPAddressToNumber(IPAddress ipAddress)
var address = ipAddress.ToString().Split('.');
if (address.Length == 4)
{
return Convert.ToInt64((16777216 * Convert.ToDouble(address[0])) + (65536 * Convert.ToDouble(address[1])) + (256 * Convert.ToDouble(address[2])) + Convert.ToDouble(address[3]));
return Convert.ToInt64((16777216 * Convert.ToDouble(address[0], CultureInfo.InvariantCulture)) + (65536 * Convert.ToDouble(address[1], CultureInfo.InvariantCulture)) + (256 * Convert.ToDouble(address[2], CultureInfo.InvariantCulture)) + Convert.ToDouble(address[3], CultureInfo.InvariantCulture));
}
else
{
Expand All @@ -283,11 +286,11 @@ private static long ConvertIPAddressToNumber(IPAddress ipAddress)
private static string ConvertIPNumberToAddress(long ipNumber)
{
// Convert an IP Number to the IP Address equivalent
string ipNumberPart1 = Convert.ToString(((int)(ipNumber / 16777216)) % 256);
string ipNumberPart2 = Convert.ToString(((int)(ipNumber / 65536)) % 256);
string ipNumberPart3 = Convert.ToString(((int)(ipNumber / 256)) % 256);
string ipNumberPart4 = Convert.ToString(((int)ipNumber) % 256);
return ipNumberPart1 + "." + ipNumberPart2 + "." + ipNumberPart3 + "." + ipNumberPart4;
string ipNumberPart1 = Convert.ToString(((int)(ipNumber / 16777216)) % 256, CultureInfo.InvariantCulture);
string ipNumberPart2 = Convert.ToString(((int)(ipNumber / 65536)) % 256, CultureInfo.InvariantCulture);
string ipNumberPart3 = Convert.ToString(((int)(ipNumber / 256)) % 256, CultureInfo.InvariantCulture);
string ipNumberPart4 = Convert.ToString(((int)ipNumber) % 256, CultureInfo.InvariantCulture);
return $"{ipNumberPart1}.{ipNumberPart2}.{ipNumberPart3}.{ipNumberPart4}";
}
}
}
Loading