public void Insert(SitePermissionsInfo info)
        {
            var insertParams = new IDataParameter[]
            {
                GetParameter(ParamRoleName, DataType.VarChar, 255, info.RoleName),
                GetParameter(ParamSiteId, DataType.Integer, info.SiteId),
                GetParameter(ParamChannelIdCollection, DataType.Text, info.ChannelIdCollection),
                GetParameter(ParamChannelPermissions, DataType.Text, info.ChannelPermissions),
                GetParameter(ParamWebsitePermissions, DataType.Text, info.WebsitePermissions)
            };

            ExecuteNonQuery(SqlInsert, insertParams);
        }
        public void Update(SitePermissionsInfo info)
        {
            var updateParms = new IDataParameter[]
            {
                GetParameter(ParmRoleRoleName, DataType.VarChar, 255, info.RoleName),
                GetParameter(ParmSiteId, DataType.Integer, info.SiteId),
                GetParameter(ParmChannelIdCollection, DataType.Text, info.ChannelIdCollection),
                GetParameter(ParmChannelPermissions, DataType.Text, info.ChannelPermissions),
                GetParameter(ParmWebsitePermissions, DataType.Text, info.WebsitePermissions)
            };

            ExecuteNonQuery(_sqlUpdate, updateParms);
        }
Esempio n. 3
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (!Page.IsPostBack || !Page.IsValid)
            {
                return;
            }

            var systemPermissionsInfoList = Session[PageAdminRoleAdd.SystemPermissionsInfoListKey] as List <SitePermissionsInfo>;

            if (systemPermissionsInfoList != null)
            {
                var systemPermissionlist = new List <SitePermissionsInfo>();
                foreach (var systemPermissionsInfo in systemPermissionsInfoList)
                {
                    if (systemPermissionsInfo.SiteId == SiteId)
                    {
                        continue;
                    }
                    systemPermissionlist.Add(systemPermissionsInfo);
                }

                var channelIdList = TranslateUtils.StringCollectionToStringList(Request.Form["ChannelIdCollection"]);
                if (channelIdList.Count > 0 && CblChannelPermissions.SelectedItem != null ||
                    CblWebsiteSysPermissions.SelectedItem != null || CblWebsitePluginPermissions.SelectedItem != null)
                {
                    var websiteSysPermissions =
                        ControlUtils.SelectedItemsValueToStringCollection(CblWebsiteSysPermissions.Items);
                    var websitePluginPermissions =
                        ControlUtils.SelectedItemsValueToStringCollection(CblWebsitePluginPermissions.Items);
                    var systemPermissionsInfo = new SitePermissionsInfo
                    {
                        SiteId = SiteId,
                        ChannelIdCollection = TranslateUtils.ObjectCollectionToString(channelIdList),
                        ChannelPermissions  =
                            ControlUtils.SelectedItemsValueToStringCollection(CblChannelPermissions.Items),
                        WebsitePermissions =
                            websiteSysPermissions + (string.IsNullOrEmpty(websitePluginPermissions) ? string.Empty : "," + websitePluginPermissions)
                    };

                    systemPermissionlist.Add(systemPermissionsInfo);
                }

                Session[PageAdminRoleAdd.SystemPermissionsInfoListKey] = systemPermissionlist;
            }

            PageUtils.Redirect(PageAdminRoleAdd.GetReturnRedirectUrl(AuthRequest.GetQueryString("RoleName")));
        }
        public void InsertWithTrans(SitePermissionsInfo info, IDbTransaction trans)
        {
            if (IsExists(info.RoleName, info.SiteId, trans))
            {
                DeleteWithTrans(info.RoleName, info.SiteId, trans);
            }

            var insertParms = new IDataParameter[]
            {
                GetParameter(ParmRoleRoleName, DataType.VarChar, 255, info.RoleName),
                GetParameter(ParmSiteId, DataType.Integer, info.SiteId),
                GetParameter(ParmChannelIdCollection, DataType.Text, info.ChannelIdCollection),
                GetParameter(ParmChannelPermissions, DataType.Text, info.ChannelPermissions),
                GetParameter(ParmWebsitePermissions, DataType.Text, info.WebsitePermissions)
            };

            ExecuteNonQuery(trans, SqlInsert, insertParms);
        }
        public List <SitePermissionsInfo> GetSystemPermissionsInfoList(string roleName)
        {
            var list = new List <SitePermissionsInfo>();

            var parameters = new IDataParameter[]
            {
                GetParameter(ParamRoleName, DataType.VarChar, 255, roleName)
            };

            using (var rdr = ExecuteReader(SqlSelectAllByRoleName, parameters))
            {
                while (rdr.Read())
                {
                    var i    = 0;
                    var info = new SitePermissionsInfo(GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                    list.Add(info);
                }
                rdr.Close();
            }

            return(list);
        }
        public SitePermissionsInfo GetSystemPermissionsInfo(string roleName, int siteId)
        {
            SitePermissionsInfo permissionsInfo = null;

            var parameters = new IDataParameter[]
            {
                GetParameter(ParamRoleName, DataType.VarChar, 255, roleName),
                GetParameter(ParamSiteId, DataType.Integer, siteId)
            };

            using (var rdr = ExecuteReader(SqlSelectAllByRoleNameAndSiteId, parameters))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    permissionsInfo = new SitePermissionsInfo(GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                }
                rdr.Close();
            }

            return(permissionsInfo);
        }
        public List <SitePermissionsInfo> GetSystemPermissionsInfoListBySiteId(int siteId, string whereStr)
        {
            var list = new List <SitePermissionsInfo>();

            var parms = new IDataParameter[]
            {
                GetParameter(ParmSiteId, DataType.Integer, siteId)
            };

            using (var rdr = ExecuteReader(
                       $"SELECT RoleName, SiteId, ChannelIdCollection, ChannelPermissions, WebsitePermissions FROM siteserver_SitePermissions WHERE SiteId = @SiteId {whereStr} ", parms))
            {
                while (rdr.Read())
                {
                    var i    = 0;
                    var info = new SitePermissionsInfo(GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i));
                    list.Add(info);
                }
                rdr.Close();
            }

            return(list);
        }
Esempio n. 8
0
        private object GetSitePermissionsObject(int roleId, int siteId, AuthenticatedRequest request)
        {
            SitePermissionsInfo sitePermissionsInfo = null;

            if (roleId > 0)
            {
                var roleInfo = DataProvider.RoleDao.GetRoleInfo(roleId);
                sitePermissionsInfo = DataProvider.SitePermissionsDao.GetSystemPermissionsInfo(roleInfo.RoleName, siteId);
            }
            if (sitePermissionsInfo == null)
            {
                sitePermissionsInfo = new SitePermissionsInfo();
            }

            var siteInfo           = SiteManager.GetSiteInfo(siteId);
            var sitePermissions    = new List <Permission>();
            var pluginPermissions  = new List <Permission>();
            var channelPermissions = new List <Permission>();

            if (request.AdminPermissionsImpl.IsSystemAdministrator)
            {
                foreach (var permission in PermissionConfigManager.Instance.WebsiteSysPermissions)
                {
                    sitePermissions.Add(new Permission
                    {
                        Name     = permission.Name,
                        Text     = permission.Text,
                        Selected = StringUtils.In(sitePermissionsInfo.WebsitePermissions, permission.Name)
                    });
                }

                foreach (var permission in PermissionConfigManager.Instance.WebsitePluginPermissions)
                {
                    pluginPermissions.Add(new Permission
                    {
                        Name     = permission.Name,
                        Text     = permission.Text,
                        Selected = StringUtils.In(sitePermissionsInfo.WebsitePermissions, permission.Name)
                    });
                }

                var channelPermissionList = PermissionConfigManager.Instance.ChannelPermissions;
                foreach (var permission in channelPermissionList)
                {
                    if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel1)
                    {
                        if (siteInfo.Additional.IsCheckContentLevel)
                        {
                            if (siteInfo.Additional.CheckContentLevel < 1)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel2)
                    {
                        if (siteInfo.Additional.IsCheckContentLevel)
                        {
                            if (siteInfo.Additional.CheckContentLevel < 2)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel3)
                    {
                        if (siteInfo.Additional.IsCheckContentLevel)
                        {
                            if (siteInfo.Additional.CheckContentLevel < 3)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel4)
                    {
                        if (siteInfo.Additional.IsCheckContentLevel)
                        {
                            if (siteInfo.Additional.CheckContentLevel < 4)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel5)
                    {
                        if (siteInfo.Additional.IsCheckContentLevel)
                        {
                            if (siteInfo.Additional.CheckContentLevel < 5)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }

                    channelPermissions.Add(new Permission
                    {
                        Name     = permission.Name,
                        Text     = permission.Text,
                        Selected = StringUtils.In(sitePermissionsInfo.ChannelPermissions, permission.Name)
                    });
                }
            }
            else
            {
                if (request.AdminPermissionsImpl.HasSitePermissions(siteId))
                {
                    var websitePermissionList = request.AdminPermissionsImpl.GetSitePermissions(siteId);
                    foreach (var websitePermission in websitePermissionList)
                    {
                        foreach (var permission in PermissionConfigManager.Instance.WebsiteSysPermissions)
                        {
                            if (permission.Name == websitePermission)
                            {
                                sitePermissions.Add(new Permission
                                {
                                    Name     = permission.Name,
                                    Text     = permission.Text,
                                    Selected = StringUtils.In(sitePermissionsInfo.WebsitePermissions, permission.Name)
                                });
                            }
                        }

                        foreach (var permission in PermissionConfigManager.Instance.WebsitePluginPermissions)
                        {
                            if (permission.Name == websitePermission)
                            {
                                pluginPermissions.Add(new Permission
                                {
                                    Name     = permission.Name,
                                    Text     = permission.Text,
                                    Selected = StringUtils.In(sitePermissionsInfo.WebsitePermissions, permission.Name)
                                });
                            }
                        }
                    }
                }

                var channelPermissionList = request.AdminPermissionsImpl.GetChannelPermissions(siteId);
                foreach (var channelPermission in channelPermissionList)
                {
                    foreach (var permission in PermissionConfigManager.Instance.ChannelPermissions)
                    {
                        if (permission.Name == channelPermission)
                        {
                            if (channelPermission == ConfigManager.ChannelPermissions.ContentCheck)
                            {
                                if (siteInfo.Additional.IsCheckContentLevel)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel1)
                            {
                                if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 1)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel2)
                            {
                                if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 2)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel3)
                            {
                                if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 3)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel4)
                            {
                                if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 4)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel5)
                            {
                                if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 5)
                                {
                                    continue;
                                }
                            }

                            channelPermissions.Add(new Permission
                            {
                                Name     = permission.Name,
                                Text     = permission.Text,
                                Selected = StringUtils.In(sitePermissionsInfo.ChannelPermissions, permission.Name)
                            });
                        }
                    }
                }
            }

            var channelInfo = ChannelManager.GetChannelInfo(siteId, siteId);

            channelInfo.Children = ChannelManager.GetChildren(siteId, siteId);
            var checkedChannelIdList = new List <int>();

            foreach (var i in TranslateUtils.StringCollectionToIntList(sitePermissionsInfo.ChannelIdCollection))
            {
                if (!checkedChannelIdList.Contains(i))
                {
                    checkedChannelIdList.Add(i);
                }
            }

            return(new
            {
                Value = siteId,
                SitePermissions = sitePermissions,
                PluginPermissions = pluginPermissions,
                ChannelPermissions = channelPermissions,
                ChannelInfo = channelInfo,
                CheckedChannelIdList = checkedChannelIdList
            });
        }
Esempio n. 9
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            LtlNodeTree.Text = GetNodeTreeHtml();

            if (IsPostBack)
            {
                return;
            }

            VerifyAdministratorPermissions(ConfigManager.SettingsPermissions.Admin);

            if (AuthRequest.AdminPermissions.IsSystemAdministrator)
            {
                var channelPermissions = PermissionConfigManager.Instance.ChannelPermissions;
                foreach (var permission in channelPermissions)
                {
                    if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel1)
                    {
                        if (SiteInfo.Additional.IsCheckContentLevel)
                        {
                            if (SiteInfo.Additional.CheckContentLevel < 1)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel2)
                    {
                        if (SiteInfo.Additional.IsCheckContentLevel)
                        {
                            if (SiteInfo.Additional.CheckContentLevel < 2)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel3)
                    {
                        if (SiteInfo.Additional.IsCheckContentLevel)
                        {
                            if (SiteInfo.Additional.CheckContentLevel < 3)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel4)
                    {
                        if (SiteInfo.Additional.IsCheckContentLevel)
                        {
                            if (SiteInfo.Additional.CheckContentLevel < 4)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel5)
                    {
                        if (SiteInfo.Additional.IsCheckContentLevel)
                        {
                            if (SiteInfo.Additional.CheckContentLevel < 5)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            continue;
                        }
                    }
                    var listItem = new ListItem(permission.Text, permission.Name);
                    CblChannelPermissions.Items.Add(listItem);
                }
            }
            else
            {
                PhChannelPermissions.Visible = false;
                var channelPermissions = AuthRequest.AdminPermissions.GetChannelPermissions(SiteId);
                foreach (var channelPermission in channelPermissions)
                {
                    foreach (var permission in PermissionConfigManager.Instance.ChannelPermissions)
                    {
                        if (permission.Name == channelPermission)
                        {
                            if (channelPermission == ConfigManager.ChannelPermissions.ContentCheck)
                            {
                                if (SiteInfo.Additional.IsCheckContentLevel)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel1)
                            {
                                if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 1)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel2)
                            {
                                if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 2)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel3)
                            {
                                if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 3)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel4)
                            {
                                if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 4)
                                {
                                    continue;
                                }
                            }
                            else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel5)
                            {
                                if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 5)
                                {
                                    continue;
                                }
                            }

                            PhChannelPermissions.Visible = true;
                            var listItem = new ListItem(permission.Text, permission.Name);
                            CblChannelPermissions.Items.Add(listItem);
                        }
                    }
                }
            }

            if (AuthRequest.AdminPermissions.IsSystemAdministrator)
            {
                var websitePermissions = PermissionConfigManager.Instance.WebsitePermissions;
                foreach (var permission in websitePermissions)
                {
                    var listItem = new ListItem(permission.Text, permission.Name);
                    CblWebsitePermissions.Items.Add(listItem);
                }
            }
            else
            {
                PhWebsitePermissions.Visible = false;
                if (AuthRequest.AdminPermissions.HasSitePermissions(SiteId))
                {
                    var websitePermissionList = AuthRequest.AdminPermissions.GetSitePermissions(SiteId);
                    foreach (var websitePermission in websitePermissionList)
                    {
                        foreach (var permission in PermissionConfigManager.Instance.WebsitePermissions)
                        {
                            if (permission.Name == websitePermission)
                            {
                                PhWebsitePermissions.Visible = true;
                                var listItem = new ListItem(permission.Text, permission.Name);
                                CblWebsitePermissions.Items.Add(listItem);
                            }
                        }
                    }
                }
            }

            var systemPermissionsInfoList = Session[PageAdminRoleAdd.SystemPermissionsInfoListKey] as List <SitePermissionsInfo>;

            if (systemPermissionsInfoList != null)
            {
                SitePermissionsInfo systemPermissionsInfo = null;
                foreach (var sitePermissionsInfo in systemPermissionsInfoList)
                {
                    if (sitePermissionsInfo.SiteId == SiteId)
                    {
                        systemPermissionsInfo = sitePermissionsInfo;
                        break;
                    }
                }
                if (systemPermissionsInfo == null)
                {
                    return;
                }

                foreach (ListItem item in CblChannelPermissions.Items)
                {
                    item.Selected = StringUtils.In(systemPermissionsInfo.ChannelPermissions, item.Value);
                }
                foreach (ListItem item in CblWebsitePermissions.Items)
                {
                    item.Selected = StringUtils.In(systemPermissionsInfo.WebsitePermissions, item.Value);
                }
            }
        }