⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weblogpermissionadmin.cs

📁 本系统是在asp版《在线文件管理器》的基础上设计制作
💻 CS
字号:
//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using System.Web;
using System.Web.UI.WebControls;

using CommunityServer.Blogs.Components;
using CommunityServer.Components;
using CommunityServer.Controls;

namespace CommunityServer.Blogs.Controls 
{

    public class WeblogPermissionAdmin : WeblogAdminTemplatedWebControl 
    {

        #region Child Controls

        HyperLink BlogID;
        HyperLink RoleID;
        AccessControlEntryRadioButtonList View;
        AccessControlEntryRadioButtonList Post;
        AccessControlEntryRadioButtonList Reply;
       

        Button Save;
        Button Cancel;

        #endregion

        private bool _isDefaultEditor;
        /// <summary>
        /// Property IsDefaultEditor (bool)
        /// </summary>
        public bool IsDefaultEditor
        {
            get {  return this._isDefaultEditor; }
            set {  this._isDefaultEditor = value; }
        }

        protected override void OnLoad(EventArgs e) 
        {
            if ( !Page.IsPostBack ) 
            {
                this.DataBind();
            }
            base.OnLoad (e);
        }

        protected override void AttachChildControls() 
        {

            BlogID = (HyperLink)FindControl( "BlogID" );
            RoleID = (HyperLink)FindControl( "RoleID" );
            View = (AccessControlEntryRadioButtonList)FindControl( "View" );
            Post = (AccessControlEntryRadioButtonList)FindControl( "Post" );
            Reply = (AccessControlEntryRadioButtonList)FindControl( "Reply" );
            Save = (Button)FindControl( "Save" );
            Save.Click += new EventHandler( Save_Click );
            Cancel = (Button)FindControl("Cancel");
            Cancel.Click +=new EventHandler(Cancel_Click);

        }

        public override void DataBind()
        {
            base.DataBind();

            Save.Text = ResourceManager.GetString( "Save" );
            Cancel.Text = ResourceManager.GetString("Cancel");
			
            WeblogPermission permission = GetCurrentPermission();
            if ( permission != null ) 
            {
                LoadPermission( permission );
            }
        }


       protected virtual void LoadPermission( WeblogPermission permission ) 
        {
			
			
            Role role = Roles.GetRole( permission.RoleID, false );
		

            if(IsDefaultEditor)
            {
                BlogID.Text = "Default Permissions";
            }
            else
            {
                BlogID.Text = string.Format("{0} (AppKey:{1}, BlogID:{2})",CurrentWeblog.Name,CurrentWeblog.ApplicationKey,CurrentWeblog.SectionID);
                BlogID.NavigateUrl = BlogUrls.Instance().AdminSettings(CurrentWeblog.ApplicationKey);
            }
            RoleID.Text = role.Name + ": " + permission.RoleID.ToString();
            RoleID.NavigateUrl = Globals.GetSiteUrls().AdminRoleEdit( permission.RoleID );

            View.SelectedBooleanValue		= permission.View;
            Post.SelectedBooleanValue		= permission.Post;
            Reply.SelectedBooleanValue		= permission.Reply;
           
        }

        protected AccessControlEntry GetValue(string SelectedValue)
        {
            return (AccessControlEntry)Enum.Parse( typeof(AccessControlEntry), SelectedValue );
        }

        protected virtual void SavePermission( WeblogPermission permission ) 
        {
			
            Permission mask;

            mask = Permission.View;
            permission.SetBit( mask,  GetValue(View.SelectedValue));
            mask = Permission.Post;
            permission.SetBit( mask, (AccessControlEntry)Enum.Parse( typeof(AccessControlEntry), Post.SelectedValue ));
            mask = Permission.Reply;
            permission.SetBit( mask, (AccessControlEntry)Enum.Parse( typeof(AccessControlEntry), Reply.SelectedValue ));
            permission.ApplicationType = ApplicationType.Weblog;
            Permissions.UpdatePermission( permission );
        }

        private void Save_Click(object sender, EventArgs e) 
        {
            WeblogPermission permission = GetCurrentPermission();
            if ( permission != null ) 
            {
                SavePermission( permission );
            }

            Cancel_Click(sender,e);
        
        }

        private WeblogPermission GetCurrentPermission() 
        {
            Guid roleID = CSContext.Current.GetGuidFromQueryString( "RoleID" );
			int sectionID;
            if(IsDefaultEditor)
                sectionID = -1;
            else
				sectionID = CurrentWeblog.SectionID;

			WeblogPermission perm = WeblogPermissions.GetBlogPermission( sectionID, roleID );
			if( perm == null ) {
				perm = new WeblogPermission();
				perm.SectionID = sectionID;
				perm.RoleID = roleID;
				perm.SettingsID = CSContext.Current.SiteSettings.SettingsID;
				perm.ApplicationType = ApplicationType.Weblog;
			}
			return perm;
        }

        private void Cancel_Click(object sender, EventArgs e)
        {
            if(IsDefaultEditor)
                Context.Response.Redirect(BlogUrls.Instance().ManageDefaultPermissions);    
            else
            {
                string qs = (Context.Request.QueryString["DM"] == null ? string.Empty : "?DM=" + Context.Request.QueryString["DM"]);
                Context.Response.Redirect(BlogUrls.Instance().ManagePermissions + qs);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -