add support for public content folders

This commit is contained in:
Shaun Walker
2021-05-26 12:01:35 -04:00
parent 1d171d2e56
commit c07e766e57
23 changed files with 281 additions and 123 deletions

View File

@ -0,0 +1,6 @@
namespace Oqtane.Shared {
public class FolderTypes {
public const string Private = "Private";
public const string Public = "Public";
}
}

View File

@ -113,6 +113,23 @@ namespace Oqtane.Shared
url = (!url.StartsWith("/")) ? "/" + url : url;
return (alias != null && !string.IsNullOrEmpty(alias.Path)) ? "/" + alias.Path + url : url;
}
public static string FormatContent(string content, Alias alias, string operation)
{
switch (operation)
{
case "save":
content = content.Replace(UrlCombine("Content", "Tenants", alias.TenantId.ToString(), "Sites", alias.SiteId.ToString()), "[siteroot]");
content = content.Replace(alias.Path + Constants.ContentUrl, Constants.ContentUrl);
break;
case "render":
content = content.Replace("[siteroot]", UrlCombine("Content", "Tenants", alias.TenantId.ToString(), "Sites", alias.SiteId.ToString()));
content = content.Replace(Constants.ContentUrl, alias.Path + Constants.ContentUrl);
break;
}
return content;
}
public static string GetTypeName(string fullyqualifiedtypename)
{
if (fullyqualifiedtypename.Contains(","))
@ -325,6 +342,11 @@ namespace Oqtane.Shared
return Path.Combine(segments).TrimEnd();
}
public static string UrlCombine(params string[] segments)
{
return string.Join("/", segments);
}
public static bool IsPathValid(this Folder folder)
{
return IsPathOrFileValid(folder.Name);