public void ImportChannelsAndContents(int parentId, string siteContentDirectoryPath, bool isOverride) { var filePathArrayList = GetSiteContentFilePathArrayList(siteContentDirectoryPath); var siteContentIe = new SiteContentIe(Fso.PublishmentSystemInfo, siteContentDirectoryPath); var parentOrderString = "none"; //int parentID = 0; foreach (string filePath in filePathArrayList) { var firstIndex = filePath.LastIndexOf(PathUtils.SeparatorChar) + 1; var lastIndex = filePath.LastIndexOf(".", StringComparison.Ordinal); var orderString = filePath.Substring(firstIndex, lastIndex - firstIndex); if (StringUtils.StartsWithIgnoreCase(orderString, parentOrderString)) { parentId = siteContentIe.ImportChannelsAndContents(filePath, true, isOverride, parentId); parentOrderString = orderString; } else { siteContentIe.ImportChannelsAndContents(filePath, true, isOverride, parentId); } } }
public void ImportChannelsAndContentsFromZip(int parentId, string siteContentDirectoryPath, bool isOverride) { var filePathArrayList = GetSiteContentFilePathArrayList(siteContentDirectoryPath); var siteContentIe = new SiteContentIe(Fso.PublishmentSystemInfo, siteContentDirectoryPath); Hashtable levelHashtable = null; foreach (string filePath in filePathArrayList) { var firstIndex = filePath.LastIndexOf(PathUtils.SeparatorChar) + 1; var lastIndex = filePath.LastIndexOf(".", StringComparison.Ordinal); var orderString = filePath.Substring(firstIndex, lastIndex - firstIndex); var level = StringUtils.GetCount("_", orderString); if (levelHashtable == null) { levelHashtable = new Hashtable { [level] = parentId }; } var insertNodeId = siteContentIe.ImportChannelsAndContents(filePath, true, isOverride, (int)levelHashtable[level]); levelHashtable[level + 1] = insertNodeId; } }
public string ExportChannels(List <int> nodeIdList, string filePath) { var siteContentDirectoryPath = PathUtils.Combine(DirectoryUtils.GetDirectoryPath(filePath), PathUtils.GetFileNameWithoutExtension(filePath)); DirectoryUtils.DeleteDirectoryIfExists(siteContentDirectoryPath); DirectoryUtils.CreateDirectoryIfNotExists(siteContentDirectoryPath); var siteContentIe = new SiteContentIe(Fso.PublishmentSystemInfo, siteContentDirectoryPath); var allNodeIdList = new List <int>(); foreach (int nodeId in nodeIdList) { if (!allNodeIdList.Contains(nodeId)) { allNodeIdList.Add(nodeId); var nodeInfo = NodeManager.GetNodeInfo(Fso.PublishmentSystemId, nodeId); var childNodeIdList = DataProvider.NodeDao.GetNodeIdListByScopeType(nodeInfo, EScopeType.Descendant, string.Empty, string.Empty); allNodeIdList.AddRange(childNodeIdList); } } foreach (int nodeId in allNodeIdList) { siteContentIe.Export(Fso.PublishmentSystemId, nodeId, true); } ZipUtils.PackFiles(filePath, siteContentDirectoryPath); DirectoryUtils.DeleteDirectoryIfExists(siteContentDirectoryPath); return(PathUtils.GetFileName(filePath)); }
public void ImportContents(NodeInfo nodeInfo, string siteContentDirectoryPath, bool isOverride, int taxis, int importStart, int importCount, bool isChecked, int checkedLevel) { var filePath = PathUtils.Combine(siteContentDirectoryPath, "contents.xml"); var siteContentIe = new SiteContentIe(Fso.PublishmentSystemInfo, siteContentDirectoryPath); siteContentIe.ImportContents(filePath, isOverride, nodeInfo, taxis, importStart, importCount, isChecked, checkedLevel); FileUtils.DeleteFileIfExists(filePath); DirectoryUtils.MoveDirectory(siteContentDirectoryPath, Fso.PublishmentSystemPath, isOverride); }
public bool ExportContents(string filePath, int nodeId, List <int> contentIdArrayList, bool isPeriods, string dateFrom, string dateTo, ETriState checkedState) { var siteContentDirectoryPath = PathUtils.Combine(DirectoryUtils.GetDirectoryPath(filePath), PathUtils.GetFileNameWithoutExtension(filePath)); FileUtils.DeleteFileIfExists(filePath); DirectoryUtils.DeleteDirectoryIfExists(siteContentDirectoryPath); DirectoryUtils.CreateDirectoryIfNotExists(siteContentDirectoryPath); var siteContentIe = new SiteContentIe(Fso.PublishmentSystemInfo, siteContentDirectoryPath); var isExport = siteContentIe.ExportContents(Fso.PublishmentSystemInfo, nodeId, contentIdArrayList, isPeriods, dateFrom, dateTo, checkedState); if (isExport) { ZipUtils.PackFiles(filePath, siteContentDirectoryPath); DirectoryUtils.DeleteDirectoryIfExists(siteContentDirectoryPath); } return(isExport); }
/// <summary> /// 导出网站内容至默认的临时文件地址 /// </summary> public void ExportSiteContent(string siteContentDirectoryPath, bool isSaveContents, bool isSaveAllChannels, List <int> nodeIdArrayList) { DirectoryUtils.DeleteDirectoryIfExists(siteContentDirectoryPath); DirectoryUtils.CreateDirectoryIfNotExists(siteContentDirectoryPath); var allNodeIdList = DataProvider.NodeDao.GetNodeIdListByPublishmentSystemId(Fso.PublishmentSystemId); var includeNodeIdArrayList = new ArrayList(); foreach (int nodeId in nodeIdArrayList) { var nodeInfo = NodeManager.GetNodeInfo(Fso.PublishmentSystemId, nodeId); var parentIdArrayList = TranslateUtils.StringCollectionToIntList(nodeInfo.ParentsPath); foreach (int parentId in parentIdArrayList) { if (!includeNodeIdArrayList.Contains(parentId)) { includeNodeIdArrayList.Add(parentId); } } if (!includeNodeIdArrayList.Contains(nodeId)) { includeNodeIdArrayList.Add(nodeId); } } var siteContentIe = new SiteContentIe(Fso.PublishmentSystemInfo, siteContentDirectoryPath); foreach (int nodeId in allNodeIdList) { if (!isSaveAllChannels) { if (!includeNodeIdArrayList.Contains(nodeId)) { continue; } } siteContentIe.Export(Fso.PublishmentSystemId, nodeId, isSaveContents); } }
public void ImportSiteContent(string siteContentDirectoryPath, string filePath, bool isImportContents) { var siteContentIe = new SiteContentIe(Fso.PublishmentSystemInfo, siteContentDirectoryPath); siteContentIe.ImportChannelsAndContents(filePath, isImportContents, false, 0); }
public string ExportChannels(List <int> nodeIdList, string filePath) { var siteContentDirectoryPath = PathUtils.Combine(DirectoryUtils.GetDirectoryPath(filePath), PathUtils.GetFileNameWithoutExtension(filePath)); DirectoryUtils.DeleteDirectoryIfExists(siteContentDirectoryPath); DirectoryUtils.CreateDirectoryIfNotExists(siteContentDirectoryPath); var siteContentIe = new SiteContentIe(Fso.PublishmentSystemInfo, siteContentDirectoryPath); var allNodeIdList = new List <int>(); foreach (int nodeId in nodeIdList) { if (!allNodeIdList.Contains(nodeId)) { allNodeIdList.Add(nodeId); var nodeInfo = NodeManager.GetNodeInfo(Fso.PublishmentSystemId, nodeId); var childNodeIdList = DataProvider.NodeDao.GetNodeIdListByScopeType(nodeInfo, EScopeType.Descendant, string.Empty, string.Empty); allNodeIdList.AddRange(childNodeIdList); } } foreach (int nodeId in allNodeIdList) { siteContentIe.Export(Fso.PublishmentSystemId, nodeId, true); } var imageUploadDirectoryPath = PathUtils.Combine(siteContentDirectoryPath, this.Fso.PublishmentSystemInfo.Additional.ImageUploadDirectoryName); DirectoryUtils.DeleteDirectoryIfExists(imageUploadDirectoryPath); DirectoryUtils.Copy(PathUtils.Combine(this.Fso.PublishmentSystemPath, this.Fso.PublishmentSystemInfo.Additional.ImageUploadDirectoryName), imageUploadDirectoryPath); var videoUploadDirectoryPath = PathUtils.Combine(siteContentDirectoryPath, this.Fso.PublishmentSystemInfo.Additional.VideoUploadDirectoryName); DirectoryUtils.DeleteDirectoryIfExists(videoUploadDirectoryPath); DirectoryUtils.Copy(PathUtils.Combine(this.Fso.PublishmentSystemPath, this.Fso.PublishmentSystemInfo.Additional.VideoUploadDirectoryName), videoUploadDirectoryPath); var fileUploadDirectoryPath = PathUtils.Combine(siteContentDirectoryPath, this.Fso.PublishmentSystemInfo.Additional.FileUploadDirectoryName); DirectoryUtils.DeleteDirectoryIfExists(fileUploadDirectoryPath); DirectoryUtils.Copy(PathUtils.Combine(this.Fso.PublishmentSystemPath, this.Fso.PublishmentSystemInfo.Additional.FileUploadDirectoryName), fileUploadDirectoryPath); Atom.Core.AtomFeed feed = AtomUtility.GetEmptyFeed(); var entry = AtomUtility.GetEmptyEntry(); AtomUtility.AddDcElement(entry.AdditionalElements, "ImageUploadDirectoryName", this.Fso.PublishmentSystemInfo.Additional.ImageUploadDirectoryName); AtomUtility.AddDcElement(entry.AdditionalElements, "VideoUploadDirectoryName", this.Fso.PublishmentSystemInfo.Additional.VideoUploadDirectoryName); AtomUtility.AddDcElement(entry.AdditionalElements, "FileUploadDirectoryName", this.Fso.PublishmentSystemInfo.Additional.FileUploadDirectoryName); feed.Entries.Add(entry); var UploadFolderPath = PathUtils.Combine(siteContentDirectoryPath, BackupUtility.UploadFolderName); DirectoryUtils.CreateDirectoryIfNotExists(UploadFolderPath); var UploadFilePath = PathUtils.Combine(UploadFolderPath, BackupUtility.UploadFileName); feed.Save(UploadFilePath); ZipUtils.PackFiles(filePath, siteContentDirectoryPath); DirectoryUtils.DeleteDirectoryIfExists(siteContentDirectoryPath); return(PathUtils.GetFileName(filePath)); }