Beispiel #1
0
        public bool SaveSetting(IPermissionSet setting)
        {
            ForumPermissionSetNodeCollection tempNodes = new ForumPermissionSetNodeCollection();

            bool haveAdd = false;

            foreach (ForumPermissionSetNode node in Nodes)
            {
                if (node.NodeID == setting.NodeID)
                {
                    tempNodes.Add((ForumPermissionSetNode)setting);
                    haveAdd = true;
                }
                else
                {
                    tempNodes.Add(node);
                }
            }

            if (haveAdd == false)
            {
                tempNodes.Add((ForumPermissionSetNode)setting);
            }

            ForumPermissionSet permissionSet = new ForumPermissionSet();

            permissionSet.Nodes = tempNodes;

            return(SettingManager.SaveSettings(permissionSet));
        }
Beispiel #2
0
        public bool SetDefaultSkin(string skinID)
        {
            Skin skin = TemplateManager.GetSkin(skinID, true);

            if (skinID == null)
            {
                return(false);
            }

            if (skin.Enabled == false)
            {
                lock (locker)
                {
                    if (DisabledSkins.Contains(skinID))
                    {
                        DisabledSkins.Remove(skinID);
                    }
                }
            }

            DefaultSkin = skinID;

            SettingManager.SaveSettings(this);

            return(true);
        }
        public bool DeleteSetting(int nodeID)
        {
            if (nodeID == 0)
            {
                return(true);
            }

            ManageForumPermissionSetNodeCollection tempNodes = new ManageForumPermissionSetNodeCollection();

            foreach (ManageForumPermissionSetNode node in Nodes)
            {
                if (node.NodeID != nodeID)
                {
                    tempNodes.Add(node);
                }
            }

            ManageForumPermissionSet permissionSet = new ManageForumPermissionSet();

            permissionSet.Nodes = tempNodes;

            bool success = SettingManager.SaveSettings(permissionSet);

            return(success);
        }
Beispiel #4
0
 public void EnableSkin(string skinID)
 {
     lock (locker)
     {
         if (DisabledSkins.Contains(skinID))
         {
             DisabledSkins.Remove(skinID);
         }
     }
     TemplateManager.ClearSkinCache();
     SettingManager.SaveSettings(this);
 }
        public void DeleteGroup(int groupID, MessageDisplay msgdisplay)
        {
            DefaultEmoticonGroup group = m_groups.GetValue(groupID);// m_groups[groupName];

            if (group != null)
            {
                bool error = false;

                if (string.IsNullOrEmpty(group.DirectoryName))
                {
                    msgdisplay.AddError("groupname", "不能删除默认分组");
                }
                else
                {
                    //全部文件监控都关闭然后再删除文件夹, 否则会导致重启 ||  事实证明停止监视也会重启
                    EndWach();
                    foreach (DefaultEmoticonGroup tempgroup in m_groups)
                    {
                        tempgroup.EndWach();
                    }

                    try
                    {
                        Directory.Delete(m_groups.GetValue(groupID).FilePath, true);
                    }
                    catch (Exception ex)
                    {
                        group.BeginWach();
                        msgdisplay.AddError("删除表情出错,错误信息:" + ex.Message);
                        error = true;
                    }

                    if (error == false)
                    {
                        SettingManager.SaveSettings(this);
                        init(group.DirectoryName);
                    }
                    else
                    {
                        foreach (DefaultEmoticonGroup tempgroup in m_groups)
                        {
                            tempgroup.BeginWach();
                        }
                        BeginWach();
                    }
                }
            }
        }
        public void CreateGroup(int sortorder, string GroupName, MessageDisplay msgdisplay)
        {
            if (GroupName != null && GroupName.Trim() != string.Empty)
            {
                GroupName = GroupName.Trim();
                if (GetEmoticonGroupByName(GroupName) != null)
                {
                    msgdisplay.AddError("groupname", "分组:" + GroupName + " 已经存在");
                }
                else
                {
                    if (Regex.IsMatch(GroupName, "[\\/:\\*\\?\"\\<\\>\\|]+"))
                    {
                        msgdisplay.AddError("分组是以文件夹的形式存在。因此,分组名称里不能包含下列字符:/ : * ? \" < > |");
                    }
                    else
                    {
                        bool error = false;
                        try
                        {
                            Directory.CreateDirectory(IOUtil.JoinPath(this.FaceDirectory, GroupName));
                        }
                        catch (Exception ex)
                        {
                            error = true;
                            msgdisplay.AddError("创建表情分组失败, 可能的原因是: 对 " + this.FaceDirectory + " 无写入权限! 具体错误信息: " + ex.Message);
                        }

                        if (error == false)
                        {
                            init();
                            DefaultEmoticonGroup newGroup = GetEmoticonGroupByName(GroupName);
                            if (newGroup != null)
                            {
                                newGroup.SortOrder = sortorder;
                            }
                            SettingManager.SaveSettings(this);
                        }
                    }
                }
            }
            else
            {
                msgdisplay.AddError("groupname", "分组名称不能为空。");
            }
        }
Beispiel #7
0
        public void RemoveLink(int[] linkIds)
        {
            bool needSave = false;

            foreach (int g in linkIds)
            {
                for (int i = 0; i < Links.Count; i++)
                {
                    if (Links[i].LinkID == g)
                    {
                        Links.RemoveAt(i);
                        needSave = true;
                        break;
                    }
                }
            }
            if (needSave)
            {
                SettingManager.SaveSettings(this);
            }
        }
Beispiel #8
0
        public void DisableSkin(string skinID)
        {
            if (TemplateManager.GetSkin(skinID, true) == null)
            {
                return;
            }

            if (DefaultSkin == skinID)
            {
                return;
            }

            lock (locker)
            {
                if (DisabledSkins.Contains(skinID) == false)
                {
                    DisabledSkins.Add(skinID);
                }
            }
            TemplateManager.ClearSkinCache();
            SettingManager.SaveSettings(this);
        }
Beispiel #9
0
        public void ClearExperiesData()
        {
            //return;

            PointActionCollection pointActions = new PointActionCollection();

            foreach (PointAction pointAction in PointActions)
            {
                PointActionType pointActionType = PointActionManager.GetPointActionType(pointAction.Type);

                if (pointActionType == null)
                {
                    continue;
                }

                //检查nodeID
                if (pointActionType.HasNodeList && pointAction.NodeID != 0)
                {
                    bool isExperies = true;
                    foreach (NodeItem item in pointActionType.NodeItemList)
                    {
                        if (item.NodeID == pointAction.NodeID)
                        {
                            isExperies = false;
                            break;
                        }
                    }
                    if (isExperies)
                    {
                        continue;
                    }
                }

                PointAction tempPointAction = new PointAction();
                //检查roleID
                PointActionItemCollection pointActionItems = new PointActionItemCollection();


                foreach (PointActionItem pointActionItem in pointAction.PointActionItems)
                {
                    if (pointActionItem.RoleID == Guid.Empty || AllSettings.Current.RoleSettings.Roles.GetValue(pointActionItem.RoleID) != null)
                    {
                        pointActionItems.Add(pointActionItem);
                    }
                }

                tempPointAction.PointActionItems = pointActionItems;
                tempPointAction.NodeID           = pointAction.NodeID;
                tempPointAction.Type             = pointAction.Type;

                pointActions.Add(tempPointAction);
            }

            PointActionSettings setting = new PointActionSettings();

            setting.PointActions = pointActions;

            try
            {
                SettingManager.SaveSettings(setting);
            }
            catch
            { }
        }