public IHttpActionResult Get() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin) { return(Unauthorized()); } var tableName = request.GetQueryString("tableName"); var attributeName = request.GetQueryString("attributeName"); var relatedIdentities = TranslateUtils.StringCollectionToIntList(request.GetQueryString("relatedIdentities")); var styleInfo = TableStyleManager.GetTableStyleInfo(tableName, attributeName, relatedIdentities); var veeValidate = string.Empty; if (styleInfo != null) { veeValidate = styleInfo.Additional.VeeValidate; } return(Ok(new { Value = veeValidate })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult GetConfig() { try { var request = new AuthenticatedRequest(); var siteId = request.GetQueryInt("siteId"); var channelId = request.GetQueryInt("channelId"); var channelContentIds = MinContentInfo.ParseMinContentInfoList(request.GetQueryString("channelContentIds")); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ContentDelete)) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); if (channelInfo == null) { return(BadRequest("无法确定内容对应的栏目")); } var retVal = new List <Dictionary <string, object> >(); foreach (var channelContentId in channelContentIds) { var contentChannelInfo = ChannelManager.GetChannelInfo(siteId, channelContentId.ChannelId); var contentInfo = ContentManager.GetContentInfo(siteInfo, contentChannelInfo, channelContentId.Id); if (contentInfo == null) { continue; } var dict = contentInfo.ToDictionary(); dict["title"] = WebUtils.GetContentTitle(siteInfo, contentInfo, string.Empty); dict["checkState"] = CheckManager.GetCheckState(siteInfo, contentInfo); retVal.Add(dict); } return(Ok(new { Value = retVal })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public ApiContentsParameters(AuthenticatedRequest request) { ChannelIds = TranslateUtils.StringCollectionToIntList(request.GetQueryString("channelIds")); ChannelGroup = StringUtils.Trim(AttackUtils.FilterSql(request.GetQueryString("channelGroup"))); ContentGroup = StringUtils.Trim(AttackUtils.FilterSql(request.GetQueryString("contentGroup"))); Tag = StringUtils.Trim(AttackUtils.FilterSql(request.GetQueryString("tag"))); Top = request.GetQueryInt("top", 20); Skip = request.GetQueryInt("skip"); Likes = TranslateUtils.StringCollectionToStringList(StringUtils.Trim(AttackUtils.FilterSql(request.GetQueryString("like")))); OrderBy = StringUtils.Trim(AttackUtils.FilterSql(request.GetQueryString("orderBy"))); QueryString = new NameValueCollection(request.QueryString); QueryString.Remove("siteId"); QueryString.Remove("channelIds"); QueryString.Remove("channelGroup"); QueryString.Remove("contentGroup"); QueryString.Remove("tag"); QueryString.Remove("top"); QueryString.Remove("skip"); QueryString.Remove("like"); QueryString.Remove("orderBy"); }
public void Main(int siteId) { var request = new AuthenticatedRequest(); var callback = request.GetQueryString("callback"); var relatedFieldId = request.GetQueryInt("relatedFieldId"); var parentId = request.GetQueryInt("parentId"); var jsonString = GetRelatedField(relatedFieldId, parentId); var call = callback + "(" + jsonString + ")"; HttpContext.Current.Response.Write(call); HttpContext.Current.Response.End(); }
public IHttpActionResult GetConfig() { try { var request = new AuthenticatedRequest(); var pageName = request.GetQueryString("pageName"); if (pageName == PageNameRegister) { return(Ok(GetRegister(request))); } if (pageName == PageNameIndex) { return(Ok(GetIndex(request))); } if (pageName == PageNameProfile) { return(Ok(GetProfile(request))); } if (pageName == PageNameContents) { return(Ok(GetContents(request))); } if (pageName == PageNameContentAdd) { return(Ok(GetContentAdd(request))); } return(Ok(new { Value = request.UserInfo, Config = ConfigManager.Instance.SystemConfigInfo })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public void Main() { try { var request = new AuthenticatedRequest(); if (!string.IsNullOrEmpty(request.GetQueryString("siteId")) && !string.IsNullOrEmpty(request.GetQueryString("fileUrl")) && string.IsNullOrEmpty(request.GetQueryString("contentId"))) { var siteId = request.GetQueryInt("siteId"); var fileUrl = TranslateUtils.DecryptStringBySecretKey(request.GetQueryString("fileUrl")); if (PageUtils.IsProtocolUrl(fileUrl)) { PageUtils.Redirect(fileUrl); return; } var siteInfo = SiteManager.GetSiteInfo(siteId); var filePath = PathUtility.MapPath(siteInfo, fileUrl); var fileType = EFileSystemTypeUtils.GetEnumType(PathUtils.GetExtension(filePath)); if (EFileSystemTypeUtils.IsDownload(fileType)) { if (FileUtils.IsFileExists(filePath)) { PageUtils.Download(HttpContext.Current.Response, filePath); return; } } else { PageUtils.Redirect(PageUtility.ParseNavigationUrl(siteInfo, fileUrl, false)); return; } } else if (!string.IsNullOrEmpty(request.GetQueryString("filePath"))) { var filePath = TranslateUtils.DecryptStringBySecretKey(request.GetQueryString("filePath")); var fileType = EFileSystemTypeUtils.GetEnumType(PathUtils.GetExtension(filePath)); if (EFileSystemTypeUtils.IsDownload(fileType)) { if (FileUtils.IsFileExists(filePath)) { PageUtils.Download(HttpContext.Current.Response, filePath); return; } } else { var fileUrl = PageUtils.GetRootUrlByPhysicalPath(filePath); PageUtils.Redirect(PageUtils.ParseNavigationUrl(fileUrl)); return; } } else if (!string.IsNullOrEmpty(request.GetQueryString("siteId")) && !string.IsNullOrEmpty(request.GetQueryString("channelId")) && !string.IsNullOrEmpty(request.GetQueryString("contentId")) && !string.IsNullOrEmpty(request.GetQueryString("fileUrl"))) { var siteId = request.GetQueryInt("siteId"); var channelId = request.GetQueryInt("channelId"); var contentId = request.GetQueryInt("contentId"); var fileUrl = TranslateUtils.DecryptStringBySecretKey(request.GetQueryString("fileUrl")); var siteInfo = SiteManager.GetSiteInfo(siteId); var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); var contentInfo = ContentManager.GetContentInfo(siteInfo, channelInfo, contentId); DataProvider.ContentDao.AddDownloads(siteId, ChannelManager.GetTableName(siteInfo, channelInfo), channelId, contentId); if (!string.IsNullOrEmpty(contentInfo?.GetString(BackgroundContentAttribute.FileUrl))) { if (PageUtils.IsProtocolUrl(fileUrl)) { PageUtils.Redirect(fileUrl); return; } var filePath = PathUtility.MapPath(siteInfo, fileUrl, true); var fileType = EFileSystemTypeUtils.GetEnumType(PathUtils.GetExtension(filePath)); if (EFileSystemTypeUtils.IsDownload(fileType)) { if (FileUtils.IsFileExists(filePath)) { PageUtils.Download(HttpContext.Current.Response, filePath); return; } } else { PageUtils.Redirect(PageUtility.ParseNavigationUrl(siteInfo, fileUrl, false)); return; } } } } catch { // ignored } HttpContext.Current.Response.Write("下载失败,不存在此文件!"); }
public IHttpActionResult GetConfig() { try { var request = new AuthenticatedRequest(); var siteId = request.GetQueryInt("siteId"); var channelId = request.GetQueryInt("channelId"); var contentIdList = TranslateUtils.StringCollectionToIntList(request.GetQueryString("contentIds")); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ContentTranslate)) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); if (channelInfo == null) { return(BadRequest("无法确定内容对应的栏目")); } var retval = new List <Dictionary <string, object> >(); foreach (var contentId in contentIdList) { var contentInfo = ContentManager.GetContentInfo(siteInfo, channelInfo, contentId); if (contentInfo == null) { continue; } var dict = contentInfo.ToDictionary(); dict["checkState"] = CheckManager.GetCheckState(siteInfo, contentInfo); retval.Add(dict); } var sites = new List <object>(); var channels = new List <object>(); var siteIdList = request.AdminPermissions.GetSiteIdList(); foreach (var permissionSiteId in siteIdList) { var permissionSiteInfo = SiteManager.GetSiteInfo(permissionSiteId); sites.Add(new { permissionSiteInfo.Id, permissionSiteInfo.SiteName }); } var channelIdList = request.AdminPermissions.GetChannelIdList(siteInfo.Id, ConfigManager.ChannelPermissions.ContentAdd); foreach (var permissionChannelId in channelIdList) { var permissionChannelInfo = ChannelManager.GetChannelInfo(siteInfo.Id, permissionChannelId); channels.Add(new { permissionChannelInfo.Id, ChannelName = ChannelManager.GetChannelNameNavigation(siteInfo.Id, permissionChannelId) }); } return(Ok(new { Value = retval, Sites = sites, Channels = channels, Site = siteInfo })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public async Task Main() { var request = new AuthenticatedRequest(); var siteId = request.GetQueryInt("siteId"); var siteInfo = SiteManager.GetSiteInfo(siteId); try { var channelId = request.GetQueryInt("channelId"); if (channelId == 0) { channelId = siteId; } var contentId = request.GetQueryInt("contentId"); var fileTemplateId = request.GetQueryInt("fileTemplateId"); var specialId = request.GetQueryInt("specialId"); var isRedirect = TranslateUtils.ToBool(request.GetQueryString("isRedirect")); if (specialId != 0) { await FileSystemObjectAsync.ExecuteAsync(siteId, ECreateType.Special, 0, 0, 0, specialId); } else if (fileTemplateId != 0) { await FileSystemObjectAsync.ExecuteAsync(siteId, ECreateType.File, 0, 0, fileTemplateId, 0); } else if (contentId != 0) { await FileSystemObjectAsync.ExecuteAsync(siteId, ECreateType.Content, channelId, contentId, 0, 0); } else if (channelId != 0) { await FileSystemObjectAsync.ExecuteAsync(siteId, ECreateType.Channel, channelId, 0, 0, 0); } else if (siteId != 0) { await FileSystemObjectAsync.ExecuteAsync(siteId, ECreateType.Channel, siteId, 0, 0, 0); } if (isRedirect) { var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); var redirectUrl = string.Empty; if (specialId != 0) { redirectUrl = PageUtility.GetFileUrl(siteInfo, specialId, false); } else if (fileTemplateId != 0) { redirectUrl = PageUtility.GetFileUrl(siteInfo, fileTemplateId, false); } else if (contentId != 0) { var contentInfo = ContentManager.GetContentInfo(siteInfo, channelInfo, contentId); redirectUrl = PageUtility.GetContentUrl(siteInfo, contentInfo, false); } else if (channelId != 0) { redirectUrl = PageUtility.GetChannelUrl(siteInfo, channelInfo, false); } else if (siteId != 0) { redirectUrl = PageUtility.GetIndexPageUrl(siteInfo, false); } if (!string.IsNullOrEmpty(redirectUrl)) { var parameters = new NameValueCollection(); var returnUrl = request.GetQueryString("returnUrl"); if (!string.IsNullOrEmpty(returnUrl) && returnUrl.StartsWith("?")) { parameters = TranslateUtils.ToNameValueCollection(returnUrl.Substring(1)); } parameters["__r"] = StringUtils.GetRandomInt(1, 10000).ToString(); PageUtils.Redirect(PageUtils.AddQueryString(redirectUrl, parameters)); return; } } } catch { var redirectUrl = PageUtility.GetIndexPageUrl(siteInfo, false); PageUtils.Redirect(redirectUrl); return; } HttpContext.Current.Response.Write(string.Empty); HttpContext.Current.Response.End(); }
public IHttpActionResult GetConfig() { try { var request = new AuthenticatedRequest(); var siteId = request.GetQueryInt("siteId"); var channelId = request.GetQueryInt("channelId"); var contentIdList = TranslateUtils.StringCollectionToIntList(request.GetQueryString("contentIds")); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ContentCheck)) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); if (channelInfo == null) { return(BadRequest("无法确定内容对应的栏目")); } var retval = new List <Dictionary <string, object> >(); foreach (var contentId in contentIdList) { var contentInfo = ContentManager.GetContentInfo(siteInfo, channelInfo, contentId); if (contentInfo == null) { continue; } var dict = contentInfo.ToDictionary(); dict["title"] = WebUtils.GetContentTitle(siteInfo, contentInfo, string.Empty); dict["checkState"] = CheckManager.GetCheckState(siteInfo, contentInfo); retval.Add(dict); } var isChecked = CheckManager.GetUserCheckLevel(request.AdminPermissionsImpl, siteInfo, siteId, out var checkedLevel); var checkedLevels = CheckManager.GetCheckedLevels(siteInfo, isChecked, checkedLevel, true); var allChannels = ChannelManager.GetChannels(siteId, request.AdminPermissionsImpl, ConfigManager.ChannelPermissions.ContentAdd); return(Ok(new { Value = retval, CheckedLevels = checkedLevels, CheckedLevel = checkedLevel, AllChannels = allChannels })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Upload() { try { var request = new AuthenticatedRequest(); var siteId = request.GetQueryInt("siteId"); var guid = request.GetQueryString("guid"); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSitePermissions(siteId, ConfigManager.SitePermissions.Specials)) { return(Unauthorized()); } var fileName = request.HttpRequest["fileName"]; var fileCount = request.HttpRequest.Files.Count; string filePath = null; if (fileCount > 0) { var file = request.HttpRequest.Files[0]; if (string.IsNullOrEmpty(fileName)) { fileName = Path.GetFileName(file.FileName); } filePath = PathUtils.GetTemporaryFilesPath($"{guid}/{fileName}"); DirectoryUtils.CreateDirectoryIfNotExists(filePath); file.SaveAs(filePath); } FileInfo fileInfo = null; if (!string.IsNullOrEmpty(filePath)) { fileInfo = new FileInfo(filePath); } if (fileInfo != null) { return(Ok(new { fileName, length = fileInfo.Length, ret = 1 })); } return(Ok(new { ret = 0 })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult GetChannelContents(int siteId, int channelId) { try { var request = new AuthenticatedRequest(); var sourceId = request.GetPostInt(ContentAttribute.SourceId.ToCamelCase()); bool isAuth; if (sourceId == SourceManager.User) { isAuth = request.IsUserLoggin && request.UserPermissions.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ContentView); } else { isAuth = request.IsApiAuthenticated && AccessTokenManager.IsScope(request.ApiToken, AccessTokenManager.ScopeContents) || request.IsUserLoggin && request.UserPermissions.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ContentView) || request.IsAdminLoggin && request.AdminPermissions.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ContentView); } if (!isAuth) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); if (channelInfo == null) { return(BadRequest("无法确定内容对应的栏目")); } if (!request.AdminPermissionsImpl.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ContentView)) { return(Unauthorized()); } var tableName = ChannelManager.GetTableName(siteInfo, channelInfo); var top = request.GetQueryInt("top", 20); var skip = request.GetQueryInt("skip"); var like = request.GetQueryString("like"); var orderBy = request.GetQueryString("orderBy"); var list = DataProvider.ContentDao.ApiGetContentIdListByChannelId(tableName, siteId, channelId, top, skip, like, orderBy, request.QueryString, out var count); var value = new List <Dictionary <string, object> >(); foreach (var(contentChannelId, contentId) in list) { var contentInfo = ContentManager.GetContentInfo(siteInfo, contentChannelId, contentId); if (contentInfo != null) { value.Add(contentInfo.ToDictionary()); } } return(Ok(new PageResponse(value, top, skip, request.HttpRequest.Url.AbsoluteUri) { Count = count })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult GetConfig() { try { var request = new AuthenticatedRequest(); var siteId = request.GetQueryInt("siteId"); var channelId = request.GetQueryInt("channelId"); var contentIdList = TranslateUtils.StringCollectionToIntList(request.GetQueryString("contentIds")); var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); if (channelInfo == null) { return(BadRequest("无法确定内容对应的栏目")); } var sites = new List <object>(); var channels = new List <object>(); if (channelInfo.Additional.TransType == ECrossSiteTransType.SelfSite || channelInfo.Additional.TransType == ECrossSiteTransType.SpecifiedSite || channelInfo.Additional.TransType == ECrossSiteTransType.ParentSite) { int theSiteId; if (channelInfo.Additional.TransType == ECrossSiteTransType.SelfSite) { theSiteId = siteInfo.Id; } else if (channelInfo.Additional.TransType == ECrossSiteTransType.SpecifiedSite) { theSiteId = channelInfo.Additional.TransSiteId; } else { theSiteId = SiteManager.GetParentSiteId(siteInfo.Id); } if (theSiteId > 0) { var theSiteInfo = SiteManager.GetSiteInfo(theSiteId); if (theSiteInfo != null) { sites.Add(new { theSiteInfo.Id, theSiteInfo.SiteName }); } } } else if (channelInfo.Additional.TransType == ECrossSiteTransType.AllParentSite) { var siteIdList = SiteManager.GetSiteIdList(); var allParentSiteIdList = new List <int>(); SiteManager.GetAllParentSiteIdList(allParentSiteIdList, siteIdList, siteInfo.Id); foreach (var psId in siteIdList) { if (psId == siteInfo.Id) { continue; } var psInfo = SiteManager.GetSiteInfo(psId); var show = psInfo.IsRoot || allParentSiteIdList.Contains(psInfo.Id); if (show) { sites.Add(new { psInfo.Id, psInfo.SiteName }); } } } else if (channelInfo.Additional.TransType == ECrossSiteTransType.AllSite) { var siteIdList = SiteManager.GetSiteIdList(); foreach (var psId in siteIdList) { var psInfo = SiteManager.GetSiteInfo(psId); sites.Add(new { psInfo.Id, psInfo.SiteName }); } } var retval = new List <Dictionary <string, object> >(); foreach (var contentId in contentIdList) { var contentInfo = ContentManager.GetContentInfo(siteInfo, channelInfo, contentId); if (contentInfo == null) { continue; } var dict = contentInfo.ToDictionary(); dict["checkState"] = CheckManager.GetCheckState(siteInfo, contentInfo); retval.Add(dict); } var channelIdList = ChannelManager.GetChannelIdList(siteInfo.Id); foreach (var permissionChannelId in channelIdList) { var permissionChannelInfo = ChannelManager.GetChannelInfo(siteInfo.Id, permissionChannelId); channels.Add(new { permissionChannelInfo.Id, ChannelName = ChannelManager.GetChannelNameNavigation(siteInfo.Id, permissionChannelId) }); } return(Ok(new { Value = retval, Sites = sites, Channels = channels, Site = siteInfo })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult GetConfig() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.SettingsPermissions.Admin)) { return(Unauthorized()); } var roles = new List <KeyValuePair <string, string> >(); var roleNameList = request.AdminPermissionsImpl.IsConsoleAdministrator ? DataProvider.RoleDao.GetRoleNameList() : DataProvider.RoleDao.GetRoleNameListByCreatorUserName(request.AdminName); var predefinedRoles = EPredefinedRoleUtils.GetAllPredefinedRoleName(); foreach (var predefinedRole in predefinedRoles) { roles.Add(new KeyValuePair <string, string>(predefinedRole, EPredefinedRoleUtils.GetText(EPredefinedRoleUtils.GetEnumType(predefinedRole)))); } foreach (var roleName in roleNameList) { if (!predefinedRoles.Contains(roleName)) { roles.Add(new KeyValuePair <string, string>(roleName, roleName)); } } var role = request.GetQueryString("role"); var order = request.GetQueryString("order"); var lastActivityDate = request.GetQueryInt("lastActivityDate"); var keyword = request.GetQueryString("keyword"); var offset = request.GetQueryInt("offset"); var limit = request.GetQueryInt("limit"); var isSuperAdmin = request.AdminPermissions.IsSuperAdmin(); var creatorUserName = isSuperAdmin ? string.Empty : request.AdminName; var count = DataProvider.AdministratorDao.GetCount(creatorUserName, role, order, lastActivityDate, keyword); var administratorInfoList = DataProvider.AdministratorDao.GetAdministrators(creatorUserName, role, order, lastActivityDate, keyword, offset, limit); var administrators = new List <object>(); foreach (var administratorInfo in administratorInfoList) { administrators.Add(new { administratorInfo.Id, administratorInfo.AvatarUrl, administratorInfo.UserName, DisplayName = string.IsNullOrEmpty(administratorInfo.DisplayName) ? administratorInfo.UserName : administratorInfo.DisplayName, administratorInfo.Mobile, administratorInfo.LastActivityDate, administratorInfo.CountOfLogin, administratorInfo.Locked, Roles = AdminManager.GetRoles(administratorInfo.UserName) }); } return(Ok(new { Value = administrators, Count = count, Roles = roles, IsSuperAdmin = request.AdminPermissions.IsSuperAdmin(), request.AdminId })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Get() { try { var request = new AuthenticatedRequest(); var siteId = request.GetQueryInt("siteId"); var channelId = request.GetQueryInt("channelId"); var page = request.GetQueryInt("page"); var type = request.GetQueryString("type"); var keyword = request.GetQueryString("keyword"); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ContentView, ConfigManager.ChannelPermissions.ContentAdd, ConfigManager.ChannelPermissions.ContentEdit, ConfigManager.ChannelPermissions.ContentDelete, ConfigManager.ChannelPermissions.ContentTranslate, ConfigManager.ChannelPermissions.ContentArrange, ConfigManager.ChannelPermissions.ContentCheck, ConfigManager.ChannelPermissions.ContentCheckLevel1, ConfigManager.ChannelPermissions.ContentCheckLevel2, ConfigManager.ChannelPermissions.ContentCheckLevel3, ConfigManager.ChannelPermissions.ContentCheckLevel4, ConfigManager.ChannelPermissions.ContentCheckLevel5)) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); if (channelInfo == null) { return(BadRequest("无法确定内容对应的栏目")); } var adminId = channelInfo.Additional.IsSelfOnly ? request.AdminId : request.AdminPermissionsImpl.GetAdminId(siteId, channelId); var isAllContents = channelInfo.Additional.IsAllContents; var pluginIds = PluginContentManager.GetContentPluginIds(channelInfo); var pluginColumns = PluginContentManager.GetContentColumns(pluginIds); var columns = ContentManager.GetContentColumns(siteInfo, channelInfo, false); var pageContentInfoList = new List <ContentInfo>(); //var ccIds = DataProvider.ContentDao.GetCacheChannelContentIdList(siteInfo, channelInfo, adminId, isAllContents, type, keyword); var ccIds = ContentManager.GetChannelContentIdList(siteInfo, channelInfo, adminId, isAllContents); var count = ccIds.Count; var pages = Convert.ToInt32(Math.Ceiling((double)count / siteInfo.Additional.PageSize)); if (pages == 0) { pages = 1; } if (count > 0) { var offset = siteInfo.Additional.PageSize * (page - 1); var limit = siteInfo.Additional.PageSize; var pageCcIds = ccIds.Skip(offset).Take(limit).ToList(); var sequence = offset + 1; foreach (var(contentChannelId, contentId) in pageCcIds) { var contentInfo = ContentManager.GetContentInfo(siteInfo, contentChannelId, contentId); if (contentInfo == null) { continue; } var menus = PluginMenuManager.GetContentMenus(pluginIds, contentInfo); contentInfo.Set("PluginMenus", menus); var channelName = ChannelManager.GetChannelNameNavigation(siteId, channelId, contentChannelId); contentInfo.Set("ChannelName", channelName); pageContentInfoList.Add(ContentManager.Calculate(sequence++, contentInfo, columns, pluginColumns)); } } var permissions = new { IsAdd = request.AdminPermissionsImpl.HasChannelPermissions(siteInfo.Id, channelInfo.Id, ConfigManager.ChannelPermissions.ContentAdd) && channelInfo.Additional.IsContentAddable, IsDelete = request.AdminPermissionsImpl.HasChannelPermissions(siteInfo.Id, channelInfo.Id, ConfigManager.ChannelPermissions.ContentDelete), IsEdit = request.AdminPermissionsImpl.HasChannelPermissions(siteInfo.Id, channelInfo.Id, ConfigManager.ChannelPermissions.ContentEdit), IsTranslate = request.AdminPermissionsImpl.HasChannelPermissions(siteInfo.Id, channelInfo.Id, ConfigManager.ChannelPermissions.ContentTranslate), IsArrange = request.AdminPermissionsImpl.HasChannelPermissions(siteInfo.Id, channelInfo.Id, ConfigManager.ChannelPermissions.ContentArrange), IsCheck = request.AdminPermissionsImpl.HasChannelPermissions(siteInfo.Id, channelInfo.Id, ConfigManager.ChannelPermissions.ContentCheck), IsCreate = request.AdminPermissionsImpl.HasSitePermissions(siteInfo.Id, ConfigManager.SitePermissions.CreateContents) || request.AdminPermissionsImpl.HasChannelPermissions(siteInfo.Id, channelInfo.Id, ConfigManager.ChannelPermissions.CreatePage), IsChannelEdit = request.AdminPermissionsImpl.HasChannelPermissions(siteInfo.Id, channelInfo.Id, ConfigManager.ChannelPermissions.ChannelEdit) }; return(Ok(new { Value = pageContentInfoList, Count = count, Pages = pages, Permissions = permissions, Columns = columns, IsAllContents = isAllContents })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public StlRequest() { Request = new AuthenticatedRequest(); IsApiAuthorized = Request.IsApiAuthenticated && AccessTokenManager.IsScope(Request.ApiToken, AccessTokenManager.ScopeStl); if (!IsApiAuthorized) { return; } var siteId = Request.GetQueryInt("siteId"); var siteDir = Request.GetQueryString("siteDir"); var channelId = Request.GetQueryInt("channelId"); var contentId = Request.GetQueryInt("contentId"); if (siteId > 0) { SiteInfo = SiteManager.GetSiteInfo(siteId); } else if (!string.IsNullOrEmpty(siteDir)) { SiteInfo = SiteManager.GetSiteInfoByDirectory(siteDir); } else { SiteInfo = SiteManager.GetSiteInfoByIsRoot(); if (SiteInfo == null) { var siteInfoList = SiteManager.GetSiteInfoList(); if (siteInfoList != null && siteInfoList.Count > 0) { SiteInfo = siteInfoList[0]; } } } if (SiteInfo == null) { return; } if (channelId == 0) { channelId = SiteInfo.Id; } var templateInfo = new TemplateInfo(0, SiteInfo.Id, string.Empty, TemplateType.IndexPageTemplate, string.Empty, string.Empty, string.Empty, ECharset.utf_8, true); PageInfo = new PageInfo(channelId, contentId, SiteInfo, templateInfo, new Dictionary <string, object>()) { UniqueId = 1000, UserInfo = Request.UserInfo }; var attributes = TranslateUtils.NewIgnoreCaseNameValueCollection(); foreach (var key in Request.QueryString.AllKeys) { attributes[key] = Request.QueryString[key]; } ContextInfo = new ContextInfo(PageInfo) { IsStlEntity = true, Attributes = attributes, InnerHtml = string.Empty }; }
public IHttpActionResult Get() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin) { return(Unauthorized()); } var tableName = request.GetQueryString("tableName"); var attributeName = request.GetQueryString("attributeName"); var relatedIdentities = TranslateUtils.StringCollectionToIntList(request.GetQueryString("relatedIdentities")); var styleInfo = TableStyleManager.GetTableStyleInfo(tableName, attributeName, relatedIdentities) ?? new TableStyleInfo { InputType = InputType.Text }; if (styleInfo.StyleItems == null) { styleInfo.StyleItems = new List <TableStyleItemInfo>(); } var isRapid = true; var rapidValues = string.Empty; if (styleInfo.StyleItems.Count == 0) { styleInfo.StyleItems.Add(new TableStyleItemInfo { ItemTitle = string.Empty, ItemValue = string.Empty, IsSelected = false }); } else { var isSelected = false; var isNotEquals = false; var list = new List <string>(); foreach (var item in styleInfo.StyleItems) { list.Add(item.ItemValue); if (item.IsSelected) { isSelected = true; } if (item.ItemValue != item.ItemTitle) { isNotEquals = true; } } isRapid = !isSelected && !isNotEquals; rapidValues = string.Join(",", list); } return(Ok(new { Value = styleInfo, InputTypes = InputTypeUtils.GetInputTypes(tableName), IsRapid = isRapid, RapidValues = rapidValues })); } catch (Exception ex) { return(InternalServerError(ex)); } }