src/SSCMS.Core/Utils/SiteTemplateManager.cs
(开头部分) 6KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using SSCMS.Core.Utils.Serialization;
using SSCMS.Models;
using SSCMS.Services;
using SSCMS.Utils;
namespace SSCMS.Core.Utils
{
public class SiteTemplateManager
{
private readonly IPathManager _pathManager;
private readonly IDatabaseManager _databaseManager;
private readonly CacheUtils _caching;
private readonly string _rootPath;
public SiteTemplateManager(IPathManager pathManager, IDatabaseManager databaseManager, CacheUtils caching)
{
_pathManager = pathManager;
_databaseManager = databaseManager;
_caching = caching;
_rootPath = _pathManager.GetSiteTemplatesPath(string.Empty);
DirectoryUtils.CreateDirectoryIfNotExists(_rootPath);
}
public void DeleteSiteTemplate(string siteTemplateDir)
{
var directoryPath = PathUtils.Combine(_rootPath, siteTemplateDir);
DirectoryUtils.DeleteDirectoryIfExists(directoryPath);
var filePath = PathUtils.Combine(_rootPath, siteTemplateDir + ".zip");
FileUtils.DeleteFileIfExists(filePath);
}
public void DeleteZipSiteTemplate(string fileName)
{
var filePath = PathUtils.Combine(_rootPath, fileName);
FileUtils.DeleteFileIfExists(filePath);
}
public bool IsSiteTemplateDirectoryExists(string siteTemplateDir)
{
var siteTemplatePath = PathUtils.Combine(_rootPath, siteTemplateDir);
return DirectoryUtils.IsDirectoryExists(siteTemplatePath);
}
public List<SiteTemplateInfo> GetSiteTemplateInfoList()
{
var siteTemplateInfoList = new List<SiteTemplateInfo>();
var directoryPaths = DirectoryUtils.GetDirectoryPaths(_rootPath);
foreach (var siteTemplatePath in directoryPaths)
{
var directoryName = PathUtils.GetDirectoryName(siteTemplatePath, false);
SiteTemplateInfo siteTemplateInfo = null;
var metadataXmlFilePath = _pathManager.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteFiles.SiteTemplates.FileMetadata);
if (FileUtils.IsFileExists(metadataXmlFilePath))
{
siteTemplateInfo = XmlUtils.ConvertFileToObject<SiteTemplateInfo>(metadataXmlFilePath);
}
后面还有 85 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
