Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
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);
            }

            ZipUtils.PackFiles(filePath, siteContentDirectoryPath);

            DirectoryUtils.DeleteDirectoryIfExists(siteContentDirectoryPath);

            return(PathUtils.GetFileName(filePath));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        /// <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);
            }
        }
Esempio n. 7
0
        public void ImportSiteContent(string siteContentDirectoryPath, string filePath, bool isImportContents)
        {
            var siteContentIe = new SiteContentIe(Fso.PublishmentSystemInfo, siteContentDirectoryPath);

            siteContentIe.ImportChannelsAndContents(filePath, isImportContents, false, 0);
        }
Esempio n. 8
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));
        }