private void RptZipFiles_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType != ListItemType.AlternatingItem && e.Item.ItemType != ListItemType.Item) { return; } var fileInfo = (FileInfo)e.Item.DataItem; var ltlFileName = (Literal)e.Item.FindControl("ltlFileName"); var ltlCreationDate = (Literal)e.Item.FindControl("ltlCreationDate"); var ltlDownloadUrl = (Literal)e.Item.FindControl("ltlDownloadUrl"); var ltlDeleteUrl = (Literal)e.Item.FindControl("ltlDeleteUrl"); ltlFileName.Text = fileInfo.Name; ltlCreationDate.Text = DateUtils.GetDateString(fileInfo.CreationTime); ltlDownloadUrl.Text += $@"<a href=""javascript:;"" onclick=""{ModalProgressBar.GetOpenWindowStringWithSiteTemplateUnZip(0, fileInfo.Name)}"">解压</a> "; ltlDownloadUrl.Text += $@"<a href=""{PageUtils.GetSiteTemplatesUrl(fileInfo.Name)}"" target=""_blank"">下载压缩包</a>"; var urlDelete = PageUtils.GetSettingsUrl(nameof(PageSiteTemplate), new NameValueCollection { { "DeleteZipFile", "True" }, { "FileName", fileInfo.Name } }); ltlDeleteUrl.Text = $@"<a href=""{urlDelete}"" onClick=""javascript:return confirm('此操作将会删除未解压站点模板“{fileInfo.Name}”,确认吗?');"">删除</a>"; }
private void ImportSiteTemplate(bool isUpload) { if (isUpload) { if (!string.IsNullOrEmpty(HifFile.PostedFile?.FileName)) { var filePath = HifFile.PostedFile.FileName; var sExt = PathUtils.GetExtension(filePath); if (!StringUtils.EqualsIgnoreCase(sExt, ".zip")) { FailMessage("站点模板压缩包为zip格式,请选择有效的文件上传"); return; } try { var directoryName = PathUtils.GetFileNameWithoutExtension(filePath); var directoryPath = PathUtility.GetSiteTemplatesPath(directoryName); if (DirectoryUtils.IsDirectoryExists(directoryPath)) { FailMessage($"站点模板导入失败,文件夹{directoryName}已存在"); return; } var localFilePath = PathUtility.GetSiteTemplatesPath(directoryName + ".zip"); FileUtils.DeleteFileIfExists(localFilePath); HifFile.PostedFile.SaveAs(localFilePath); ZipUtils.ExtractZip(localFilePath, directoryPath); LayerUtils.CloseAndRedirect(Page, PageSiteTemplate.GetRedirectUrl()); } catch (Exception ex) { FailMessage(ex, "文件上传失败!"); } } } else { var sExt = PathUtils.GetExtension(TbDownloadUrl.Text); if (!StringUtils.EqualsIgnoreCase(sExt, ".zip")) { FailMessage("站点模板压缩包为zip格式,请输入有效文件地址"); return; } PageUtils.Redirect(ModalProgressBar.GetRedirectUrlStringWithSiteTemplateDownload(0, TbDownloadUrl.Text)); } }
private void RptDirectories_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType != ListItemType.AlternatingItem && e.Item.ItemType != ListItemType.Item) { return; } var dirInfo = (DirectoryInfo)e.Item.DataItem; var ltlTemplateName = (Literal)e.Item.FindControl("ltlTemplateName"); var ltlDirectoryName = (Literal)e.Item.FindControl("ltlDirectoryName"); var ltlDescription = (Literal)e.Item.FindControl("ltlDescription"); var ltlCreationDate = (Literal)e.Item.FindControl("ltlCreationDate"); var ltlDownloadUrl = (Literal)e.Item.FindControl("ltlDownloadUrl"); var ltlCreateUrl = (Literal)e.Item.FindControl("ltlCreateUrl"); var ltlDeleteUrl = (Literal)e.Item.FindControl("ltlDeleteUrl"); var siteTemplateInfo = _sortedlist[dirInfo.Name] as SiteTemplateInfo; if (string.IsNullOrEmpty(siteTemplateInfo?.SiteTemplateName)) { return; } ltlTemplateName.Text = siteTemplateInfo.SiteTemplateName; ltlDirectoryName.Text = dirInfo.Name; ltlDescription.Text = siteTemplateInfo.Description; if (!string.IsNullOrEmpty(siteTemplateInfo.PicFileName)) { var siteTemplateUrl = PageUtils.GetSiteTemplatesUrl(dirInfo.Name); ltlDownloadUrl.Text += $"<a href=\"{PageUtils.GetSiteTemplateMetadataUrl(siteTemplateUrl, siteTemplateInfo.PicFileName)}\" target=_blank>样图</a> "; } ltlCreationDate.Text = DateUtils.GetDateString(dirInfo.CreationTime); if (!string.IsNullOrEmpty(siteTemplateInfo.WebSiteUrl)) { ltlDownloadUrl.Text += $"<a href=\"{PageUtils.ParseConfigRootUrl(siteTemplateInfo.WebSiteUrl)}\" target=_blank>演示</a> "; } var fileName = dirInfo.Name + ".zip"; var filePath = PathUtility.GetSiteTemplatesPath(fileName); if (FileUtils.IsFileExists(filePath)) { ltlDownloadUrl.Text += $@"<a href=""javascript:;"" onclick=""{ModalProgressBar.GetOpenWindowStringWithSiteTemplateZip(0, dirInfo.Name)}"">重新压缩</a> "; ltlDownloadUrl.Text += $@"<a href=""{PageUtils.GetSiteTemplatesUrl(fileName)}"" target=""_blank"">下载压缩包</a>"; } else { ltlDownloadUrl.Text += $@"<a href=""javascript:;"" onclick=""{ModalProgressBar.GetOpenWindowStringWithSiteTemplateZip(0, dirInfo.Name)}"">压缩</a>"; } var urlAdd = PageSiteAdd.GetRedirectUrl(dirInfo.Name, string.Empty); ltlCreateUrl.Text = $@"<a href=""{urlAdd}"">创建站点</a>"; var urlDelete = PageUtils.GetSettingsUrl(nameof(PageSiteTemplate), new NameValueCollection { { "DeleteDirectory", "True" }, { "SiteTemplateDir", dirInfo.Name } }); ltlDeleteUrl.Text = $@"<a href=""{urlDelete}"" onClick=""javascript:return confirm('此操作将会删除此站点模板“{siteTemplateInfo .SiteTemplateName}”,确认吗?');"">删除</a>"; }
public static string GetContentCommands(string administratorName, SiteInfo siteInfo, ChannelInfo nodeInfo, string pageUrl) { var builder = new StringBuilder(); if (AdminUtility.HasChannelPermissions(administratorName, siteInfo.Id, nodeInfo.Id, ConfigManager.Permissions.Channel.ContentAdd) && nodeInfo.Additional.IsContentAddable) { builder.Append($@" <a href=""{GetContentAddAddUrl(siteInfo.Id, nodeInfo, pageUrl)}"" class=""btn btn-primary""> <i class=""ion-plus""></i> 添加 </a>"); builder.Append($@" <a href=""javascript:;"" class=""btn btn-primary"" onclick=""{ModalUploadWord.GetOpenWindowString(siteInfo.Id, nodeInfo.Id, StringUtils.ValueToUrl(pageUrl))}""> 导入Word </a>"); } if (nodeInfo.ContentNum > 0 && AdminUtility.HasChannelPermissions(administratorName, siteInfo.Id, nodeInfo.Id, ConfigManager.Permissions.Channel.ContentDelete)) { builder.Append($@" <a href=""javascript:;"" class=""btn btn-primary"" onclick=""{PageContentDelete.GetRedirectClickStringForSingleChannel(siteInfo.Id, nodeInfo.Id, false, pageUrl)}""> <i class=""ion-trash-a""></i> 删 除 </a>"); } if (nodeInfo.ContentNum > 0) { if (AdminUtility.HasChannelPermissions(administratorName, siteInfo.Id, nodeInfo.Id, ConfigManager.Permissions.Channel.ContentEdit)) { builder.Append($@" <a href=""javascript:;"" class=""btn btn-primary"" onclick=""{ModalContentAttributes.GetOpenWindowString(siteInfo.Id, nodeInfo.Id)}""> <i class=""ion-flag""></i> 属性 </a>"); builder.Append($@" <a href=""javascript:;"" class=""btn btn-primary"" onclick=""{ModalAddToGroup.GetOpenWindowStringToContent(siteInfo.Id, nodeInfo.Id)}""> 内容组 </a>"); } if (AdminUtility.HasChannelPermissions(administratorName, siteInfo.Id, nodeInfo.Id, ConfigManager.Permissions.Channel.ContentTranslate)) { var redirectUrl = PageContentTranslate.GetRedirectUrl(siteInfo.Id, nodeInfo.Id, pageUrl); var clickString = PageUtils.GetRedirectStringWithCheckBoxValue(redirectUrl, "contentIdCollection", "contentIdCollection", "请选择需要转移的内容!"); builder.Append($@" <a href=""javascript:;"" class=""btn btn-primary"" onclick=""{clickString}""> 转 移 </a>"); } if (AdminUtility.HasChannelPermissions(administratorName, siteInfo.Id, nodeInfo.Id, ConfigManager.Permissions.Channel.ContentEdit)) { builder.Append($@" <a href=""javascript:;"" class=""btn btn-primary"" onclick=""{ModalContentTaxis.GetOpenWindowString(siteInfo.Id, nodeInfo.Id, pageUrl)}""> 排 序 </a>"); } if (AdminUtility.HasChannelPermissions(administratorName, siteInfo.Id, nodeInfo.Id, ConfigManager.Permissions.Channel.ContentCheck)) { builder.Append($@" <a href=""javascript:;"" class=""btn btn-primary"" onclick=""{ModalContentCheck.GetOpenWindowString(siteInfo.Id, nodeInfo.Id, pageUrl)}""> 审 核 </a>"); } if (AdminUtility.HasSitePermissions(administratorName, siteInfo.Id, ConfigManager.Permissions.WebSite.Create) || AdminUtility.HasChannelPermissions(administratorName, siteInfo.Id, nodeInfo.Id, ConfigManager.Permissions.Channel.CreatePage)) { builder.Append($@" <a href=""javascript:;"" class=""btn btn-primary"" onclick=""{ModalProgressBar.GetOpenWindowStringWithCreateContentsOneByOne(siteInfo.Id, nodeInfo.Id)}""> <i class=""ion-wand""></i> 生 成 </a>"); } } if (AdminUtility.HasChannelPermissions(administratorName, siteInfo.Id, nodeInfo.Id, ConfigManager.Permissions.Channel.ChannelEdit)) { builder.Append($@" <a href=""javascript:;"" class=""btn btn-primary"" onclick=""{ModalSelectColumns.GetOpenWindowStringToContent(siteInfo.Id, nodeInfo.Id, true)}""> <i class=""ion-ios-list-outline""></i> 显示项 </a>"); } if (nodeInfo.ContentNum > 0) { builder.Append(@" <a href=""javascript:;;"" class=""btn btn-primary"" onClick=""$('#contentSearch').toggle(); return false""> <i class=""ion-search""></i> 查找 </a>"); } return(builder.ToString()); }