public IHttpActionResult Main() { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin) { return(Unauthorized()); } var packageId = request.GetPostString("packageId"); var version = request.GetPostString("version"); try { PackageUtils.DownloadPackage(packageId, version); } catch { PackageUtils.DownloadPackage(packageId, version); } if (StringUtils.EqualsIgnoreCase(packageId, PackageUtils.PackageIdSsCms)) { CacheDbUtils.RemoveAndInsert(PackageUtils.CacheKeySsCmsIsDownload, true.ToString()); } return(Ok()); }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.AppPermissions.SettingsConfigAdmin)) { return(Unauthorized()); } ConfigManager.SystemConfigInfo.AdminTitle = request.GetPostString("adminTitle"); ConfigManager.SystemConfigInfo.AdminLogoUrl = request.GetPostString("adminLogoUrl"); ConfigManager.SystemConfigInfo.AdminWelcomeHtml = request.GetPostString("adminWelcomeHtml"); DataProvider.ConfigDao.Update(ConfigManager.Instance); request.AddAdminLog("修改管理后台设置"); return(Ok(new { Value = ConfigManager.SystemConfigInfo })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Login() { try { var request = new AuthenticatedRequest(); var account = request.GetPostString("account"); var password = request.GetPostString("password"); var isAutoLogin = request.GetPostBool("isAutoLogin"); var userInfo = DataProvider.UserDao.Validate(account, password, true, out var _, out var errorMessage); if (userInfo == null) { return(BadRequest(errorMessage)); } var accessToken = request.UserLogin(userInfo.UserName, isAutoLogin); var expiresAt = DateTime.Now.AddDays(Constants.AccessTokenExpireDays); return(Ok(new { Value = userInfo, AccessToken = accessToken, ExpiresAt = expiresAt })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Download() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.PluginsPermissions.Add)) { return(Unauthorized()); } var packageId = request.GetPostString("packageId"); var version = request.GetPostString("version"); if (!StringUtils.EqualsIgnoreCase(packageId, PackageUtils.PackageIdSiteServerPlugin)) { try { PackageUtils.DownloadPackage(packageId, version); } catch { PackageUtils.DownloadPackage(packageId, version); } } return(Ok()); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Update() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.PluginsPermissions.Add)) { return(Unauthorized()); } var packageId = request.GetPostString("packageId"); var version = request.GetPostString("version"); var packageType = request.GetPostString("packageType"); if (!StringUtils.EqualsIgnoreCase(packageId, PackageUtils.PackageIdSiteServerPlugin)) { string errorMessage; var idWithVersion = $"{packageId}.{version}"; if (!PackageUtils.UpdatePackage(idWithVersion, PackageType.Parse(packageType), out errorMessage)) { return(BadRequest(errorMessage)); } } return(Ok()); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Main() { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin) { return(Unauthorized()); } var packageId = request.GetPostString("packageId"); var version = request.GetPostString("version"); var packageType = request.GetPostString("packageType"); if (StringUtils.EqualsIgnoreCase(packageId, PackageUtils.PackageIdSsCms)) { packageType = PackageType.SsCms.Value; } string errorMessage; var idWithVersion = $"{packageId}.{version}"; if (!PackageUtils.UpdatePackage(idWithVersion, PackageType.Parse(packageType), out errorMessage)) { return(BadRequest(errorMessage)); } return(Ok()); }
public IHttpActionResult Login() { try { var request = new AuthenticatedRequest(); var account = request.GetPostString("account"); var password = request.GetPostString("password"); var isAutoLogin = request.GetPostBool("isAutoLogin"); AdministratorInfo adminInfo; if (!DataProvider.AdministratorDao.Validate(account, password, true, out var userName, out var errorMessage)) { adminInfo = AdminManager.GetAdminInfoByUserName(userName); if (adminInfo != null) { DataProvider.AdministratorDao.UpdateLastActivityDateAndCountOfFailedLogin(adminInfo); // 记录最后登录时间、失败次数+1 } return(BadRequest(errorMessage)); } adminInfo = AdminManager.GetAdminInfoByUserName(userName); DataProvider.AdministratorDao.UpdateLastActivityDateAndCountOfLogin(adminInfo); // 记录最后登录时间、失败次数清零 var accessToken = request.AdminLogin(adminInfo.UserName, isAutoLogin); var expiresAt = DateTime.Now.AddDays(Constants.AccessTokenExpireDays); var isEnforcePasswordChange = false; if (ConfigManager.SystemConfigInfo.IsAdminEnforcePasswordChange) { if (adminInfo.LastChangePasswordDate == null) { isEnforcePasswordChange = true; } else { var ts = new TimeSpan(DateTime.Now.Ticks - adminInfo.LastChangePasswordDate.Value.Ticks); if (ts.TotalDays > ConfigManager.SystemConfigInfo.AdminEnforcePasswordChangeDays) { isEnforcePasswordChange = true; } } } return(Ok(new { Value = adminInfo, AccessToken = accessToken, ExpiresAt = expiresAt, IsEnforcePasswordChange = isEnforcePasswordChange })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var channelId = request.GetPostInt("channelId"); var contentIdList = TranslateUtils.StringCollectionToIntList(request.GetPostString("contentIds")); var targetSiteId = request.GetPostInt("targetSiteId"); var targetChannelId = request.GetPostInt("targetChannelId"); var copyType = request.GetPostString("copyType"); var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } var targetSiteInfo = SiteManager.GetSiteInfo(targetSiteId); if (targetSiteInfo == null) { return(BadRequest("无法确定转发对应的站点")); } var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); if (channelInfo == null) { return(BadRequest("无法确定内容对应的栏目")); } foreach (var contentId in contentIdList) { if (targetChannelId != 0) { CrossSiteTransUtility.TransContentInfo(siteInfo, channelInfo, contentId, targetSiteInfo, targetChannelId); } } //request.AddSiteLog(siteId, channelId, "批量跨站转发", string.Empty); request.AddSiteLog(siteId, channelId, "内容跨站转发", $"转发到站点:{targetSiteInfo.SiteName}"); CreateManager.TriggerContentChangedEvent(siteId, channelId); return(Ok(new { Value = contentIdList })); } catch (Exception ex) { LogUtils.AddErrorLog(ex, "批量跨站转发失败"); return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); var siteId = request.SiteId; if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSitePermissions(siteId, ConfigManager.SitePermissions.ConfigSite)) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); var siteName = request.GetPostString("siteName"); var charset = ECharsetUtils.GetEnumType(request.GetPostString("charset")); var pageSize = request.GetPostInt("pageSize", siteInfo.Additional.PageSize); var isCreateDoubleClick = request.GetPostBool("isCreateDoubleClick"); siteInfo.SiteName = siteName; siteInfo.Additional.Charset = ECharsetUtils.GetValue(charset); siteInfo.Additional.PageSize = pageSize; siteInfo.Additional.IsCreateDoubleClick = isCreateDoubleClick; //修改所有模板编码 var templateInfoList = DataProvider.TemplateDao.GetTemplateInfoListBySiteId(siteId); foreach (var templateInfo in templateInfoList) { if (templateInfo.Charset == charset) { continue; } var templateContent = TemplateManager.GetTemplateContent(siteInfo, templateInfo); templateInfo.Charset = charset; DataProvider.TemplateDao.Update(siteInfo, templateInfo, templateContent, request.AdminName); } DataProvider.SiteDao.Update(siteInfo); request.AddSiteLog(siteId, "修改站点设置"); return(Ok(new { Value = siteInfo, Config = siteInfo.Additional, })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var channelId = request.GetPostInt("channelId"); var channelContentIds = MinContentInfo.ParseMinContentInfoList(request.GetPostString("channelContentIds")); var targetSiteId = request.GetPostInt("targetSiteId"); var targetChannelId = request.GetPostInt("targetChannelId"); var copyType = request.GetPostString("copyType"); 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("无法确定内容对应的栏目")); } foreach (var channelContentId in channelContentIds) { ContentUtility.Translate(siteInfo, channelContentId.ChannelId, channelContentId.Id, targetSiteId, targetChannelId, ETranslateContentTypeUtils.GetEnumType(copyType)); } request.AddSiteLog(siteId, channelId, "复制内容", string.Empty); CreateManager.TriggerContentChangedEvent(siteId, channelId); return(Ok(new { Value = true })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin) { return(Unauthorized()); } var tableName = request.GetPostString("tableName"); var attributeName = request.GetPostString("attributeName"); var relatedIdentities = TranslateUtils.StringCollectionToIntList(request.GetPostString("relatedIdentities")); var isRapid = request.GetPostBool("isRapid"); var rapidValues = TranslateUtils.StringCollectionToStringList(request.GetPostString("rapidValues")); var body = request.GetPostObject <TableStyleInfo>("styleInfo"); var styleInfoDatabase = TableStyleManager.GetTableStyleInfo(tableName, attributeName, relatedIdentities) ?? new TableStyleInfo(); bool isSuccess; string errorMessage; //数据库中没有此项及父项的表样式 or 数据库中没有此项的表样式,但是有父项的表样式 if (styleInfoDatabase.Id == 0 && styleInfoDatabase.RelatedIdentity == 0 || styleInfoDatabase.RelatedIdentity != relatedIdentities[0]) { isSuccess = InsertTableStyleInfo(tableName, relatedIdentities, body, isRapid, rapidValues, out errorMessage); request.AddAdminLog("添加表单显示样式", $"字段名:{body.AttributeName}"); } //数据库中有此项的表样式 else { isSuccess = UpdateTableStyleInfo(styleInfoDatabase, body, isRapid, rapidValues, out errorMessage); request.AddAdminLog("修改表单显示样式", $"字段名:{body.AttributeName}"); } if (!isSuccess) { return(BadRequest(errorMessage)); } return(Ok(new{})); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Main() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var pageChannelId = request.GetPostInt("pageChannelId"); if (pageChannelId == 0) { pageChannelId = siteId; } var pageContentId = request.GetPostInt("pageContentId"); var pageTemplateId = request.GetPostInt("pageTemplateId"); var isPageRefresh = request.GetPostBool("isPageRefresh"); var templateContent = TranslateUtils.DecryptStringBySecretKey(request.GetPostString("templateContent")); var ajaxDivId = AttackUtils.FilterSqlAndXss(request.GetPostString("ajaxDivId")); var channelId = request.GetPostInt("channelId"); if (channelId == 0) { channelId = pageChannelId; } var contentId = request.GetPostInt("contentId"); if (contentId == 0) { contentId = pageContentId; } var pageUrl = TranslateUtils.DecryptStringBySecretKey(request.GetPostString("pageUrl")); var pageIndex = request.GetPostInt("pageNum"); if (pageIndex > 0) { pageIndex--; } var queryString = PageUtils.GetQueryStringFilterXss(PageUtils.UrlDecode(HttpContext.Current.Request.RawUrl)); queryString.Remove("siteId"); return(Ok(new { Html = StlDynamic.ParseDynamicContent(siteId, channelId, contentId, pageTemplateId, isPageRefresh, templateContent, pageUrl, pageIndex, ajaxDivId, queryString, request.UserInfo) })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Create() { try { var request = new AuthenticatedRequest(); var userInfo = new UserInfo(request.GetPostObject <Dictionary <string, object> >()); if (!ConfigManager.SystemConfigInfo.IsUserRegistrationGroup) { userInfo.GroupId = 0; } var password = request.GetPostString("password"); var userId = DataProvider.UserDao.Insert(userInfo, password, PageUtils.GetIpAddress(), out var errorMessage); if (userId == 0) { return(BadRequest(errorMessage)); } return(Ok(new { Value = UserManager.GetUserInfoByUserId(userId) })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Main() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var siteInfo = SiteManager.GetSiteInfo(siteId); var pageChannelId = request.GetPostInt("pageChannelId"); var templateId = request.GetPostInt("templateId"); var totalNum = request.GetPostInt("totalNum"); var pageCount = request.GetPostInt("pageCount"); var currentPageIndex = request.GetPostInt("currentPageIndex"); var stlPageContentsElement = TranslateUtils.DecryptStringBySecretKey(request.GetPostString("stlPageContentsElement")); var nodeInfo = ChannelManager.GetChannelInfo(siteId, pageChannelId); var templateInfo = TemplateManager.GetTemplateInfo(siteId, templateId); var pageInfo = new PageInfo(nodeInfo.Id, 0, siteInfo, templateInfo, new Dictionary <string, object>()) { UserInfo = request.UserInfo }; var contextInfo = new ContextInfo(pageInfo); var stlPageContents = new StlPageContents(stlPageContentsElement, pageInfo, contextInfo); var pageHtml = stlPageContents.Parse(totalNum, currentPageIndex, pageCount, false); return(Ok(pageHtml)); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult ResetPassword(int id) { try { var request = new AuthenticatedRequest(); var isAuth = request.IsApiAuthenticated && AccessTokenManager.IsScope(request.ApiToken, AccessTokenManager.ScopeUsers) || request.IsUserLoggin && request.UserId == id || request.IsAdminLoggin && request.AdminPermissions.HasSystemPermissions(ConfigManager.SettingsPermissions.User); if (!isAuth) { return(Unauthorized()); } var userInfo = UserManager.GetUserInfoByUserId(id); if (userInfo == null) { return(NotFound()); } var password = request.GetPostString("password"); var newPassword = request.GetPostString("newPassword"); if (!DataProvider.UserDao.CheckPassword(password, false, userInfo.Password, EPasswordFormatUtils.GetEnumType(userInfo.PasswordFormat), userInfo.PasswordSalt)) { return(BadRequest("原密码不正确,请重新输入")); } if (!DataProvider.UserDao.ChangePassword(userInfo.UserName, newPassword, out string errorMessage)) { return(BadRequest(errorMessage)); } return(Ok(new { Value = userInfo })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.AppPermissions.SettingsAdminConfig)) { return(Unauthorized()); } ConfigManager.SystemConfigInfo.AdminUserNameMinLength = request.GetPostInt("adminUserNameMinLength"); ConfigManager.SystemConfigInfo.AdminPasswordMinLength = request.GetPostInt("adminPasswordMinLength"); ConfigManager.SystemConfigInfo.AdminPasswordRestriction = request.GetPostString("adminPasswordRestriction"); ConfigManager.SystemConfigInfo.IsAdminLockLogin = request.GetPostBool("isAdminLockLogin"); ConfigManager.SystemConfigInfo.AdminLockLoginCount = request.GetPostInt("adminLockLoginCount"); ConfigManager.SystemConfigInfo.AdminLockLoginType = request.GetPostString("adminLockLoginType"); ConfigManager.SystemConfigInfo.AdminLockLoginHours = request.GetPostInt("adminLockLoginHours"); ConfigManager.SystemConfigInfo.IsViewContentOnlySelf = request.GetPostBool("isViewContentOnlySelf"); ConfigManager.SystemConfigInfo.IsAdminEnforcePasswordChange = request.GetPostBool("isAdminEnforcePasswordChange"); ConfigManager.SystemConfigInfo.AdminEnforcePasswordChangeDays = request.GetPostInt("adminEnforcePasswordChangeDays"); ConfigManager.SystemConfigInfo.IsAdminEnforceLogout = request.GetPostBool("isAdminEnforceLogout"); ConfigManager.SystemConfigInfo.AdminEnforceLogoutMinutes = request.GetPostInt("adminEnforceLogoutMinutes"); DataProvider.ConfigDao.Update(ConfigManager.Instance); request.AddAdminLog("修改管理员设置"); return(Ok(new { Value = ConfigManager.SystemConfigInfo })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult SavePermissions(int adminId) { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.SettingsPermissions.Admin)) { return(Unauthorized()); } if (!request.AdminPermissions.IsSuperAdmin()) { return(Unauthorized()); } var adminLevel = request.GetPostString("adminLevel"); var checkedSites = request.GetPostObject <List <int> >("checkedSites"); var checkedRoles = request.GetPostObject <List <string> >("checkedRoles"); var adminInfo = AdminManager.GetAdminInfoByUserId(adminId); DataProvider.AdministratorsInRolesDao.RemoveUser(adminInfo.UserName); if (adminLevel == "SuperAdmin") { DataProvider.AdministratorsInRolesDao.AddUserToRole(adminInfo.UserName, EPredefinedRoleUtils.GetValue(EPredefinedRole.ConsoleAdministrator)); } else if (adminLevel == "SiteAdmin") { DataProvider.AdministratorsInRolesDao.AddUserToRole(adminInfo.UserName, EPredefinedRoleUtils.GetValue(EPredefinedRole.SystemAdministrator)); } else { DataProvider.AdministratorsInRolesDao.AddUserToRole(adminInfo.UserName, EPredefinedRoleUtils.GetValue(EPredefinedRole.Administrator)); DataProvider.AdministratorsInRolesDao.AddUserToRoles(adminInfo.UserName, checkedRoles.ToArray()); } DataProvider.AdministratorDao.UpdateSiteIdCollection(adminInfo, adminLevel == "SiteAdmin" ? TranslateUtils.ObjectCollectionToString(checkedSites) : string.Empty); PermissionsImpl.ClearAllCache(); request.AddAdminLog("设置管理员权限", $"管理员:{adminInfo.UserName}"); return(Ok(new { Value = true, Roles = AdminManager.GetRoles(adminInfo.UserName) })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Main() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var channelId = request.GetPostInt("channelId"); var contentId = request.GetPostInt("contentId"); var templateId = request.GetPostInt("templateId"); var ajaxDivId = AttackUtils.FilterSqlAndXss(request.GetPostString("ajaxDivId")); var pageUrl = TranslateUtils.DecryptStringBySecretKey(request.GetPostString("pageUrl")); var testType = AttackUtils.FilterSqlAndXss(request.GetPostString("testType")); //var testValue = PageUtils.FilterSqlAndXss(request.GetPostString("testValue")); //var testOperate = PageUtils.FilterSqlAndXss(request.GetPostString("testOperate")); var successTemplate = TranslateUtils.DecryptStringBySecretKey(request.GetPostString("successTemplate")); var failureTemplate = TranslateUtils.DecryptStringBySecretKey(request.GetPostString("failureTemplate")); var isSuccess = false; if (StringUtils.EqualsIgnoreCase(testType, StlIf.TypeIsUserLoggin)) { isSuccess = request.IsUserLoggin; } else if (StringUtils.EqualsIgnoreCase(testType, StlIf.TypeIsAdministratorLoggin)) { isSuccess = request.IsAdminLoggin; } else if (StringUtils.EqualsIgnoreCase(testType, StlIf.TypeIsUserOrAdministratorLoggin)) { isSuccess = request.IsUserLoggin || request.IsAdminLoggin; } return(Ok(new { Html = StlDynamic.ParseDynamicContent(siteId, channelId, contentId, templateId, false, isSuccess ? successTemplate : failureTemplate, pageUrl, 0, ajaxDivId, null, request.UserInfo) })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.SettingsPermissions.Config)) { return(Unauthorized()); } ConfigManager.SystemConfigInfo.IsHomeClosed = request.GetPostBool("isHomeClosed"); ConfigManager.SystemConfigInfo.HomeTitle = request.GetPostString("homeTitle"); ConfigManager.SystemConfigInfo.IsHomeLogo = request.GetPostBool("isHomeLogo"); ConfigManager.SystemConfigInfo.HomeLogoUrl = request.GetPostString("homeLogoUrl"); ConfigManager.SystemConfigInfo.HomeDefaultAvatarUrl = request.GetPostString("homeDefaultAvatarUrl"); ConfigManager.SystemConfigInfo.UserRegistrationAttributes = request.GetPostString("userRegistrationAttributes"); ConfigManager.SystemConfigInfo.IsUserRegistrationGroup = request.GetPostBool("isUserRegistrationGroup"); ConfigManager.SystemConfigInfo.IsHomeAgreement = request.GetPostBool("isHomeAgreement"); ConfigManager.SystemConfigInfo.HomeAgreementHtml = request.GetPostString("homeAgreementHtml"); DataProvider.ConfigDao.Update(ConfigManager.Instance); // var config = $@"var $apiConfig = {{ // isSeparatedApi: {ApiManager.IsSeparatedApi.ToString().ToLower()}, // apiUrl: '{ApiManager.ApiUrl}', // innerApiUrl: '{ApiManager.InnerApiUrl}' //}}; //"; request.AddAdminLog("修改用户中心设置"); return(Ok(new { Value = ConfigManager.SystemConfigInfo })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin) { return(Unauthorized()); } var tableName = request.GetPostString("tableName"); var attributeName = request.GetPostString("attributeName"); var relatedIdentities = TranslateUtils.StringCollectionToIntList(request.GetPostString("relatedIdentities")); var value = request.GetPostString("value"); var styleInfo = TableStyleManager.GetTableStyleInfo(tableName, attributeName, relatedIdentities); styleInfo.Additional.VeeValidate = value; //数据库中没有此项及父项的表样式 or 数据库中没有此项的表样式,但是有父项的表样式 if (styleInfo.Id == 0 && styleInfo.RelatedIdentity == 0 || styleInfo.RelatedIdentity != relatedIdentities[0]) { DataProvider.TableStyleDao.Insert(styleInfo); request.AddAdminLog("添加表单显示样式", $"字段名:{styleInfo.AttributeName}"); } //数据库中有此项的表样式 else { DataProvider.TableStyleDao.Update(styleInfo, false); request.AddAdminLog("修改表单显示样式", $"字段名:{styleInfo.AttributeName}"); } return(Ok(new{})); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var channelId = request.GetPostInt("channelId"); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ChannelEdit)) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); if (channelInfo == null) { return(BadRequest("无法确定内容对应的栏目")); } var attributeNames = request.GetPostString("attributeNames"); var isAllContents = request.GetPostBool("isAllContents"); var isSelfOnly = request.GetPostBool("isSelfOnly"); channelInfo.Additional.ContentAttributesOfDisplay = attributeNames; channelInfo.Additional.IsAllContents = isAllContents; channelInfo.Additional.IsSelfOnly = isSelfOnly; DataProvider.ChannelDao.Update(channelInfo); request.AddSiteLog(siteId, "设置内容选项"); return(Ok(new { Value = true })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var channelId = request.GetPostInt("channelId"); var contentIdList = TranslateUtils.StringCollectionToIntList(request.GetPostString("contentIds")); var targetSiteId = request.GetPostInt("targetSiteId"); var targetChannelId = request.GetPostInt("targetChannelId"); if (!request.IsUserLoggin || !request.UserPermissionsImpl.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("无法确定内容对应的栏目")); } foreach (var contentId in contentIdList) { ContentUtility.Translate(siteInfo, channelId, contentId, targetSiteId, targetChannelId, ETranslateContentType.Cut); } request.AddSiteLog(siteId, channelId, "转移内容", string.Empty); CreateManager.TriggerContentChangedEvent(siteId, channelId); return(Ok(new { Value = contentIdList })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult ResetPassword() { try { var request = new AuthenticatedRequest(); var isApiAuthorized = request.IsApiAuthenticated && AccessTokenManager.IsScope(request.ApiToken, AccessTokenManager.ScopeAdministrators); if (!isApiAuthorized) { return(Unauthorized()); } var account = request.GetPostString("account"); var password = request.GetPostString("password"); var newPassword = request.GetPostString("newPassword"); if (!DataProvider.AdministratorDao.Validate(account, password, true, out var userName, out var errorMessage)) { return(BadRequest(errorMessage)); } var adminInfo = AdminManager.GetAdminInfoByUserName(userName); if (!DataProvider.AdministratorDao.ChangePassword(adminInfo, newPassword, out errorMessage)) { return(BadRequest(errorMessage)); } return(Ok(new { Value = adminInfo })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.SettingsPermissions.User)) { return(Unauthorized()); } ConfigManager.SystemConfigInfo.IsUserRegistrationAllowed = request.GetPostBool("isUserRegistrationAllowed"); ConfigManager.SystemConfigInfo.IsUserRegistrationChecked = request.GetPostBool("isUserRegistrationChecked"); ConfigManager.SystemConfigInfo.IsUserUnRegistrationAllowed = request.GetPostBool("isUserUnRegistrationAllowed"); ConfigManager.SystemConfigInfo.UserPasswordMinLength = request.GetPostInt("userPasswordMinLength"); ConfigManager.SystemConfigInfo.UserPasswordRestriction = request.GetPostString("userPasswordRestriction"); ConfigManager.SystemConfigInfo.UserRegistrationMinMinutes = request.GetPostInt("userRegistrationMinMinutes"); ConfigManager.SystemConfigInfo.IsUserLockLogin = request.GetPostBool("isUserLockLogin"); ConfigManager.SystemConfigInfo.UserLockLoginCount = request.GetPostInt("userLockLoginCount"); ConfigManager.SystemConfigInfo.UserLockLoginType = request.GetPostString("userLockLoginType"); ConfigManager.SystemConfigInfo.UserLockLoginHours = request.GetPostInt("userLockLoginHours"); DataProvider.ConfigDao.Update(ConfigManager.Instance); request.AddAdminLog("修改用户设置"); return(Ok(new { Value = ConfigManager.SystemConfigInfo })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var channelId = request.GetPostInt("channelId"); var attributeName = request.GetPostString("attributeName"); var isDesc = request.GetPostBool("isDesc"); if (!request.IsUserLoggin || !request.UserPermissionsImpl.HasChannelPermissions(siteId, channelId, ConfigManager.ChannelPermissions.ContentEdit)) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } var channelInfo = ChannelManager.GetChannelInfo(siteId, channelId); if (channelInfo == null) { return(BadRequest("无法确定内容对应的栏目")); } var tableName = ChannelManager.GetTableName(siteInfo, channelInfo); DataProvider.ContentDao.UpdateArrangeTaxis(tableName, channelId, attributeName, isDesc); request.AddSiteLog(siteId, "批量整理", string.Empty); return(Ok(new { Value = true })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Create() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); var channelId = request.GetPostInt("channelId"); var contentIdList = TranslateUtils.StringCollectionToIntList(request.GetPostString("contentIds")); 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("无法确定内容对应的栏目")); } foreach (var contentId in contentIdList) { CreateManager.CreateContent(siteId, channelInfo.Id, contentId); } return(Ok(new { Value = contentIdList })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); var userId = request.GetQueryInt("userId"); if (userId == 0) { userId = request.AdminId; } if (!request.IsAdminLoggin) { return(Unauthorized()); } var adminInfo = AdminManager.GetAdminInfoByUserId(userId); if (adminInfo == null) { return(NotFound()); } if (request.AdminId != userId && !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.SettingsPermissions.Admin)) { return(Unauthorized()); } var password = request.GetPostString("password"); if (!DataProvider.AdministratorDao.ChangePassword(adminInfo, password, out var errorMessage)) { return(BadRequest($"更改密码失败:{errorMessage}")); } request.AddAdminLog("重设管理员密码", $"管理员:{adminInfo.UserName}"); return(Ok(new { Value = true })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Delete() { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.SettingsPermissions.Admin)) { return(Unauthorized()); } var attributeName = request.GetPostString("attributeName"); DataProvider.TableStyleDao.Delete(0, DataProvider.UserDao.TableName, attributeName); var list = new List <object>(); foreach (var styleInfo in TableStyleManager.GetUserStyleInfoList()) { list.Add(new { styleInfo.Id, styleInfo.AttributeName, styleInfo.DisplayName, InputType = InputTypeUtils.GetText(styleInfo.InputType), Validate = TableStyleManager.GetValidateInfo(styleInfo), styleInfo.Taxis, IsSystem = StringUtils.ContainsIgnoreCase(UserAttribute.AllAttributes.Value, styleInfo.AttributeName) }); } return(Ok(new { Value = list })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Main() { var request = new AuthenticatedRequest(); var isDownload = TranslateUtils.ToBool(CacheDbUtils.GetValueAndRemove(PackageUtils.CacheKeySsCmsIsDownload)); if (!isDownload) { return(Unauthorized()); } var version = request.GetPostString("version"); var idWithVersion = $"{PackageUtils.PackageIdSsCms}.{version}"; var packagePath = PathUtils.GetPackagesPath(idWithVersion); var packageWebConfigPath = PathUtils.Combine(packagePath, WebConfigUtils.WebConfigFileName); if (!FileUtils.IsFileExists(packageWebConfigPath)) { return(BadRequest($"升级包 {WebConfigUtils.WebConfigFileName} 文件不存在")); } WebConfigUtils.UpdateWebConfig(packageWebConfigPath, WebConfigUtils.IsProtectData, WebConfigUtils.DatabaseType, WebConfigUtils.ConnectionString, WebConfigUtils.AdminDirectory, WebConfigUtils.HomeDirectory, WebConfigUtils.SecretKey, WebConfigUtils.IsNightlyUpdate); DirectoryUtils.Copy(PathUtils.Combine(packagePath, DirectoryUtils.SiteFiles.DirectoryName), PathUtils.GetSiteFilesPath(string.Empty), true); DirectoryUtils.Copy(PathUtils.Combine(packagePath, DirectoryUtils.SiteServer.DirectoryName), PathUtils.GetAdminDirectoryPath(string.Empty), true); DirectoryUtils.Copy(PathUtils.Combine(packagePath, DirectoryUtils.Home.DirectoryName), PathUtils.GetHomeDirectoryPath(string.Empty), true); DirectoryUtils.Copy(PathUtils.Combine(packagePath, DirectoryUtils.Bin.DirectoryName), PathUtils.GetBinDirectoryPath(string.Empty), true); var isCopyFiles = FileUtils.CopyFile(packageWebConfigPath, PathUtils.Combine(WebConfigUtils.PhysicalApplicationPath, WebConfigUtils.WebConfigFileName), true); //SystemManager.SyncDatabase(); return(Ok(new { isCopyFiles })); }
public IHttpActionResult Submit() { try { var request = new AuthenticatedRequest(); var siteId = request.GetPostInt("siteId"); //var channelId = request.GetPostInt("channelId"); var channelContentIds = MinContentInfo.ParseMinContentInfoList(request.GetPostString("channelContentIds")); var pageType = request.GetPostString("pageType"); var groupNames = TranslateUtils.StringCollectionToStringList(request.GetPostString("groupNames")); var groupName = request.GetPostString("groupName"); var description = request.GetPostString("description"); if (!request.IsAdminLoggin) { return(Unauthorized()); } var siteInfo = SiteManager.GetSiteInfo(siteId); if (siteInfo == null) { return(BadRequest("无法确定内容对应的站点")); } if (pageType == "setGroup") { foreach (var channelContentId in channelContentIds) { var channelInfo = ChannelManager.GetChannelInfo(siteId, channelContentId.ChannelId); var contentInfo = ContentManager.GetContentInfo(siteInfo, channelInfo, channelContentId.Id); if (contentInfo == null) { continue; } var list = TranslateUtils.StringCollectionToStringList(contentInfo.GroupNameCollection); foreach (var name in groupNames) { if (!list.Contains(name)) { list.Add(name); } } contentInfo.GroupNameCollection = TranslateUtils.ObjectCollectionToString(list); DataProvider.ContentDao.Update(siteInfo, channelInfo, contentInfo); } request.AddSiteLog(siteId, "批量设置内容组", $"内容组:{TranslateUtils.ObjectCollectionToString(groupNames)}"); } else if (pageType == "cancelGroup") { foreach (var channelContentId in channelContentIds) { var channelInfo = ChannelManager.GetChannelInfo(siteId, channelContentId.ChannelId); var contentInfo = ContentManager.GetContentInfo(siteInfo, channelInfo, channelContentId.Id); if (contentInfo == null) { continue; } var list = TranslateUtils.StringCollectionToStringList(contentInfo.GroupNameCollection); foreach (var name in groupNames) { if (list.Contains(name)) { list.Remove(name); } } contentInfo.GroupNameCollection = TranslateUtils.ObjectCollectionToString(list); DataProvider.ContentDao.Update(siteInfo, channelInfo, contentInfo); } request.AddSiteLog(siteId, "批量取消内容组", $"内容组:{TranslateUtils.ObjectCollectionToString(groupNames)}"); } else if (pageType == "addGroup") { var groupInfo = new ContentGroupInfo { GroupName = AttackUtils.FilterXss(groupName), SiteId = siteId, Description = AttackUtils.FilterXss(description) }; if (ContentGroupManager.IsExists(siteId, groupInfo.GroupName)) { DataProvider.ContentGroupDao.Update(groupInfo); request.AddSiteLog(siteId, "修改内容组", $"内容组:{groupInfo.GroupName}"); } else { DataProvider.ContentGroupDao.Insert(groupInfo); request.AddSiteLog(siteId, "添加内容组", $"内容组:{groupInfo.GroupName}"); } foreach (var channelContentId in channelContentIds) { var channelInfo = ChannelManager.GetChannelInfo(siteId, channelContentId.ChannelId); var contentInfo = ContentManager.GetContentInfo(siteInfo, channelInfo, channelContentId.Id); if (contentInfo == null) { continue; } var list = TranslateUtils.StringCollectionToStringList(contentInfo.GroupNameCollection); if (!list.Contains(groupInfo.GroupName)) { list.Add(groupInfo.GroupName); } contentInfo.GroupNameCollection = TranslateUtils.ObjectCollectionToString(list); DataProvider.ContentDao.Update(siteInfo, channelInfo, contentInfo); } request.AddSiteLog(siteId, "批量设置内容组", $"内容组:{groupInfo.GroupName}"); } return(Ok(new { Value = true })); } catch (Exception ex) { LogUtils.AddErrorLog(ex); return(InternalServerError(ex)); } }