improve API
This commit is contained in:
@@ -264,8 +264,7 @@ namespace Oqtane.Controllers
|
|||||||
_userPermissions.IsAuthorized(User, module.SiteId, EntityNames.Folder, folderid, PermissionNames.Edit) && !string.IsNullOrEmpty(filename))
|
_userPermissions.IsAuthorized(User, module.SiteId, EntityNames.Folder, folderid, PermissionNames.Edit) && !string.IsNullOrEmpty(filename))
|
||||||
{
|
{
|
||||||
// get content
|
// get content
|
||||||
module.IPortableContext = "Export Module";
|
var content = _modules.ExportModule(module, "Export Module");
|
||||||
var content = _modules.ExportModule(module);
|
|
||||||
|
|
||||||
// get folder
|
// get folder
|
||||||
var folder = _folders.GetFolder(folderid, false);
|
var folder = _folders.GetFolder(folderid, false);
|
||||||
@@ -318,8 +317,7 @@ namespace Oqtane.Controllers
|
|||||||
var module = _modules.GetModule(moduleid);
|
var module = _modules.GetModule(moduleid);
|
||||||
if (ModelState.IsValid && module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, module.SiteId, EntityNames.Page, pageid, PermissionNames.Edit))
|
if (ModelState.IsValid && module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, module.SiteId, EntityNames.Page, pageid, PermissionNames.Edit))
|
||||||
{
|
{
|
||||||
module.IPortableContext = "Import Module";
|
success = _modules.ImportModule(module, content, "Import Module");
|
||||||
success = _modules.ImportModule(module, content);
|
|
||||||
if (success)
|
if (success)
|
||||||
{
|
{
|
||||||
_logger.Log(LogLevel.Information, this, LogFunction.Update, "Module Content Imported {ModuleId}", moduleid);
|
_logger.Log(LogLevel.Information, this, LogFunction.Update, "Module Content Imported {ModuleId}", moduleid);
|
||||||
|
|||||||
@@ -239,12 +239,10 @@ namespace Oqtane.Controllers
|
|||||||
module = _modules.AddModule(module);
|
module = _modules.AddModule(module);
|
||||||
|
|
||||||
// deep copy module content (includes settings)
|
// deep copy module content (includes settings)
|
||||||
pm.Module.IPortableContext = "Copy Page";
|
string content = _modules.ExportModule(pm.Module, "Copy Page");
|
||||||
string content = _modules.ExportModule(pm.Module);
|
|
||||||
if (content != "")
|
if (content != "")
|
||||||
{
|
{
|
||||||
module.IPortableContext = "Copy Page";
|
_modules.ImportModule(module, content, "Copy Page");
|
||||||
_modules.ImportModule(module, content);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PageModule pagemodule = new PageModule();
|
PageModule pagemodule = new PageModule();
|
||||||
@@ -562,12 +560,10 @@ namespace Oqtane.Controllers
|
|||||||
module = _modules.AddModule(module);
|
module = _modules.AddModule(module);
|
||||||
|
|
||||||
// deep copy module content (includes settings)
|
// deep copy module content (includes settings)
|
||||||
pm.Module.IPortableContext = "Copy Page";
|
string content = _modules.ExportModule(pm.Module, "Copy Page");
|
||||||
string content = _modules.ExportModule(pm.Module);
|
|
||||||
if (content != "")
|
if (content != "")
|
||||||
{
|
{
|
||||||
module.IPortableContext = "Copy Page";
|
_modules.ImportModule(module, content, "Copy Page");
|
||||||
_modules.ImportModule(module, content);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -149,12 +149,11 @@ namespace Oqtane.Infrastructure
|
|||||||
// module content
|
// module content
|
||||||
if (globalReplace.Content)
|
if (globalReplace.Content)
|
||||||
{
|
{
|
||||||
pageModule.Module.IPortableContext = "Global Replace";
|
var content = moduleRepository.ExportModule(pageModule.Module, "Global Replace");
|
||||||
var content = moduleRepository.ExportModule(pageModule.Module);
|
|
||||||
if (!string.IsNullOrEmpty(content) && content.Contains(WebUtility.HtmlEncode(find), comparisonType))
|
if (!string.IsNullOrEmpty(content) && content.Contains(WebUtility.HtmlEncode(find), comparisonType))
|
||||||
{
|
{
|
||||||
content = content.Replace(WebUtility.HtmlEncode(find), WebUtility.HtmlEncode(replace), comparisonType);
|
content = content.Replace(WebUtility.HtmlEncode(find), WebUtility.HtmlEncode(replace), comparisonType);
|
||||||
moduleRepository.ImportModule(pageModule.Module, content);
|
moduleRepository.ImportModule(pageModule.Module, content, "Global Replace");
|
||||||
log += $"Module Content Updated: {pageModule.Title} Page: /{page.Path}<br />";
|
log += $"Module Content Updated: {pageModule.Title} Page: /{page.Path}<br />";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ namespace Oqtane.Repository
|
|||||||
Module GetModule(int moduleId, bool tracking);
|
Module GetModule(int moduleId, bool tracking);
|
||||||
void DeleteModule(int moduleId);
|
void DeleteModule(int moduleId);
|
||||||
string ExportModule(int moduleId);
|
string ExportModule(int moduleId);
|
||||||
string ExportModule(Module module);
|
string ExportModule(Module module, string IPortableContext);
|
||||||
bool ImportModule(int moduleId, string content);
|
bool ImportModule(int moduleId, string content);
|
||||||
bool ImportModule(Module module, string content);
|
bool ImportModule(Module module, string content, string IPortableContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ModuleRepository : IModuleRepository
|
public class ModuleRepository : IModuleRepository
|
||||||
@@ -103,10 +103,10 @@ namespace Oqtane.Repository
|
|||||||
public string ExportModule(int moduleId)
|
public string ExportModule(int moduleId)
|
||||||
{
|
{
|
||||||
Module module = GetModule(moduleId);
|
Module module = GetModule(moduleId);
|
||||||
return ExportModule(module);
|
return ExportModule(module, "Export Module");
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ExportModule(Module module)
|
public string ExportModule(Module module, string IPortableContext)
|
||||||
{
|
{
|
||||||
string content = "";
|
string content = "";
|
||||||
try
|
try
|
||||||
@@ -132,6 +132,7 @@ namespace Oqtane.Repository
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
module.IPortableContext = IPortableContext;
|
||||||
module.Settings = settings.ToDictionary(x => x.SettingName, x => x.SettingValue);
|
module.Settings = settings.ToDictionary(x => x.SettingName, x => x.SettingValue);
|
||||||
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
|
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
|
||||||
modulecontent.Content = ((IPortable)moduleobject).ExportModule(module);
|
modulecontent.Content = ((IPortable)moduleobject).ExportModule(module);
|
||||||
@@ -158,10 +159,10 @@ namespace Oqtane.Repository
|
|||||||
public bool ImportModule(int moduleId, string content)
|
public bool ImportModule(int moduleId, string content)
|
||||||
{
|
{
|
||||||
Module module = GetModule(moduleId);
|
Module module = GetModule(moduleId);
|
||||||
return ImportModule(module, content);
|
return ImportModule(module, content, "Import Module");
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool ImportModule(Module module, string content)
|
public bool ImportModule(Module module, string content, string IPortableContext)
|
||||||
{
|
{
|
||||||
bool success = false;
|
bool success = false;
|
||||||
try
|
try
|
||||||
@@ -216,6 +217,7 @@ namespace Oqtane.Repository
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
module.IPortableContext = IPortableContext;
|
||||||
module.Settings = _settings.GetSettings(EntityNames.Module, module.ModuleId).ToDictionary(x => x.SettingName, x => x.SettingValue);
|
module.Settings = _settings.GetSettings(EntityNames.Module, module.ModuleId).ToDictionary(x => x.SettingName, x => x.SettingValue);
|
||||||
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
|
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
|
||||||
((IPortable)moduleobject).ImportModule(module, modulecontent.Content, modulecontent.Version);
|
((IPortable)moduleobject).ImportModule(module, modulecontent.Content, modulecontent.Version);
|
||||||
|
|||||||
@@ -535,8 +535,7 @@ namespace Oqtane.Repository
|
|||||||
if (!string.IsNullOrEmpty(pageTemplateModule.Content))
|
if (!string.IsNullOrEmpty(pageTemplateModule.Content))
|
||||||
{
|
{
|
||||||
var module = _moduleRepository.GetModule(pageModule.ModuleId);
|
var module = _moduleRepository.GetModule(pageModule.ModuleId);
|
||||||
module.IPortableContext = "Site Template";
|
if (!_moduleRepository.ImportModule(module, pageTemplateModule.Content, "Site Template"))
|
||||||
if (!_moduleRepository.ImportModule(module, pageTemplateModule.Content))
|
|
||||||
{
|
{
|
||||||
if (alias != null)
|
if (alias != null)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user