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 int _folderId = -1;
private string _name = "";
private string _UploadableFiles = string.Empty;
public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin;
protected override async Task OnInitializedAsync()
{
_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"))
{
@ -98,7 +94,7 @@
_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);
return;

View File

@ -77,7 +77,7 @@
<div class="row mb-1 align-items-center">
<Label Class="col-sm-3" For="@photofileid.ToString()" HelpText="A photo of yourself" ResourceKey="Photo"></Label>
<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>

View File

@ -344,9 +344,7 @@
_message = string.Empty;
var interop = new Interop(JSRuntime);
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)
{
string restricted = "";
@ -354,7 +352,7 @@
{
var filename = upload.Split(':')[0];
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;
}

View File

@ -9,7 +9,7 @@
<TabPanel Name="Rich" Heading="Rich Text Editor" ResourceKey="RichTextEditor">
@if (_richfilemanager)
{
<FileManager @ref="_fileManager" Filter="@_ImageFiles" />
<FileManager @ref="_fileManager" Filter="@PageState.Site.ImageFiles" />
<ModuleMessage Message="@_message" Type="MessageType.Warning"></ModuleMessage>
<br />
}
@ -74,7 +74,7 @@
<TabPanel Name="Raw" Heading="Raw HTML Editor" ResourceKey="HtmlEditor">
@if (_rawfilemanager)
{
<FileManager @ref="_fileManager" Filter="@_ImageFiles" />
<FileManager @ref="_fileManager" Filter="@PageState.Site.ImageFiles" />
<ModuleMessage Message="@_message" Type="MessageType.Warning"></ModuleMessage>
<br />
}
@ -115,7 +115,6 @@
private string _rawhtml = string.Empty;
private string _originalrawhtml = string.Empty;
private string _message = string.Empty;
private string _ImageFiles = string.Empty;
[Parameter]
public string Content { get; set; }
@ -149,12 +148,6 @@
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()
{
_richhtml = Content;

View File

@ -86,6 +86,16 @@ namespace Oqtane.Controllers
.Where(item => !item.IsPrivate || User.IsInRole(RoleNames.Admin))
.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
List<Setting> settings = _settings.GetSettings(EntityNames.Page).ToList();
site.Pages = new List<Page>();

View File

@ -98,6 +98,18 @@ namespace Oqtane.Models
/// </summary>
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]
public Dictionary<string, string> Settings { get; set; }