Update Site with ImageFiles and UploadableFiles

This commit is contained in:
Leigh Pointer
2023-12-04 09:07:11 +01:00
parent 9cc7ba1d82
commit 6e36312be8
6 changed files with 28 additions and 19 deletions

View File

@ -64,16 +64,12 @@
private List<Folder> _folders; private List<Folder> _folders;
private int _folderId = -1; private int _folderId = -1;
private string _name = ""; private string _name = "";
private string _UploadableFiles = string.Empty;
public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin;
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
_folders = await FolderService.GetFoldersAsync(ModuleState.SiteId); _folders = await FolderService.GetFoldersAsync(ModuleState.SiteId);
var settings = await SettingService.GetSiteSettingsAsync(SiteState.Alias.SiteId);
var _ImageFiles = SettingService.GetSetting(settings, "ImageFiles", Constants.ImageFiles);
_UploadableFiles = _ImageFiles + "," + SettingService.GetSetting(settings, "UploadableFiles", Constants.UploadableFiles);
if (PageState.QueryString.ContainsKey("id")) if (PageState.QueryString.ContainsKey("id"))
{ {
@ -98,7 +94,7 @@
_name = _url.Substring(_url.LastIndexOf("/", StringComparison.Ordinal) + 1); _name = _url.Substring(_url.LastIndexOf("/", StringComparison.Ordinal) + 1);
} }
if (!_UploadableFiles.Split(',').Contains(Path.GetExtension(_name).ToLower().Replace(".", ""))) if (!PageState.Site.UploadableFiles.Split(',').Contains(Path.GetExtension(_name).ToLower().Replace(".", "")))
{ {
AddModuleMessage(Localizer["Message.Download.InvalidExtension"], MessageType.Warning); AddModuleMessage(Localizer["Message.Download.InvalidExtension"], MessageType.Warning);
return; return;

View File

@ -77,7 +77,7 @@
<div class="row mb-1 align-items-center"> <div class="row mb-1 align-items-center">
<Label Class="col-sm-3" For="@photofileid.ToString()" HelpText="A photo of yourself" ResourceKey="Photo"></Label> <Label Class="col-sm-3" For="@photofileid.ToString()" HelpText="A photo of yourself" ResourceKey="Photo"></Label>
<div class="col-sm-9"> <div class="col-sm-9">
<FileManager FileId="@photofileid" Filter="@_ImageFiles" ShowFolders="false" ShowFiles="true" UploadMultiple="false" FolderId="@folderid" @ref="filemanager" /> <FileManager FileId="@photofileid" Filter="@PageState.Site.ImageFiles" ShowFolders="false" ShowFiles="true" UploadMultiple="false" FolderId="@folderid" @ref="filemanager" />
</div> </div>
</div> </div>
</div> </div>

View File

@ -344,9 +344,7 @@
_message = string.Empty; _message = string.Empty;
var interop = new Interop(JSRuntime); var interop = new Interop(JSRuntime);
var uploads = await interop.GetFiles(_fileinputid); var uploads = await interop.GetFiles(_fileinputid);
var settings = await SettingService.GetSiteSettingsAsync(SiteState.Alias.SiteId);
var _ImageFiles = SettingService.GetSetting(settings, "ImageFiles", Constants.ImageFiles);
var _UploadableFiles = _ImageFiles + "," + SettingService.GetSetting(settings, "UploadableFiles", Constants.UploadableFiles);
if (uploads.Length > 0) if (uploads.Length > 0)
{ {
string restricted = ""; string restricted = "";
@ -354,7 +352,7 @@
{ {
var filename = upload.Split(':')[0]; var filename = upload.Split(':')[0];
var extension = (filename.LastIndexOf(".") != -1) ? filename.Substring(filename.LastIndexOf(".") + 1) : ""; var extension = (filename.LastIndexOf(".") != -1) ? filename.Substring(filename.LastIndexOf(".") + 1) : "";
if (!_UploadableFiles.Split(',').Contains(extension.ToLower())) if (!PageState.Site.UploadableFiles.Split(',').Contains(extension.ToLower()))
{ {
restricted += (restricted == "" ? "" : ",") + extension; restricted += (restricted == "" ? "" : ",") + extension;
} }

View File

@ -9,7 +9,7 @@
<TabPanel Name="Rich" Heading="Rich Text Editor" ResourceKey="RichTextEditor"> <TabPanel Name="Rich" Heading="Rich Text Editor" ResourceKey="RichTextEditor">
@if (_richfilemanager) @if (_richfilemanager)
{ {
<FileManager @ref="_fileManager" Filter="@_ImageFiles" /> <FileManager @ref="_fileManager" Filter="@PageState.Site.ImageFiles" />
<ModuleMessage Message="@_message" Type="MessageType.Warning"></ModuleMessage> <ModuleMessage Message="@_message" Type="MessageType.Warning"></ModuleMessage>
<br /> <br />
} }
@ -74,7 +74,7 @@
<TabPanel Name="Raw" Heading="Raw HTML Editor" ResourceKey="HtmlEditor"> <TabPanel Name="Raw" Heading="Raw HTML Editor" ResourceKey="HtmlEditor">
@if (_rawfilemanager) @if (_rawfilemanager)
{ {
<FileManager @ref="_fileManager" Filter="@_ImageFiles" /> <FileManager @ref="_fileManager" Filter="@PageState.Site.ImageFiles" />
<ModuleMessage Message="@_message" Type="MessageType.Warning"></ModuleMessage> <ModuleMessage Message="@_message" Type="MessageType.Warning"></ModuleMessage>
<br /> <br />
} }
@ -115,7 +115,6 @@
private string _rawhtml = string.Empty; private string _rawhtml = string.Empty;
private string _originalrawhtml = string.Empty; private string _originalrawhtml = string.Empty;
private string _message = string.Empty; private string _message = string.Empty;
private string _ImageFiles = string.Empty;
[Parameter] [Parameter]
public string Content { get; set; } public string Content { get; set; }
@ -149,12 +148,6 @@
new Resource { ResourceType = ResourceType.Script, Bundle = "Quill", Url = "js/quill-interop.js" } new Resource { ResourceType = ResourceType.Script, Bundle = "Quill", Url = "js/quill-interop.js" }
}; };
protected override async Task OnInitializedAsync()
{
var settings = await SettingService.GetSiteSettingsAsync(SiteState.Alias.SiteId);
_ImageFiles = SettingService.GetSetting(settings, "ImageFiles", Constants.ImageFiles);
}
protected override void OnParametersSet() protected override void OnParametersSet()
{ {
_richhtml = Content; _richhtml = Content;

View File

@ -86,6 +86,16 @@ namespace Oqtane.Controllers
.Where(item => !item.IsPrivate || User.IsInRole(RoleNames.Admin)) .Where(item => !item.IsPrivate || User.IsInRole(RoleNames.Admin))
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue); .ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
// Populate ImageFile extentions with setting or constant value
site.ImageFiles = site.Settings.ContainsKey("ImageFiles")
? site.Settings["ImageFiles"]?.ToString() ?? Constants.ImageFiles
: Constants.ImageFiles;
// Populate UploadableFile extensions with setting or constant value
site.UploadableFiles = site.Settings.ContainsKey("UploadableFiles")
? site.Settings["UploadableFiles"]?.ToString() ?? Constants.UploadableFiles
: Constants.UploadableFiles;
// pages // pages
List<Setting> settings = _settings.GetSettings(EntityNames.Page).ToList(); List<Setting> settings = _settings.GetSettings(EntityNames.Page).ToList();
site.Pages = new List<Page>(); site.Pages = new List<Page>();

View File

@ -98,6 +98,18 @@ namespace Oqtane.Models
/// </summary> /// </summary>
public string BodyContent { get; set; } public string BodyContent { get; set; }
/// <summary>
/// The ImageFile extensions
/// </summary>
[NotMapped]
public string ImageFiles { get; set; }
/// <summary>
/// The UploadableFile extensions
/// </summary>
[NotMapped]
public string UploadableFiles { get; set; }
[NotMapped] [NotMapped]
public Dictionary<string, string> Settings { get; set; } public Dictionary<string, string> Settings { get; set; }