コード例 #1
0
        public IHttpActionResult Submit([FromBody] AccessTokenInfo itemObj)
        {
            try
            {
                var request = new AuthRequest();
                if (!request.IsAdminLoggin ||
                    !request.AdminPermissions.HasAdministratorPermissions(ConfigManager.SettingsPermissions.Admin))
                {
                    return(Unauthorized());
                }

                if (itemObj.Id > 0)
                {
                    var tokenInfo = DataProvider.AccessTokenDao.GetAccessTokenInfo(itemObj.Id);

                    if (tokenInfo.Title != itemObj.Title && DataProvider.AccessTokenDao.IsTitleExists(itemObj.Title))
                    {
                        return(BadRequest("保存失败,已存在相同标题的API密钥!"));
                    }

                    tokenInfo.Title     = itemObj.Title;
                    tokenInfo.AdminName = itemObj.AdminName;
                    tokenInfo.Scopes    = itemObj.Scopes;

                    DataProvider.AccessTokenDao.Update(tokenInfo);

                    request.AddAdminLog("修改API密钥", $"Access Token:{tokenInfo.Title}");
                }
                else
                {
                    if (DataProvider.AccessTokenDao.IsTitleExists(itemObj.Title))
                    {
                        return(BadRequest("保存失败,已存在相同标题的API密钥!"));
                    }

                    var tokenInfo = new AccessTokenInfo
                    {
                        Title     = itemObj.Title,
                        AdminName = itemObj.AdminName,
                        Scopes    = itemObj.Scopes
                    };

                    DataProvider.AccessTokenDao.Insert(tokenInfo);

                    request.AddAdminLog("新增API密钥", $"Access Token:{tokenInfo.Title}");
                }

                return(Ok(new
                {
                    Value = DataProvider.AccessTokenDao.GetAccessTokenInfoList()
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
コード例 #2
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            if (IsPostBack)
            {
                return;
            }

            VerifyAdministratorPermissions(ConfigManager.SettingsPermissions.Utility);

            if (AuthRequest.IsQueryExists("delete") && AuthRequest.IsQueryExists("id"))
            {
                DataProvider.AccessTokenDao.Delete(AuthRequest.GetQueryInt("id"));

                AuthRequest.AddAdminLog("删除API密钥");
                SuccessMessage("API密钥删除成功!");
            }

            RptContents.DataSource     = DataProvider.AccessTokenDao.GetAccessTokenInfoList();
            RptContents.ItemDataBound += RptContents_ItemDataBound;
            RptContents.DataBind();
        }
コード例 #3
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            ConfigManager.SystemConfigInfo.IsUserRegistrationAllowed  = TranslateUtils.ToBool(RblIsRegisterAllowed.SelectedValue);
            ConfigManager.SystemConfigInfo.UserPasswordMinLength      = TranslateUtils.ToInt(TbRegisterPasswordMinLength.Text);
            ConfigManager.SystemConfigInfo.UserPasswordRestriction    = DdlRegisterPasswordRestriction.SelectedValue;
            ConfigManager.SystemConfigInfo.UserRegistrationMinMinutes = TranslateUtils.ToInt(TbRegisterMinMinutesOfIpAddress.Text);

            ConfigManager.SystemConfigInfo.IsUserLockLogin          = TranslateUtils.ToBool(RblIsFailToLock.SelectedValue);
            ConfigManager.SystemConfigInfo.UserLockLoginCount       = TranslateUtils.ToInt(TbLoginFailCount.Text, 3);
            ConfigManager.SystemConfigInfo.UserLockLoginType        = DdlLockType.SelectedValue;
            ConfigManager.SystemConfigInfo.UserLockLoginHours       = TranslateUtils.ToInt(TbLockingTime.Text);
            ConfigManager.SystemConfigInfo.IsUserFindPassword       = TranslateUtils.ToBool(RblIsFindPassword.SelectedValue);
            ConfigManager.SystemConfigInfo.UserFindPasswordSmsTplId = TbFindPasswordSmsTplId.Text;

            DataProvider.ConfigDao.Update(ConfigManager.Instance);

            AuthRequest.AddAdminLog("修改用户设置");

            SuccessMessage("设置修改成功!");
        }
コード例 #4
0
ファイル: ModalPermissionsSet.cs プロジェクト: zerojuls/cms-3
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            var isChanged = false;

            try
            {
                var allRoles = EPredefinedRoleUtils.GetAllPredefinedRoleName();
                foreach (var roleName in allRoles)
                {
                    DataProvider.AdministratorsInRolesDao.RemoveUserFromRole(_userName, roleName);
                }
                DataProvider.AdministratorsInRolesDao.AddUserToRole(_userName, DdlPredefinedRole.SelectedValue);

                DataProvider.AdministratorDao.UpdateSiteIdCollection(_userName,
                                                                     EPredefinedRoleUtils.Equals(EPredefinedRole.SystemAdministrator, DdlPredefinedRole.SelectedValue)
                        ? ControlUtils.SelectedItemsValueToStringCollection(CblSiteId.Items)
                        : string.Empty);

                AuthRequest.AddAdminLog("设置管理员权限", $"管理员:{_userName}");

                SuccessMessage("权限设置成功!");
                isChanged = true;
            }
            catch (Exception ex)
            {
                FailMessage(ex, "权限设置失败!");
            }

            if (isChanged)
            {
                var redirectUrl = PageAdministrator.GetRedirectUrl();
                LayerUtils.CloseAndRedirect(Page, redirectUrl);
            }
        }
コード例 #5
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (_isHeadquarters)
            {
                var list = DataProvider.SiteDao.GetLowerSiteDirList(SiteInfo.ParentId);
                if (list.IndexOf(TbSiteDir.Text.Trim().ToLower()) != -1)
                {
                    FailMessage("操作失败,已存在相同的发布路径");
                    return;
                }
                if (!DirectoryUtils.IsDirectoryNameCompliant(TbSiteDir.Text))
                {
                    FailMessage("操作失败,文件夹名称不符合要求");
                    return;
                }
                var filesToSite = new ArrayList();
                foreach (ListItem item in CblFilesToSite.Items)
                {
                    if (item.Selected)
                    {
                        filesToSite.Add(item.Value);
                    }
                }
                DirectoryUtility.ChangeToSubSite(SiteInfo, TbSiteDir.Text, filesToSite);
            }
            else
            {
                DirectoryUtility.ChangeToHeadquarters(SiteInfo, TranslateUtils.ToBool(DdlIsMoveFiles.SelectedValue));
            }

            AuthRequest.AddAdminLog(_isHeadquarters ? "转移到子目录" : "转移到根目录",
                                    $"站点:{SiteInfo.SiteName}");
            LayerUtils.Close(Page);
        }
コード例 #6
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            var isRetainFiles = TranslateUtils.ToBool(RblRetainFiles.SelectedValue);

            if (isRetainFiles == false)
            {
                DirectoryUtility.DeleteSiteFiles(SiteInfo);
                SuccessMessage("成功删除站点以及相关文件!");
            }
            else
            {
                SuccessMessage("成功删除站点,相关文件未被删除!");
            }

            if (AuthRequest.AdminInfo.SiteId != SiteId)
            {
                AddWaitAndRedirectScript(PageSite.GetRedirectUrl());
            }
            else
            {
                AddScript(
                    $@"setTimeout(""window.top.location.href='{PageMain.GetRedirectUrl()}'"", 1500);");
            }

            AuthRequest.AddAdminLog("删除站点", $"站点:{SiteInfo.SiteName}");

            DataProvider.SiteDao.Delete(SiteId);
        }
コード例 #7
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            try
            {
                ConfigManager.SystemConfigInfo.AdminUserNameMinLength   = TranslateUtils.ToInt(TbLoginUserNameMinLength.Text);
                ConfigManager.SystemConfigInfo.AdminPasswordMinLength   = TranslateUtils.ToInt(TbLoginPasswordMinLength.Text);
                ConfigManager.SystemConfigInfo.AdminPasswordRestriction = DdlLoginPasswordRestriction.SelectedValue;

                ConfigManager.SystemConfigInfo.IsAdminLockLogin    = TranslateUtils.ToBool(RblIsLoginFailToLock.SelectedValue);
                ConfigManager.SystemConfigInfo.AdminLockLoginCount = TranslateUtils.ToInt(TbLoginFailToLockCount.Text, 3);
                ConfigManager.SystemConfigInfo.AdminLockLoginType  = DdlLoginLockingType.SelectedValue;
                ConfigManager.SystemConfigInfo.AdminLockLoginHours = TranslateUtils.ToInt(TbLoginLockingHours.Text);

                ConfigManager.SystemConfigInfo.IsAdminFindPassword       = TranslateUtils.ToBool(RblIsFindPassword.SelectedValue);
                ConfigManager.SystemConfigInfo.AdminFindPasswordSmsTplId = TbFindPasswordSmsTplId.Text;

                ConfigManager.SystemConfigInfo.IsViewContentOnlySelf = TranslateUtils.ToBool(RblIsViewContentOnlySelf.SelectedValue);

                DataProvider.ConfigDao.Update(ConfigManager.Instance);

                AuthRequest.AddAdminLog("管理员设置");
                SuccessMessage("管理员设置成功");
            }
            catch (Exception ex)
            {
                FailMessage(ex, ex.Message);
            }
        }
コード例 #8
0
ファイル: ModalAdminPassword.cs プロジェクト: yunxb/cms
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!IsPostBack || !IsValid)
            {
                return;
            }

            try
            {
                var adminInfo = AdminManager.GetAdminInfoByUserName(_userName);
                if (!DataProvider.AdministratorDao.ChangePassword(adminInfo, TbPassword.Text, out string errorMessage))
                {
                    FailMessage(errorMessage);
                    return;
                }

                AuthRequest.AddAdminLog("重设管理员密码", $"管理员:{_userName}");

                SuccessMessage("重设密码成功!");

                LayerUtils.Close(Page);
            }
            catch (Exception ex)
            {
                FailMessage(ex, "重设密码失败!");
            }
        }
コード例 #9
0
        private void UpdateByUpload()
        {
            if (HifFile.PostedFile == null || HifFile.PostedFile.FileName == "")
            {
                return;
            }

            var filePath = HifFile.PostedFile.FileName;

            if (!StringUtils.EqualsIgnoreCase(Path.GetExtension(filePath), ".nupkg"))
            {
                FailMessage("必须上传后缀为.nupkg的文件");
                return;
            }

            var idAndVersion  = Path.GetFileNameWithoutExtension(filePath);
            var directoryPath = PathUtils.GetPackagesPath(idAndVersion);
            var localFilePath = PathUtils.Combine(directoryPath, idAndVersion + ".nupkg");

            if (!Directory.Exists(directoryPath))
            {
                Directory.CreateDirectory(directoryPath);
            }

            HifFile.PostedFile.SaveAs(localFilePath);

            ZipUtils.ExtractZip(localFilePath, directoryPath);

            AuthRequest.AddAdminLog("手动升级 SiteServer CMS 版本:" + idAndVersion);

            LayerUtils.CloseAndRedirect(Page, PageUtils.GetAdminUrl(PageUtils.Combine("plugins/manage.cshtml")));
        }
コード例 #10
0
ファイル: PageAdminRoleAdd.cs プロジェクト: supadmins/cms-1
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            if (!string.IsNullOrEmpty(_theRoleName))
            {
                try
                {
                    var sitePermissionsInRolesInfoList = Session[SystemPermissionsInfoListKey] as List <SitePermissionsInfo>;

                    var generalPermissionList = ControlUtils.GetSelectedListControlValueStringList(CblPermissions);
                    DataProvider.PermissionsInRolesDao.UpdateRoleAndGeneralPermissions(_theRoleName, TbDescription.Text, generalPermissionList);

                    DataProvider.SitePermissionsDao.UpdateSitePermissions(_theRoleName, sitePermissionsInRolesInfoList);

                    PermissionManager.ClearAllCache();

                    AuthRequest.AddAdminLog("修改管理员角色", $"角色名称:{_theRoleName}");
                    SuccessMessage("角色修改成功!");
                    AddWaitAndRedirectScript(PageAdminRole.GetRedirectUrl());
                }
                catch (Exception ex)
                {
                    FailMessage(ex, "角色修改失败!");
                }
            }
            else
            {
                if (DataProvider.RoleDao.IsRoleExists(TbRoleName.Text))
                {
                    FailMessage("角色添加失败,角色标识已存在!");
                }
                else
                {
                    var sitePermissionsInRolesInfoList = Session[SystemPermissionsInfoListKey] as List <SitePermissionsInfo>;
                    var generalPermissionList          = ControlUtils.GetSelectedListControlValueStringList(CblPermissions);

                    try
                    {
                        DataProvider.SitePermissionsDao.InsertRoleAndPermissions(TbRoleName.Text, AuthRequest.AdminName, TbDescription.Text, generalPermissionList, sitePermissionsInRolesInfoList);

                        PermissionManager.ClearAllCache();

                        AuthRequest.AddAdminLog("新增管理员角色",
                                                $"角色名称:{TbRoleName.Text}");

                        SuccessMessage("角色添加成功!");
                        AddWaitAndRedirectScript(PageAdminRole.GetRedirectUrl());
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, $"角色添加失败,{ex.Message}");
                    }
                }
            }
        }
コード例 #11
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            if (_userId == 0)
            {
                var userInfo = new UserInfo
                {
                    UserName         = TbUserName.Text,
                    Password         = TbPassword.Text,
                    CreateDate       = DateTime.Now,
                    LastActivityDate = DateUtils.SqlMinValue,
                    IsChecked        = true,
                    IsLockedOut      = false,
                    DisplayName      = TbDisplayName.Text,
                    Email            = TbEmail.Text,
                    Mobile           = TbMobile.Text,
                    GroupId          = TranslateUtils.ToInt(DdlGroupId.SelectedValue)
                };

                string errorMessage;
                var    userId = DataProvider.UserDao.Insert(userInfo, userInfo.Password, string.Empty, out errorMessage);

                if (userId > 0)
                {
                    AuthRequest.AddAdminLog("添加用户",
                                            $"用户:{TbUserName.Text}");

                    SuccessMessage("用户添加成功,可以继续添加!");
                    AddWaitAndRedirectScript(GetRedirectUrlToAdd(_returnUrl));
                }
                else
                {
                    FailMessage($"用户添加失败:<br>{errorMessage}");
                }
            }
            else
            {
                var userInfo = UserManager.GetUserInfoByUserId(_userId);

                userInfo.GroupId     = TranslateUtils.ToInt(DdlGroupId.SelectedValue);
                userInfo.DisplayName = TbDisplayName.Text;
                userInfo.Email       = TbEmail.Text;
                userInfo.Mobile      = TbMobile.Text;

                DataProvider.UserDao.Update(userInfo);

                AuthRequest.AddAdminLog("修改用户",
                                        $"用户:{TbUserName.Text}");

                SuccessMessage("用户修改成功!");
                AddWaitAndRedirectScript(_returnUrl);
            }
        }
コード例 #12
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            if (AuthRequest.IsQueryExists("Delete"))
            {
                var userIdList = TranslateUtils.StringCollectionToIntList(AuthRequest.GetQueryString("UserIDCollection"));
                foreach (var userId in userIdList)
                {
                    DataProvider.UserDao.Delete(userId);
                }

                AuthRequest.AddAdminLog("删除用户", string.Empty);

                SuccessDeleteMessage();
            }
            else if (AuthRequest.IsQueryExists("Check"))
            {
                var userIdList = TranslateUtils.StringCollectionToIntList(AuthRequest.GetQueryString("UserIDCollection"));
                DataProvider.UserDao.Check(userIdList);

                SuccessCheckMessage();
            }

            SpContents.ControlToPaginate = RptContents;
            SpContents.ItemsPerPage      = 25;
            SpContents.SelectCommand     = DataProvider.UserDao.GetSelectCommand(false);
            RptContents.ItemDataBound   += RptContents_ItemDataBound;
            SpContents.SortField         = DataProvider.UserDao.GetSortFieldName();
            SpContents.SortMode          = SortMode.DESC;

            if (IsPostBack)
            {
                return;
            }

            VerifyAdministratorPermissions(ConfigManager.SettingsPermissions.User);

            SpContents.DataBind();

            BtnCheck.Attributes.Add("onclick",
                                    PageUtils.GetRedirectStringWithCheckBoxValueAndAlert(
                                        PageUtils.GetSettingsUrl(nameof(PageUserCheck), new NameValueCollection
            {
                { "Check", "True" }
            }), "UserIDCollection", "UserIDCollection", "请选择需要审核的会员!", "此操作将审核通过所选会员,确认吗?"));

            BtnDelete.Attributes.Add("onclick",
                                     PageUtils.GetRedirectStringWithCheckBoxValueAndAlert(
                                         PageUtils.GetSettingsUrl(nameof(PageUserCheck), new NameValueCollection
            {
                { "Delete", "True" }
            }), "UserIDCollection", "UserIDCollection", "请选择需要删除的会员!", "此操作将删除所选会员,确认吗?"));
        }
コード例 #13
0
ファイル: PageAdminAccessTokensAdd.cs プロジェクト: zxbe/cms
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            if (_id > 0)
            {
                var tokenInfo = DataProvider.AccessTokenDao.GetAccessTokenInfo(_id);

                if (tokenInfo.Title != TbTitle.Text && DataProvider.AccessTokenDao.IsTitleExists(TbTitle.Text))
                {
                    FailMessage("保存失败,已存在相同标题的API密钥!");
                    return;
                }

                tokenInfo.Title = TbTitle.Text;

                tokenInfo.AdminName = DdlAdministrators.SelectedValue;

                var scopes = ControlUtils.GetSelectedListControlValueStringList(CblScopes);
                tokenInfo.Scopes = TranslateUtils.ObjectCollectionToString(scopes);

                DataProvider.AccessTokenDao.Update(tokenInfo);

                AuthRequest.AddAdminLog("修改API密钥", $"Access Token:{tokenInfo.Title}");

                SuccessMessage("API密钥修改成功!");
                //AddWaitAndRedirectScript(PageAdminAccessTokens.PageUrl);
            }
            else
            {
                if (DataProvider.AccessTokenDao.IsTitleExists(TbTitle.Text))
                {
                    FailMessage("保存失败,已存在相同标题的API密钥!");
                    return;
                }

                var scopes = ControlUtils.GetSelectedListControlValueStringList(CblScopes);

                var tokenInfo = new AccessTokenInfo
                {
                    Title     = TbTitle.Text,
                    AdminName = DdlAdministrators.SelectedValue,
                    Scopes    = TranslateUtils.ObjectCollectionToString(scopes)
                };

                DataProvider.AccessTokenDao.Insert(tokenInfo);

                AuthRequest.AddAdminLog("新增API密钥", $"Access Token:{tokenInfo.Title}");

                SuccessMessage("API密钥新增成功!");
                //AddWaitAndRedirectScript(PageAdminAccessTokens.PageUrl);
            }
        }
コード例 #14
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            ConfigManager.SystemConfigInfo.IsSeparatedApi  = TranslateUtils.ToBool(RblIsSeparatedApi.SelectedValue);
            ConfigManager.SystemConfigInfo.SeparatedApiUrl = TbSeparatedApiUrl.Text;

            DataProvider.ConfigDao.Update(ConfigManager.Instance);

            AuthRequest.AddAdminLog("修改API访问地址");
            SuccessUpdateMessage();
        }
コード例 #15
0
        public void BtnSubmit_Click(object sender, EventArgs e)
        {
            var siteTemplateDir = HihSiteTemplateDir.Value;

            var userKeyPrefix    = StringUtils.Guid();
            var siteTemplatePath = PathUtility.GetSiteTemplatesPath(siteTemplateDir);

            AuthRequest.AddAdminLog("整站替换", $"站点:{SiteInfo.SiteName}");

            PageUtils.Redirect(PageProgressBar.GetRecoveryUrl(SiteId, RblIsDeleteChannels.SelectedValue, RblIsDeleteTemplates.SelectedValue, RblIsDeleteFiles.SelectedValue, false, siteTemplatePath, RblIsOverride.SelectedValue, RblIsOverride.SelectedValue, userKeyPrefix));
        }
コード例 #16
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageType = AuthRequest.GetQueryInt("pageType");

            if (AuthRequest.IsQueryExists("delete"))
            {
                var pluginId = AuthRequest.GetQueryString("pluginId");

                PluginManager.Delete(pluginId);
                AuthRequest.AddAdminLog("删除插件", $"插件:{pluginId}");

                CacheUtils.ClearAll();
                CacheDbUtils.Clear();

                AddScript(AlertUtils.Success("插件删除成功", "插件删除成功,系统需要重载页面", "重新载入", "window.top.location.reload(true);"));
            }
            if (AuthRequest.IsQueryExists("enable"))
            {
                var pluginId = AuthRequest.GetQueryString("pluginId");

                PluginManager.UpdateDisabled(pluginId, false);
                AuthRequest.AddAdminLog("启用插件", $"插件:{pluginId}");

                CacheUtils.ClearAll();
                CacheDbUtils.Clear();

                AddScript(AlertUtils.Success("插件启用成功", "插件启用成功,系统需要重载页面", "重新载入", "window.top.location.reload(true);"));
            }
            else if (AuthRequest.IsQueryExists("disable"))
            {
                var pluginId = AuthRequest.GetQueryString("pluginId");

                PluginManager.UpdateDisabled(pluginId, true);
                AuthRequest.AddAdminLog("禁用插件", $"插件:{pluginId}");

                CacheUtils.ClearAll();
                CacheDbUtils.Clear();

                AddScript(AlertUtils.Success("插件禁用成功", "插件禁用成功,系统需要重载页面", "重新载入", "window.top.location.reload(true);"));
            }

            if (Page.IsPostBack)
            {
                return;
            }

            VerifySystemPermissions(ConfigManager.PluginsPermissions.Management);
        }
コード例 #17
0
ファイル: PageUtilityDbLogDelete.cs プロジェクト: zr53722/cms
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            DataProvider.DatabaseDao.DeleteDbLog();

            AuthRequest.AddAdminLog("清空数据库日志");

            SuccessMessage("清空日志成功!");
        }
コード例 #18
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            ConfigManager.SystemConfigInfo.IsTimeThreshold = TranslateUtils.ToBool(RblIsTimeThreshold.SelectedValue);
            if (ConfigManager.SystemConfigInfo.IsTimeThreshold)
            {
                ConfigManager.SystemConfigInfo.TimeThreshold = TranslateUtils.ToInt(TbTime.Text);
            }

            DataProvider.ConfigDao.Update(ConfigManager.Instance);

            AuthRequest.AddAdminLog("设置日志阈值参数");
            SuccessMessage("日志设置成功");
        }
コード例 #19
0
        private void UpdateByVersion()
        {
            //string errorMessage;
            //if (!SystemManager.GetPackageAndUpdate(TbVersion.Text, out errorMessage))
            //{
            //    FailMessage($"手动升级 SiteServer CMS 版本失败:{errorMessage}");
            //    return;
            //}

            AuthRequest.AddAdminLog($"手动升级 SiteServer CMS 版本:{TbVersion.Text}");

            LayerUtils.CloseAndRedirect(Page, PageUtils.GetAdminUrl(PageUtils.Combine("plugins/manage.cshtml")));
        }
コード例 #20
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            if (!string.IsNullOrEmpty(_tableName))
            {
                var info = DataProvider.TableDao.GetTableCollectionInfo(_tableName);
                info.DisplayName = TbDisplayName.Text;
                info.Description = TbDescription.Text;

                DataProvider.TableDao.Update(info);

                AuthRequest.AddAdminLog("修改内容表", $"内容表:{_tableName}");

                SuccessMessage("内容表修改成功!");
                LayerUtils.Close(Page);
            }
            else
            {
                var tableNameList = DataProvider.TableDao.GetTableNameList();
                if (tableNameList.IndexOf(TbTableName.Text) != -1)
                {
                    FailMessage("内容表添加失败,内容表标识已存在!");
                }
                else if (DataProvider.DatabaseDao.IsTableExists(TbTableName.Text))
                {
                    FailMessage("内容表添加失败,数据库中已存在此表!");
                }
                else
                {
                    var info = new TableInfo
                    {
                        TableName   = TbTableName.Text,
                        DisplayName = TbDisplayName.Text,
                        Description = TbDescription.Text
                    };

                    DataProvider.TableDao.Insert(info, DataProvider.TableMetadataDao.GetDefaultTableMetadataInfoList(info.TableName));

                    AuthRequest.AddAdminLog("添加内容表", $"内容表:{TbTableName.Text}");

                    SuccessMessage("内容表添加成功!");
                    LayerUtils.Close(Page);
                }
            }
        }
コード例 #21
0
ファイル: PageSiteTableStyle.cs プロジェクト: zxbe/cms
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            _tableName   = AuthRequest.GetQueryString("tableName");
            _redirectUrl = GetRedirectUrl(_tableName);

            if (IsPostBack)
            {
                return;
            }

            VerifySystemPermissions(ConfigManager.SettingsPermissions.Site);

            if (AuthRequest.IsQueryExists("DeleteStyle"))
            {
                var attributeName = AuthRequest.GetQueryString("AttributeName");
                if (TableStyleManager.IsExists(0, _tableName, attributeName))
                {
                    TableStyleManager.Delete(0, _tableName, attributeName);
                    AuthRequest.AddAdminLog("删除数据表单样式", $"表单:{_tableName},字段:{attributeName}");
                    SuccessDeleteMessage();
                }
            }

            var styleInfoList = TableStyleManager.GetTableStyleInfoList(_tableName, new List <int> {
                0
            });

            RptContents.DataSource     = styleInfoList;
            RptContents.ItemDataBound += RptContents_ItemDataBound;
            RptContents.DataBind();

            BtnAddStyle.Attributes.Add("onclick", ModalTableStyleAdd.GetOpenWindowString(0, 0, new List <int> {
                0
            }, _tableName, string.Empty, _redirectUrl));
            BtnAddStyles.Attributes.Add("onclick",
                                        ModalTableStylesAdd.GetOpenWindowString(0, new List <int> {
                0
            }, _tableName, _redirectUrl));
            BtnImport.Attributes.Add("onclick", ModalTableStyleImport.GetOpenWindowString(_tableName, 0, 0));
            BtnExport.Attributes.Add("onclick", ModalExportMessage.GetOpenWindowStringToSingleTableStyle(_tableName));
        }
コード例 #22
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (_isHeadquarters)
            {
                SiteInfo.DomainName = TbDomainName.Text;
                DirectoryUtility.ChangeToSubSite(SiteInfo);
            }
            else
            {
                SiteInfo.DomainName = String.Empty;
                DirectoryUtility.ChangeToHeadquarters(SiteInfo);
            }

            AuthRequest.AddAdminLog(_isHeadquarters ? "转为子站点" : "转为主站点",
                                    $"站点:{SiteInfo.SiteName}");
            LayerUtils.Close(Page);
        }
コード例 #23
0
        public void BtnSaveFilesNext_Click(object sender, EventArgs e)
        {
            BtnWelcomeNext.Visible = BtnSaveFilesNext.Visible = BtnSaveSiteContentsNext.Visible = BtnSaveSiteStylesNext.Visible = BtnUploadImageFileNext.Visible = PhWelcome.Visible = PhSaveFiles.Visible = PhSaveSiteContents.Visible = PhSaveSiteStyles.Visible = PhUploadImageFile.Visible = PhDone.Visible = false;

            string errorMessage;

            if (SaveFiles(out errorMessage))
            {
                BtnSaveSiteContentsNext.Visible = PhSaveSiteContents.Visible = true;
                AuthRequest.AddAdminLog("保存站点模板", $"站点:{SiteInfo.SiteName}");
            }
            else
            {
                BtnSaveFilesNext.Visible = PhSaveFiles.Visible = true;
                FailMessage(errorMessage);
            }
        }
コード例 #24
0
ファイル: ModalDepartmentAdd.cs プロジェクト: zerojuls/cms-3
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            var isChanged = false;

            try
            {
                if (_departmentId == 0)
                {
                    var departmentInfo = new DepartmentInfo
                    {
                        DepartmentName = TbDepartmentName.Text,
                        Code           = TbCode.Text,
                        ParentId       = TranslateUtils.ToInt(DdlParentId.SelectedValue),
                        Summary        = TbSummary.Text
                    };

                    DataProvider.DepartmentDao.Insert(departmentInfo);
                }
                else
                {
                    var departmentInfo = DepartmentManager.GetDepartmentInfo(_departmentId);

                    departmentInfo.DepartmentName = TbDepartmentName.Text;
                    departmentInfo.Code           = TbCode.Text;
                    departmentInfo.ParentId       = TranslateUtils.ToInt(DdlParentId.SelectedValue);
                    departmentInfo.Summary        = TbSummary.Text;

                    DataProvider.DepartmentDao.Update(departmentInfo);
                }

                AuthRequest.AddAdminLog("维护部门信息");

                SuccessMessage("部门设置成功!");
                isChanged = true;
            }
            catch (Exception ex)
            {
                FailMessage(ex, "部门设置失败!");
            }

            if (isChanged)
            {
                LayerUtils.CloseAndRedirect(Page, _returnUrl);
            }
        }
コード例 #25
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            var isChanged = false;

            try
            {
                if (_areaId == 0)
                {
                    var areaInfo = new AreaInfo
                    {
                        AreaName = TbAreaName.Text,
                        ParentId = TranslateUtils.ToInt(DdlParentId.SelectedValue)
                    };

                    DataProvider.AreaDao.Insert(areaInfo);
                }
                else
                {
                    var areaInfo = AreaManager.GetAreaInfo(_areaId);

                    areaInfo.AreaName = TbAreaName.Text;
                    areaInfo.ParentId = TranslateUtils.ToInt(DdlParentId.SelectedValue);

                    DataProvider.AreaDao.Update(areaInfo);
                }

                AuthRequest.AddAdminLog("维护区域信息");

                SuccessMessage("区域设置成功!");
                isChanged = true;
            }
            catch (Exception ex)
            {
                FailMessage(ex, "区域设置失败!");
            }

            if (isChanged)
            {
                LayerUtils.CloseAndRedirect(Page, _returnUrl);
            }
        }
コード例 #26
0
        public void Regenerate_OnClick(object sender, EventArgs e)
        {
            if (!IsPostBack || !IsValid)
            {
                return;
            }

            try
            {
                LtlToken.Text       = TranslateUtils.DecryptStringBySecretKey(DataProvider.AccessTokenDao.Regenerate(_id));
                LtlUpdatedDate.Text = DateUtils.GetDateAndTimeString(DateTime.Now);

                AuthRequest.AddAdminLog("重设API密钥");

                SuccessMessage("API密钥重新设置成功!");
            }
            catch (Exception ex)
            {
                FailMessage(ex, "API密钥重新设置失败!");
            }
        }
コード例 #27
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            if (AuthRequest.IsQueryExists("Delete"))
            {
                var roleName = AuthRequest.GetQueryString("RoleName");
                try
                {
                    DataProvider.PermissionsInRolesDao.Delete(roleName);
                    DataProvider.RoleDao.DeleteRole(roleName);

                    AuthRequest.AddAdminLog("删除管理员角色", $"角色名称:{roleName}");

                    SuccessDeleteMessage();
                }
                catch (Exception ex)
                {
                    FailDeleteMessage(ex);
                }
            }

            if (IsPostBack)
            {
                return;
            }

            VerifySystemPermissions(ConfigManager.SettingsPermissions.Admin);

            RptContents.DataSource = AuthRequest.AdminPermissionsImpl.IsConsoleAdministrator
                ? DataProvider.RoleDao.GetRoleNameList()
                : DataProvider.RoleDao.GetRoleNameListByCreatorUserName(AuthRequest.AdminName);
            RptContents.ItemDataBound += RptContents_ItemDataBound;
            RptContents.DataBind();

            BtnAdd.Attributes.Add("onclick", $"location.href = '{PageAdminRoleAdd.GetRedirectUrl()}';return false;");
        }
コード例 #28
0
ファイル: PageSiteAuxiliaryTable.cs プロジェクト: zr53722/cms
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            if (AuthRequest.IsQueryExists("Delete"))
            {
                var enName        = AuthRequest.GetQueryString("ENName"); //内容表
                var enNameArchive = enName + "_Archive";                  //内容表归档

                try
                {
                    DataProvider.TableDao.DeleteCollectionTableInfoAndDbTable(enName);        //删除内容表
                    DataProvider.TableDao.DeleteCollectionTableInfoAndDbTable(enNameArchive); //删除内容表归档

                    AuthRequest.AddAdminLog("删除内容表", $"内容表:{enName}");

                    SuccessDeleteMessage();
                }
                catch (Exception ex)
                {
                    FailDeleteMessage(ex);
                }
            }

            if (IsPostBack)
            {
                return;
            }

            VerifyAdministratorPermissions(ConfigManager.SettingsPermissions.Site);

            RptContents.DataSource     = DataProvider.TableDao.GetTableCollectionInfoList();
            RptContents.ItemDataBound += RptContents_ItemDataBound;
            RptContents.DataBind();

            BtnAdd.OnClientClick = ModalAuxiliaryTableAdd.GetOpenWindowString();
        }
コード例 #29
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            if (string.IsNullOrEmpty(_userName))
            {
                var adminInfo = new AdministratorInfo
                {
                    UserName        = TbUserName.Text.Trim(),
                    Password        = TbPassword.Text,
                    CreatorUserName = AuthRequest.AdminName,
                    DisplayName     = TbDisplayName.Text,
                    Email           = TbEmail.Text,
                    Mobile          = TbMobile.Text,
                    DepartmentId    = TranslateUtils.ToInt(DdlDepartmentId.SelectedValue),
                    AreaId          = TranslateUtils.ToInt(DdlAreaId.SelectedValue)
                };

                if (!string.IsNullOrEmpty(DataProvider.AdministratorDao.GetUserNameByEmail(TbEmail.Text)))
                {
                    FailMessage("管理员添加失败,邮箱地址已存在");
                    return;
                }

                if (!string.IsNullOrEmpty(DataProvider.AdministratorDao.GetUserNameByMobile(TbMobile.Text)))
                {
                    FailMessage("管理员添加失败,手机号码已存在");
                    return;
                }

                string errorMessage;
                if (!AdminManager.CreateAdministrator(adminInfo, out errorMessage))
                {
                    FailMessage($"管理员添加失败:{errorMessage}");
                    return;
                }

                AuthRequest.AddAdminLog("添加管理员", $"管理员:{TbUserName.Text.Trim()}");
                SuccessMessage("管理员添加成功!");
                AddWaitAndRedirectScript(PageAdministrator.GetRedirectUrl());
            }
            else
            {
                var adminInfo = DataProvider.AdministratorDao.GetByUserName(_userName);

                if (adminInfo.Email != TbEmail.Text && !string.IsNullOrEmpty(DataProvider.AdministratorDao.GetUserNameByEmail(TbEmail.Text)))
                {
                    FailMessage("管理员设置失败,邮箱地址已存在");
                    return;
                }

                if (adminInfo.Mobile != TbMobile.Text && !string.IsNullOrEmpty(DataProvider.AdministratorDao.GetUserNameByMobile(adminInfo.Mobile)))
                {
                    FailMessage("管理员设置失败,手机号码已存在");
                    return;
                }

                adminInfo.DisplayName  = TbDisplayName.Text;
                adminInfo.Email        = TbEmail.Text;
                adminInfo.Mobile       = TbMobile.Text;
                adminInfo.DepartmentId = TranslateUtils.ToInt(DdlDepartmentId.SelectedValue);
                adminInfo.AreaId       = TranslateUtils.ToInt(DdlAreaId.SelectedValue);

                DataProvider.AdministratorDao.Update(adminInfo);

                AuthRequest.AddAdminLog("修改管理员属性", $"管理员:{TbUserName.Text.Trim()}");
                SuccessMessage("管理员设置成功!");
                AddWaitAndRedirectScript(PageAdministrator.GetRedirectUrl());
            }
        }
コード例 #30
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageUtils.CheckRequestParameter("ENName");
            _showSqlTable = AuthRequest.IsQueryExists("ShowCrateDBCommand");

            _tableName   = AuthRequest.GetQueryString("ENName").Trim();
            _redirectUrl = GetRedirectUrl(_tableName);

            var tableInfo = DataProvider.TableDao.GetTableCollectionInfo(_tableName);

            if (AuthRequest.IsQueryExists("Delete"))
            {
                var tableMetadataId = AuthRequest.GetQueryInt("TableMetadataID");

                try
                {
                    var tableMetadataInfo = DataProvider.TableMetadataDao.GetTableMetadataInfo(tableMetadataId);
                    DataProvider.TableMetadataDao.Delete(tableMetadataId);

                    AuthRequest.AddAdminLog("删除辅助表字段", $"辅助表:{_tableName},字段名:{tableMetadataInfo.AttributeName}");

                    SuccessDeleteMessage();
                    PageUtils.Redirect(_redirectUrl);
                }
                catch (Exception ex)
                {
                    FailDeleteMessage(ex);
                }
            }
            else if (AuthRequest.IsQueryExists("DeleteStyle"))//删除样式
            {
                var attributeName = AuthRequest.GetQueryString("AttributeName");
                if (TableStyleManager.IsExists(0, _tableName, attributeName))
                {
                    try
                    {
                        TableStyleManager.Delete(0, _tableName, attributeName);

                        AuthRequest.AddAdminLog("删除辅助表字段样式", $"辅助表:{_tableName},字段名:{attributeName}");

                        SuccessDeleteMessage();
                        PageUtils.Redirect(_redirectUrl);
                    }
                    catch (Exception ex)
                    {
                        FailDeleteMessage(ex);
                    }
                }
            }
            else if (AuthRequest.IsQueryExists("CreateDB"))
            {
                try
                {
                    DataProvider.TableDao.CreateDbTable(_tableName);
                    tableInfo.IsChangedAfterCreatedInDb = false;

                    AuthRequest.AddAdminLog("创建辅助表", $"辅助表:{_tableName}");

                    SuccessMessage("辅助表创建成功!");
                    PageUtils.Redirect(_redirectUrl);
                }
                catch (Exception ex)
                {
                    FailMessage(ex, "<br>辅助表创建失败,失败原因为:" + ex.Message + "<br>请检查创建表SQL命令");
                    var sqlString = DataProvider.ContentDao.GetCreateTableCollectionInfoSqlString(_tableName);
                    LtlSqlString.Text = sqlString.Replace("\r\n", "<br>").Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
                    _showSqlTable     = true;
                }
            }
            else if (AuthRequest.IsQueryExists("DeleteDB"))
            {
                try
                {
                    DataProvider.TableDao.DeleteDbTable(_tableName);
                    tableInfo.IsChangedAfterCreatedInDb = false;

                    AuthRequest.AddAdminLog("删除辅助表", $"辅助表:{_tableName}");

                    SuccessMessage("辅助表删除成功!");
                    PageUtils.Redirect(_redirectUrl);
                }
                catch (Exception ex)
                {
                    FailMessage(ex, "<br>辅助表删除失败,失败原因为:" + ex.Message + "<br>");
                }
            }
            else if (AuthRequest.IsQueryExists("ReCreateDB"))
            {
                try
                {
                    DataProvider.TableDao.ReCreateDbTable(_tableName);
                    DataProvider.ChannelDao.UpdateContentNumToZero(_tableName);
                    tableInfo.IsChangedAfterCreatedInDb = false;

                    AuthRequest.AddAdminLog("重建辅助表", $"辅助表:{_tableName}");

                    SuccessMessage("辅助表重建成功!");
                    PageUtils.Redirect(_redirectUrl);
                }
                catch (Exception ex)
                {
                    FailMessage(ex, "<br>辅助表重建失败,失败原因为:" + ex.Message + "<br>请检查创建表SQL命令");
                    var sqlString = DataProvider.ContentDao.GetCreateTableCollectionInfoSqlString(_tableName);
                    LtlSqlString.Text = sqlString.Replace("\r\n", "<br>").Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
                    _showSqlTable     = true;
                }
            }
            else if (AuthRequest.IsQueryExists("ShowCrateDBCommand"))
            {
                var sqlString = DataProvider.ContentDao.GetCreateTableCollectionInfoSqlString(_tableName);
                LtlSqlString.Text = sqlString.Replace("\r\n", "<br>").Replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;");
            }
            else if (AuthRequest.IsQueryExists("SetTaxis"))
            {
                var direction       = AuthRequest.GetQueryString("Direction");
                var tableMetadataId = AuthRequest.GetQueryInt("TableMetadataId");
                switch (direction.ToUpper())
                {
                case "UP":
                    DataProvider.TableMetadataDao.TaxisDown(tableMetadataId, _tableName);
                    break;

                case "DOWN":
                    DataProvider.TableMetadataDao.TaxisUp(tableMetadataId, _tableName);
                    break;
                }
                SuccessMessage("排序成功!");
            }

            _tableIsRealCreated = DataProvider.DatabaseDao.IsTableExists(_tableName);

            _isTableUsed = DataProvider.SiteDao.IsTableUsed(_tableName);

            PhSyncTable.Visible = _tableIsRealCreated && tableInfo.IsChangedAfterCreatedInDb;
            PhSqlString.Visible = _showSqlTable;

            if (IsPostBack)
            {
                return;
            }

            VerifyAdministratorPermissions(ConfigManager.SettingsPermissions.Site);

            RptContents.DataSource     = DataProvider.TableMetadataDao.GetDataSource(_tableName);
            RptContents.ItemDataBound += RptContents_ItemDataBound;
            RptContents.DataBind();

            BtnAdd.Attributes.Add("onclick", ModalTableMetadataAdd.GetOpenWindowStringToAdd(_tableName));

            var redirectUrl = GetRedirectUrl(_tableName);

            bool isBtnCreateDb;

            if (string.IsNullOrEmpty(_tableName))
            {
                isBtnCreateDb = false;
            }
            else
            {
                isBtnCreateDb = !_tableIsRealCreated;
            }
            if (isBtnCreateDb)
            {
                BtnCreateDb.Attributes.Add("onclick", $"location.href='{redirectUrl}&CreateDB={true}';return false;");
            }
            else
            {
                BtnCreateDb.Visible = false;
            }

            bool isBtnDelete;

            if (_tableName == null)
            {
                isBtnDelete = false;
            }
            else
            {
                isBtnDelete = !_isTableUsed;
            }
            if (isBtnDelete)
            {
                BtnDelete.Attributes.Add("onclick", $"if (confirm('此操作将删除辅助表“{_tableName}”,确认吗?'))location.href='{redirectUrl}&DeleteDB={true}';return false;");
            }
            else
            {
                BtnDelete.Visible = false;
            }

            if (isBtnCreateDb)
            {
                BtnReCreateDb.Attributes.Add("onclick", $"if (confirm('此操作将覆盖已建立的辅助表,表中已存数据将丢失,确认吗?'))location.href='{redirectUrl}&ReCreateDB={true}';return false;");
            }
            else
            {
                BtnReCreateDb.Visible = false;
            }

            var isSqlString = !string.IsNullOrEmpty(_tableName);

            if (isSqlString)
            {
                BtnSqlString.Attributes.Add("onclick", $"location.href='{redirectUrl}&ShowCrateDBCommand={true}';return false;");
            }
            else
            {
                BtnSqlString.Visible = false;
            }
        }