public IHttpActionResult GetConfig() { try { var request = new AuthenticatedRequest(); var siteId = request.GetQueryInt("siteId"); var specialId = request.GetQueryInt("specialId"); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSitePermissions(siteId, ConfigManager.SitePermissions.Specials)) { return(Unauthorized()); } SpecialInfo specialInfo = null; if (specialId > 0) { specialInfo = SpecialManager.GetSpecialInfo(siteId, specialId); } return(Ok(new { Value = specialInfo, Guid = StringUtils.GetShortGuid(false), })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } PageUtils.CheckRequestParameter("siteId"); var specialId = AuthRequest.GetQueryInt("specialId"); if (specialId > 0) { _specialInfo = SpecialManager.GetSpecialInfo(SiteId, specialId); } if (IsPostBack) { return; } VerifySitePermissions(ConfigManager.WebSitePermissions.Template); if (_specialInfo != null) { TbTitle.Text = _specialInfo.Title; TbUrl.Text = _specialInfo.Url; PhUpload.Visible = false; } else { TbUrl.Text = $"@/special/{DateTime.Now:yyyy/MM/dd}/"; } }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } PageUtils.CheckRequestParameter("siteId"); var specialId = AuthRequest.GetQueryInt("specialId"); var keyword = AuthRequest.GetQueryString("keyword"); if (IsPostBack) { return; } VerifySitePermissions(ConfigManager.WebSitePermissions.Template); TbKeyword.Text = keyword; if (specialId > 0) { if (!string.IsNullOrEmpty(Request.QueryString["delete"])) { var specialInfo = SpecialManager.DeleteSpecialInfo(SiteId, specialId); AuthRequest.AddSiteLog(SiteId, "删除专题", $"专题名称:{specialInfo.Title}"); SuccessDeleteMessage(); } else if (!string.IsNullOrEmpty(Request.QueryString["download"])) { var specialInfo = SpecialManager.GetSpecialInfo(SiteId, specialId); var directoryPath = SpecialManager.GetSpecialDirectoryPath(SiteInfo, specialInfo.Url); var zipFilePath = SpecialManager.GetSpecialZipFilePath(directoryPath); PageUtils.Download(Response, zipFilePath, $"{specialInfo.Title}.zip"); return; } } RptContents.DataSource = string.IsNullOrEmpty(keyword) ? DataProvider.SpecialDao.GetSpecialInfoList(SiteId) : DataProvider.SpecialDao.GetSpecialInfoList(SiteId, keyword); RptContents.ItemDataBound += RptContents_ItemDataBound; RptContents.DataBind(); BtnAdd.Attributes.Add("onclick", ModalSpecialAdd.GetOpenWindowString(SiteId)); }
public IHttpActionResult GetConfig() { try { var request = new AuthenticatedRequest(); var siteId = request.GetQueryInt("siteId"); var specialId = request.GetQueryInt("specialId"); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSitePermissions(siteId, ConfigManager.SitePermissions.Specials)) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); var specialInfo = SpecialManager.GetSpecialInfo(siteId, specialId); if (specialInfo == null) { return(BadRequest("专题不存在!")); } var specialUrl = PageUtility.ParseNavigationUrl(siteInfo, $"@/{StringUtils.TrimSlash(specialInfo.Url)}/", true); var filePath = PathUtils.Combine(SpecialManager.GetSpecialDirectoryPath(siteInfo, specialInfo.Url), "index.html"); var html = FileUtils.ReadText(filePath, Encoding.UTF8); return(Ok(new { Value = specialInfo, SpecialUrl = specialUrl, Html = html })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } PageUtils.CheckRequestParameter("siteId"); var specialId = AuthRequest.GetQueryInt("specialId"); _specialInfo = SpecialManager.GetSpecialInfo(SiteId, specialId); if (IsPostBack) { return; } VerifySitePermissions(ConfigManager.WebSitePermissions.Template); LtlTitle.Text = _specialInfo.Title; }
public IHttpActionResult Download() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var specialId = request.GetPostInt("specialId"); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSitePermissions(siteId, ConfigManager.SitePermissions.Specials)) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); var specialInfo = SpecialManager.GetSpecialInfo(siteId, specialId); var directoryPath = SpecialManager.GetSpecialDirectoryPath(siteInfo, specialInfo.Url); var srcDirectoryPath = SpecialManager.GetSpecialSrcDirectoryPath(directoryPath); var zipFilePath = SpecialManager.GetSpecialZipFilePath(specialInfo.Title, directoryPath); FileUtils.DeleteFileIfExists(zipFilePath); ZipUtils.CreateZip(zipFilePath, srcDirectoryPath); var url = SpecialManager.GetSpecialZipFileUrl(siteInfo, specialInfo); return(Ok(new { Value = url })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var guid = request.GetPostString("guid"); var specialId = request.GetPostInt("specialId"); var isEditOnly = request.GetPostBool("isEditOnly"); var isUploadOnly = request.GetPostBool("isUploadOnly"); var title = request.GetPostString("title"); var url = request.GetPostString("url"); var fileNames = TranslateUtils.StringCollectionToStringList(request.GetPostString("fileNames")); var siteInfo = SiteManager.GetSiteInfo(siteId); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSitePermissions(siteId, ConfigManager.SitePermissions.Specials)) { return(Unauthorized()); } if (specialId > 0 && isEditOnly) { var specialInfo = SpecialManager.GetSpecialInfo(siteId, specialId); var oldDirectoryPath = string.Empty; var newDirectoryPath = string.Empty; if (specialInfo.Title != title && DataProvider.SpecialDao.IsTitleExists(siteId, title)) { return(BadRequest("专题修改失败,专题名称已存在!")); } if (specialInfo.Url != url) { if (DataProvider.SpecialDao.IsUrlExists(siteId, url)) { return(BadRequest("专题修改失败,专题访问地址已存在!")); } oldDirectoryPath = SpecialManager.GetSpecialDirectoryPath(siteInfo, specialInfo.Url); newDirectoryPath = SpecialManager.GetSpecialDirectoryPath(siteInfo, url); } specialInfo.Title = title; specialInfo.Url = url; DataProvider.SpecialDao.Update(specialInfo); if (oldDirectoryPath != newDirectoryPath) { DirectoryUtils.MoveDirectory(oldDirectoryPath, newDirectoryPath, true); } } else if (specialId > 0 && isUploadOnly) { var specialInfo = SpecialManager.GetSpecialInfo(siteId, specialId); var directoryPath = SpecialManager.GetSpecialDirectoryPath(siteInfo, specialInfo.Url); var srcDirectoryPath = SpecialManager.GetSpecialSrcDirectoryPath(directoryPath); DirectoryUtils.CreateDirectoryIfNotExists(srcDirectoryPath); var uploadDirectoryPath = PathUtils.GetTemporaryFilesPath(guid); foreach (var filePath in DirectoryUtils.GetFilePaths(uploadDirectoryPath)) { var fileName = PathUtils.GetFileName(filePath); if (!StringUtils.ContainsIgnoreCase(fileNames, fileName)) { continue; } if (EFileSystemTypeUtils.IsZip(PathUtils.GetExtension(filePath))) { ZipUtils.ExtractZip(filePath, srcDirectoryPath); } else { FileUtils.MoveFile(filePath, PathUtils.Combine(srcDirectoryPath, fileName), true); } } DirectoryUtils.Copy(srcDirectoryPath, directoryPath); } else if (specialId == 0) { if (DataProvider.SpecialDao.IsTitleExists(siteId, title)) { return(BadRequest("专题添加失败,专题名称已存在!")); } if (DataProvider.SpecialDao.IsUrlExists(siteId, url)) { return(BadRequest("专题添加失败,专题访问地址已存在!")); } var directoryPath = SpecialManager.GetSpecialDirectoryPath(siteInfo, url); var srcDirectoryPath = SpecialManager.GetSpecialSrcDirectoryPath(directoryPath); DirectoryUtils.CreateDirectoryIfNotExists(srcDirectoryPath); var uploadDirectoryPath = PathUtils.GetTemporaryFilesPath(guid); foreach (var filePath in DirectoryUtils.GetFilePaths(uploadDirectoryPath)) { var fileName = PathUtils.GetFileName(filePath); if (!StringUtils.ContainsIgnoreCase(fileNames, fileName)) { continue; } if (EFileSystemTypeUtils.IsZip(PathUtils.GetExtension(filePath))) { ZipUtils.ExtractZip(filePath, srcDirectoryPath); } else { FileUtils.MoveFile(filePath, PathUtils.Combine(srcDirectoryPath, fileName), true); } } DirectoryUtils.Copy(srcDirectoryPath, directoryPath); specialId = DataProvider.SpecialDao.Insert(new SpecialInfo { Id = 0, SiteId = siteId, Title = title, Url = url, AddDate = DateTime.Now }); request.AddSiteLog(siteId, "新建专题", $"专题名称:{title}"); } CreateManager.CreateSpecial(siteId, specialId); return(Ok(new { Value = specialId })); } catch (Exception ex) { return(InternalServerError(ex)); } }