Ejemplo n.º 1
0
 private void m_pTab_Security_UsersOrGroups_SelectedIndexChanged(object sender, EventArgs e)
 {
     this.m_EvensLocked = true;
     if (this.m_pTab_Security_UsersOrGroups.SelectedItems.Count > 0)
     {
         this.mt_Tab_Security_UsersOrGroupsToolbar.Items[1].Enabled = true;
         if (!this.m_pTab_Security_InheritAcl.Checked)
         {
             this.m_pTab_Security_Permissions.Enabled = true;
         }
         ListViewItem  listViewItem  = this.m_pTab_Security_UsersOrGroups.SelectedItems[0];
         UserFolderAcl userFolderAcl = (UserFolderAcl)listViewItem.Tag;
         if ((userFolderAcl.Permissions & IMAP_ACL_Flags.l) != IMAP_ACL_Flags.None)
         {
             this.m_pTab_Security_Permissions.Items[1].Checked = true;
         }
         if ((userFolderAcl.Permissions & IMAP_ACL_Flags.r) != IMAP_ACL_Flags.None)
         {
             this.m_pTab_Security_Permissions.Items[3].Checked = true;
         }
         if ((userFolderAcl.Permissions & IMAP_ACL_Flags.s) != IMAP_ACL_Flags.None)
         {
             this.m_pTab_Security_Permissions.Items[6].Checked = true;
         }
         if ((userFolderAcl.Permissions & IMAP_ACL_Flags.w) != IMAP_ACL_Flags.None)
         {
             this.m_pTab_Security_Permissions.Items[6].Checked = true;
         }
         if ((userFolderAcl.Permissions & IMAP_ACL_Flags.i) != IMAP_ACL_Flags.None)
         {
             this.m_pTab_Security_Permissions.Items[4].Checked = true;
         }
         if ((userFolderAcl.Permissions & IMAP_ACL_Flags.p) != IMAP_ACL_Flags.None)
         {
             this.m_pTab_Security_Permissions.Items[4].Checked = true;
         }
         if ((userFolderAcl.Permissions & IMAP_ACL_Flags.c) != IMAP_ACL_Flags.None)
         {
             this.m_pTab_Security_Permissions.Items[2].Checked = true;
         }
         if ((userFolderAcl.Permissions & IMAP_ACL_Flags.d) != IMAP_ACL_Flags.None)
         {
             this.m_pTab_Security_Permissions.Items[5].Checked = true;
         }
         if ((userFolderAcl.Permissions & IMAP_ACL_Flags.a) != IMAP_ACL_Flags.None)
         {
             this.m_pTab_Security_Permissions.Items[0].Checked = true;
         }
     }
     else
     {
         this.mt_Tab_Security_UsersOrGroupsToolbar.Items[1].Enabled = false;
         this.m_pTab_Security_Permissions.Enabled = false;
         foreach (ListViewItem listViewItem2 in this.m_pTab_Security_Permissions.Items)
         {
             listViewItem2.Checked = false;
         }
     }
     this.m_EvensLocked = false;
 }
Ejemplo n.º 2
0
        private void m_pTab_Security_Permissions_ItemChecked(object sender, ItemCheckedEventArgs e)
        {
            if (m_EvensLocked)
            {
                return;
            }

            // See if permissions has changed, if so update them.
            if (m_pTab_Security_UsersOrGroups.SelectedItems.Count > 0)
            {
                //--- Construct ACl flags ---------------//
                IMAP_ACL_Flags acl = IMAP_ACL_Flags.None;
                if (m_pTab_Security_Permissions.Items[0].Checked)
                {
                    acl |= IMAP_ACL_Flags.a;
                }
                if (m_pTab_Security_Permissions.Items[1].Checked)
                {
                    acl |= IMAP_ACL_Flags.l;
                }
                if (m_pTab_Security_Permissions.Items[2].Checked)
                {
                    acl |= IMAP_ACL_Flags.c;
                }
                if (m_pTab_Security_Permissions.Items[3].Checked)
                {
                    acl |= IMAP_ACL_Flags.r;
                }
                if (m_pTab_Security_Permissions.Items[4].Checked)
                {
                    acl |= IMAP_ACL_Flags.i | IMAP_ACL_Flags.p;
                }
                if (m_pTab_Security_Permissions.Items[5].Checked)
                {
                    acl |= IMAP_ACL_Flags.d;
                }
                if (m_pTab_Security_Permissions.Items[6].Checked)
                {
                    acl |= IMAP_ACL_Flags.w | IMAP_ACL_Flags.s;
                }
                //--------------------------------------//

                UserFolderAcl aclEntry = (UserFolderAcl)m_pTab_Security_UsersOrGroups.SelectedItems[0].Tag;
                if (aclEntry.Permissions != acl)
                {
                    aclEntry.Permissions = acl;
                }
            }
        }
Ejemplo n.º 3
0
        private void m_pTab_Security_InheritAcl_CheckStateChanged(object sender, EventArgs e)
        {
            // Events are locked, just do nothing
            if (m_EvensLocked)
            {
                return;
            }
            m_EvensLocked = true;

            if (m_pTab_Security_InheritAcl.Checked)
            {
                string text = "Do you want to inherit all permissions from parent folder and loose current permissions from current folder ?";
                if (MessageBox.Show(this, text, "Warning:", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    mt_Tab_Security_UsersOrGroupsToolbar.Enabled = false;
                    m_pTab_Security_UsersOrGroups.Enabled        = false;
                    m_pTab_Security_Permissions.Enabled          = false;

                    foreach (ListViewItem it in m_pTab_Security_UsersOrGroups.Items)
                    {
                        UserFolderAcl acl = (UserFolderAcl)it.Tag;
                        acl.Owner.Remove(acl);
                    }

                    LoadACL();
                }
                else
                {
                    // Undo check (make checkbox unchecked)
                    m_pTab_Security_InheritAcl.Checked           = false;
                    mt_Tab_Security_UsersOrGroupsToolbar.Enabled = true;
                    m_pTab_Security_UsersOrGroups.Enabled        = true;
                    m_pTab_Security_Permissions.Enabled          = true;
                }
            }
            else
            {
                mt_Tab_Security_UsersOrGroupsToolbar.Enabled = true;
                m_pTab_Security_UsersOrGroups.Enabled        = true;
                m_pTab_Security_Permissions.Enabled          = true;

                m_pTab_Security_UsersOrGroups.Items.Clear();
                m_pTab_Security_UsersOrGroups_SelectedIndexChanged(null, null);
            }

            m_EvensLocked = false;
        }
Ejemplo n.º 4
0
 private void m_pTab_Security_Permissions_ItemChecked(object sender, ItemCheckedEventArgs e)
 {
     if (this.m_EvensLocked)
     {
         return;
     }
     if (this.m_pTab_Security_UsersOrGroups.SelectedItems.Count > 0)
     {
         IMAP_ACL_Flags iMAP_ACL_Flags = IMAP_ACL_Flags.None;
         if (this.m_pTab_Security_Permissions.Items[0].Checked)
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.a;
         }
         if (this.m_pTab_Security_Permissions.Items[1].Checked)
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.l;
         }
         if (this.m_pTab_Security_Permissions.Items[2].Checked)
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.c;
         }
         if (this.m_pTab_Security_Permissions.Items[3].Checked)
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.r;
         }
         if (this.m_pTab_Security_Permissions.Items[4].Checked)
         {
             iMAP_ACL_Flags |= (IMAP_ACL_Flags)48;
         }
         if (this.m_pTab_Security_Permissions.Items[5].Checked)
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.d;
         }
         if (this.m_pTab_Security_Permissions.Items[6].Checked)
         {
             iMAP_ACL_Flags |= (IMAP_ACL_Flags)12;
         }
         UserFolderAcl userFolderAcl = (UserFolderAcl)this.m_pTab_Security_UsersOrGroups.SelectedItems[0].Tag;
         if (userFolderAcl.Permissions != iMAP_ACL_Flags)
         {
             userFolderAcl.Permissions = iMAP_ACL_Flags;
         }
     }
 }
Ejemplo n.º 5
0
 private void m_pTab_Security_Permissions_ItemCheck(object sender, ItemCheckEventArgs e)
 {
     if (this.m_EvensLocked)
     {
         return;
     }
     if (this.m_pTab_Security_UsersOrGroups.SelectedItems.Count > 0)
     {
         IMAP_ACL_Flags iMAP_ACL_Flags = IMAP_ACL_Flags.None;
         if ((e.Index == 0 && e.NewValue == CheckState.Checked) || (e.Index != 0 && this.m_pTab_Security_Permissions.Items[0].Checked))
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.a;
         }
         if ((e.Index == 1 && e.NewValue == CheckState.Checked) || (e.Index != 1 && this.m_pTab_Security_Permissions.Items[1].Checked))
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.l;
         }
         if ((e.Index == 2 && e.NewValue == CheckState.Checked) || (e.Index != 2 && this.m_pTab_Security_Permissions.Items[2].Checked))
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.c;
         }
         if ((e.Index == 3 && e.NewValue == CheckState.Checked) || (e.Index != 3 && this.m_pTab_Security_Permissions.Items[3].Checked))
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.r;
         }
         if ((e.Index == 4 && e.NewValue == CheckState.Checked) || (e.Index != 4 && this.m_pTab_Security_Permissions.Items[4].Checked))
         {
             iMAP_ACL_Flags |= (IMAP_ACL_Flags)48;
         }
         if ((e.Index == 5 && e.NewValue == CheckState.Checked) || (e.Index != 5 && this.m_pTab_Security_Permissions.Items[5].Checked))
         {
             iMAP_ACL_Flags |= IMAP_ACL_Flags.d;
         }
         if ((e.Index == 6 && e.NewValue == CheckState.Checked) || (e.Index != 6 && this.m_pTab_Security_Permissions.Items[6].Checked))
         {
             iMAP_ACL_Flags |= (IMAP_ACL_Flags)12;
         }
         UserFolderAcl userFolderAcl = (UserFolderAcl)this.m_pTab_Security_UsersOrGroups.SelectedItems[0].Tag;
         if (userFolderAcl.Permissions != iMAP_ACL_Flags)
         {
             userFolderAcl.Permissions = iMAP_ACL_Flags;
         }
     }
 }
Ejemplo n.º 6
0
 private void m_pTab_Security_InheritAcl_CheckStateChanged(object sender, EventArgs e)
 {
     if (this.m_EvensLocked)
     {
         return;
     }
     this.m_EvensLocked = true;
     if (this.m_pTab_Security_InheritAcl.Checked)
     {
         string text = "Do you want to inherit all permissions from parent folder and loose current permissions from current folder ?";
         if (MessageBox.Show(this, text, "Warning:", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
         {
             this.mt_Tab_Security_UsersOrGroupsToolbar.Enabled = false;
             this.m_pTab_Security_UsersOrGroups.Enabled        = false;
             this.m_pTab_Security_Permissions.Enabled          = false;
             foreach (ListViewItem listViewItem in this.m_pTab_Security_UsersOrGroups.Items)
             {
                 UserFolderAcl userFolderAcl = (UserFolderAcl)listViewItem.Tag;
                 userFolderAcl.Owner.Remove(userFolderAcl);
             }
             this.LoadACL();
         }
         else
         {
             this.m_pTab_Security_InheritAcl.Checked           = false;
             this.mt_Tab_Security_UsersOrGroupsToolbar.Enabled = true;
             this.m_pTab_Security_UsersOrGroups.Enabled        = true;
             this.m_pTab_Security_Permissions.Enabled          = true;
         }
     }
     else
     {
         this.mt_Tab_Security_UsersOrGroupsToolbar.Enabled = true;
         this.m_pTab_Security_UsersOrGroups.Enabled        = true;
         this.m_pTab_Security_Permissions.Enabled          = true;
         this.m_pTab_Security_UsersOrGroups.Items.Clear();
         this.m_pTab_Security_UsersOrGroups_SelectedIndexChanged(null, null);
     }
     this.m_EvensLocked = false;
 }
Ejemplo n.º 7
0
 private void mt_Tab_Security_UsersOrGroupsToolbar_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
 {
     if (e.ClickedItem.Tag.ToString() == "add")
     {
         List <string> list = new List <string>();
         foreach (ListViewItem listViewItem in this.m_pTab_Security_UsersOrGroups.Items)
         {
             list.Add(listViewItem.Text.ToLower());
         }
         SelectUserOrGroupForm selectUserOrGroupForm = new SelectUserOrGroupForm(this.m_pVirtualServer, false, false, list);
         if (selectUserOrGroupForm.ShowDialog(this) == DialogResult.OK)
         {
             ListViewItem listViewItem2 = new ListViewItem(selectUserOrGroupForm.SelectedUserOrGroup);
             listViewItem2.Tag = this.m_pFolder.ACL.Add(selectUserOrGroupForm.SelectedUserOrGroup, IMAP_ACL_Flags.None);
             if (selectUserOrGroupForm.IsGroup)
             {
                 listViewItem2.ImageIndex = 1;
             }
             else
             {
                 listViewItem2.ImageIndex = 0;
             }
             listViewItem2.Selected = true;
             this.m_pTab_Security_UsersOrGroups.Items.Add(listViewItem2);
             return;
         }
     }
     else if (e.ClickedItem.Tag.ToString() == "delete")
     {
         ListViewItem listViewItem3 = this.m_pTab_Security_UsersOrGroups.SelectedItems[0];
         if (MessageBox.Show(this, "Are you sure you want to remove '" + listViewItem3.Text + "' permissions on current folder ?", "Confirm Delete:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             UserFolderAcl userFolderAcl = (UserFolderAcl)listViewItem3.Tag;
             userFolderAcl.Owner.Remove(userFolderAcl);
             listViewItem3.Remove();
         }
     }
 }
Ejemplo n.º 8
0
 private void mt_Tab_Security_UsersOrGroupsToolbar_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
 {
     if (e.ClickedItem.Tag.ToString() == "add")
     {
         List <string> excludeList = new List <string>();
         foreach (ListViewItem item in m_pTab_Security_UsersOrGroups.Items)
         {
             excludeList.Add(item.Text.ToLower());
         }
         wfrm_se_UserOrGroup frm = new wfrm_se_UserOrGroup(m_pVirtualServer, false, false, excludeList);
         if (frm.ShowDialog(this) == DialogResult.OK)
         {
             ListViewItem item = new ListViewItem(frm.SelectedUserOrGroup);
             item.Tag = m_pFolder.ACL.Add(frm.SelectedUserOrGroup, LumiSoft.Net.IMAP.IMAP_ACL_Flags.None);
             if (frm.IsGroup)
             {
                 item.ImageIndex = 1;
             }
             else
             {
                 item.ImageIndex = 0;
             }
             item.Selected = true;
             m_pTab_Security_UsersOrGroups.Items.Add(item);
         }
     }
     else if (e.ClickedItem.Tag.ToString() == "delete")
     {
         ListViewItem item = m_pTab_Security_UsersOrGroups.SelectedItems[0];
         if (MessageBox.Show(this, "Are you sure you want to remove '" + item.Text + "' permissions on current folder ?", "Confirm Delete:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             UserFolderAcl acl = (UserFolderAcl)item.Tag;
             acl.Owner.Remove(acl);
             item.Remove();
         }
     }
 }
Ejemplo n.º 9
0
        private void m_pTab_Security_UsersOrGroups_SelectedIndexChanged(object sender, EventArgs e)
        {
            m_EvensLocked = true;

            if (m_pTab_Security_UsersOrGroups.SelectedItems.Count > 0)
            {
                mt_Tab_Security_UsersOrGroupsToolbar.Items[1].Enabled = true;
                if (!m_pTab_Security_InheritAcl.Checked)
                {
                    m_pTab_Security_Permissions.Enabled = true;
                }

                ListViewItem  item = m_pTab_Security_UsersOrGroups.SelectedItems[0];
                UserFolderAcl acl  = (UserFolderAcl)item.Tag;

                if ((acl.Permissions & IMAP_ACL_Flags.l) != 0)
                {
                    m_pTab_Security_Permissions.Items[1].Checked = true;
                }
                if ((acl.Permissions & IMAP_ACL_Flags.r) != 0)
                {
                    m_pTab_Security_Permissions.Items[3].Checked = true;
                }
                if ((acl.Permissions & IMAP_ACL_Flags.s) != 0)
                {
                    m_pTab_Security_Permissions.Items[6].Checked = true;
                }
                if ((acl.Permissions & IMAP_ACL_Flags.w) != 0)
                {
                    m_pTab_Security_Permissions.Items[6].Checked = true;
                }
                if ((acl.Permissions & IMAP_ACL_Flags.i) != 0)
                {
                    m_pTab_Security_Permissions.Items[4].Checked = true;
                }
                if ((acl.Permissions & IMAP_ACL_Flags.p) != 0)
                {
                    m_pTab_Security_Permissions.Items[4].Checked = true;
                }
                if ((acl.Permissions & IMAP_ACL_Flags.c) != 0)
                {
                    m_pTab_Security_Permissions.Items[2].Checked = true;
                }
                if ((acl.Permissions & IMAP_ACL_Flags.d) != 0)
                {
                    m_pTab_Security_Permissions.Items[5].Checked = true;
                }
                if ((acl.Permissions & IMAP_ACL_Flags.a) != 0)
                {
                    m_pTab_Security_Permissions.Items[0].Checked = true;
                }
            }
            else
            {
                mt_Tab_Security_UsersOrGroupsToolbar.Items[1].Enabled = false;
                m_pTab_Security_Permissions.Enabled = false;

                foreach (ListViewItem item in m_pTab_Security_Permissions.Items)
                {
                    item.Checked = false;
                }
            }

            m_EvensLocked = false;
        }
Ejemplo n.º 10
0
        private void wfrm_User_FolderProperties_FormClosing(object sender, FormClosingEventArgs e)
        {
            try{
                // See if permissions has chanhed, if so update them,
                if (m_pTab_Security_UsersOrGroups.SelectedItems.Count > 0)
                {
                    //--- Construct ACl flags ---------------//
                    IMAP_ACL_Flags acl = IMAP_ACL_Flags.None;
                    if (m_pTab_Security_Permissions.Items[0].Checked)
                    {
                        acl |= IMAP_ACL_Flags.a;
                    }
                    if (m_pTab_Security_Permissions.Items[1].Checked)
                    {
                        acl |= IMAP_ACL_Flags.l;
                    }
                    if (m_pTab_Security_Permissions.Items[2].Checked)
                    {
                        acl |= IMAP_ACL_Flags.c;
                    }
                    if (m_pTab_Security_Permissions.Items[3].Checked)
                    {
                        acl |= IMAP_ACL_Flags.r;
                    }
                    if (m_pTab_Security_Permissions.Items[4].Checked)
                    {
                        acl |= IMAP_ACL_Flags.i | IMAP_ACL_Flags.p;
                    }
                    if (m_pTab_Security_Permissions.Items[5].Checked)
                    {
                        acl |= IMAP_ACL_Flags.d;
                    }
                    if (m_pTab_Security_Permissions.Items[6].Checked)
                    {
                        acl |= IMAP_ACL_Flags.w | IMAP_ACL_Flags.s;
                    }
                    //--------------------------------------//

                    UserFolderAcl aclEntry = (UserFolderAcl)m_pTab_Security_UsersOrGroups.SelectedItems[0].Tag;
                    if (aclEntry.Permissions != acl)
                    {
                        aclEntry.Permissions = acl;
                        aclEntry.Commit();
                    }
                }

                //--- See if sharing data changed ------------------------------------------------------------
                // Sharing removed
                if (m_pTab_Sharing_DontShare.Checked && m_ShareName != "")
                {
                    SharedRootFolder root = m_pVirtualServer.RootFolders.GetRootFolderByName(m_ShareName);
                    root.Owner.Remove(root);
                }
                else if (m_pTab_Sharing_Share.Checked && m_ShareName != m_pTab_Sharing_ShareName.Text)
                {
                    // Update shared root folder info
                    if (m_pVirtualServer.RootFolders.Contains(m_ShareName))
                    {
                        SharedRootFolder root = m_pVirtualServer.RootFolders.GetRootFolderByName(m_ShareName);
                        root.Enabled = true;
                        root.Name    = m_pTab_Sharing_ShareName.Text;
                        root.Commit();
                    }
                    // Add new shared root folder
                    else
                    {
                        m_pVirtualServer.RootFolders.Add(
                            true,
                            m_pTab_Sharing_ShareName.Text,
                            "",
                            SharedFolderRootType_enum.BoundedRootFolder,
                            m_pFolder.User.UserName,
                            m_pFolder.FolderFullPath
                            );
                    }
                }
                //-------------------------------------------------------------------------------------------
            }
            catch (Exception x) {
                wfrm_sys_Error frm = new wfrm_sys_Error(x, new System.Diagnostics.StackTrace());
                frm.ShowDialog(null);

                if (MessageBox.Show(this, "Do you want to reconfigure ?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    e.Cancel = true;
                }
            }
        }
Ejemplo n.º 11
0
        private void LoadACL()
        {
            this.m_EvensLocked = true;
            this.m_pTab_Security_UsersOrGroups.Items.Clear();
            bool flag = false;

            if (this.m_pFolder.ACL.Count > 0)
            {
                foreach (UserFolderAcl userFolderAcl in this.m_pFolder.ACL)
                {
                    ListViewItem listViewItem = new ListViewItem(userFolderAcl.UserOrGroup);
                    listViewItem.SubItems.Add(IMAP_Utils.ACL_to_String(userFolderAcl.Permissions));
                    if (!this.m_pVirtualServer.Groups.Contains(userFolderAcl.UserOrGroup))
                    {
                        listViewItem.ImageIndex = 0;
                    }
                    else
                    {
                        listViewItem.ImageIndex = 1;
                    }
                    listViewItem.Tag = userFolderAcl;
                    this.m_pTab_Security_UsersOrGroups.Items.Add(listViewItem);
                }
                flag = true;
            }
            else
            {
                UserFolder userFolder = this.m_pFolder;
                while (userFolder.Parent != null)
                {
                    userFolder = userFolder.Parent;
                    if (userFolder.ACL.Count > 0)
                    {
                        IEnumerator enumerator2 = userFolder.ACL.GetEnumerator();
                        try
                        {
                            while (enumerator2.MoveNext())
                            {
                                UserFolderAcl userFolderAcl2 = (UserFolderAcl)enumerator2.Current;
                                ListViewItem  listViewItem2  = new ListViewItem(userFolderAcl2.UserOrGroup);
                                listViewItem2.SubItems.Add(IMAP_Utils.ACL_to_String(userFolderAcl2.Permissions));
                                if (!this.m_pVirtualServer.Groups.Contains(userFolderAcl2.UserOrGroup))
                                {
                                    listViewItem2.ImageIndex = 0;
                                }
                                else
                                {
                                    listViewItem2.ImageIndex = 1;
                                }
                                listViewItem2.Tag = userFolderAcl2;
                                this.m_pTab_Security_UsersOrGroups.Items.Add(listViewItem2);
                            }
                            break;
                        }
                        finally
                        {
                            IDisposable disposable2 = enumerator2 as IDisposable;
                            if (disposable2 != null)
                            {
                                disposable2.Dispose();
                            }
                        }
                    }
                }
            }
            if (!flag)
            {
                this.m_pTab_Security_InheritAcl.Checked           = true;
                this.mt_Tab_Security_UsersOrGroupsToolbar.Enabled = false;
                this.m_pTab_Security_Permissions.Enabled          = false;
            }
            else
            {
                this.m_pTab_Security_InheritAcl.Checked           = false;
                this.mt_Tab_Security_UsersOrGroupsToolbar.Enabled = true;
                this.m_pTab_Security_Permissions.Enabled          = true;
                this.m_pTab_Security_UsersOrGroups_SelectedIndexChanged(null, null);
            }
            this.m_EvensLocked = false;
        }
Ejemplo n.º 12
0
 private void wfrm_User_FolderProperties_FormClosing(object sender, FormClosingEventArgs e)
 {
     try
     {
         if (this.m_pTab_Security_UsersOrGroups.SelectedItems.Count > 0)
         {
             IMAP_ACL_Flags iMAP_ACL_Flags = IMAP_ACL_Flags.None;
             if (this.m_pTab_Security_Permissions.Items[0].Checked)
             {
                 iMAP_ACL_Flags |= IMAP_ACL_Flags.a;
             }
             if (this.m_pTab_Security_Permissions.Items[1].Checked)
             {
                 iMAP_ACL_Flags |= IMAP_ACL_Flags.l;
             }
             if (this.m_pTab_Security_Permissions.Items[2].Checked)
             {
                 iMAP_ACL_Flags |= IMAP_ACL_Flags.c;
             }
             if (this.m_pTab_Security_Permissions.Items[3].Checked)
             {
                 iMAP_ACL_Flags |= IMAP_ACL_Flags.r;
             }
             if (this.m_pTab_Security_Permissions.Items[4].Checked)
             {
                 iMAP_ACL_Flags |= (IMAP_ACL_Flags)48;
             }
             if (this.m_pTab_Security_Permissions.Items[5].Checked)
             {
                 iMAP_ACL_Flags |= IMAP_ACL_Flags.d;
             }
             if (this.m_pTab_Security_Permissions.Items[6].Checked)
             {
                 iMAP_ACL_Flags |= (IMAP_ACL_Flags)12;
             }
             UserFolderAcl userFolderAcl = (UserFolderAcl)this.m_pTab_Security_UsersOrGroups.SelectedItems[0].Tag;
             if (userFolderAcl.Permissions != iMAP_ACL_Flags)
             {
                 userFolderAcl.Permissions = iMAP_ACL_Flags;
                 userFolderAcl.Commit();
             }
         }
         if (this.m_pTab_Sharing_DontShare.Checked && this.m_ShareName != "")
         {
             SharedRootFolder rootFolderByName = this.m_pVirtualServer.RootFolders.GetRootFolderByName(this.m_ShareName);
             rootFolderByName.Owner.Remove(rootFolderByName);
         }
         else if (this.m_pTab_Sharing_Share.Checked && this.m_ShareName != this.m_pTab_Sharing_ShareName.Text)
         {
             if (this.m_pVirtualServer.RootFolders.Contains(this.m_ShareName))
             {
                 SharedRootFolder rootFolderByName2 = this.m_pVirtualServer.RootFolders.GetRootFolderByName(this.m_ShareName);
                 rootFolderByName2.Enabled = true;
                 rootFolderByName2.Name    = this.m_pTab_Sharing_ShareName.Text;
                 rootFolderByName2.Commit();
             }
             else
             {
                 this.m_pVirtualServer.RootFolders.Add(true, this.m_pTab_Sharing_ShareName.Text, "", SharedFolderRootType.BoundedRootFolder, this.m_pFolder.User.UserName, this.m_pFolder.FolderFullPath);
             }
         }
     }
     catch (Exception x)
     {
         ErrorForm errorForm = new ErrorForm(x, new StackTrace());
         errorForm.ShowDialog(null);
         if (MessageBox.Show(this, "Do you want to reconfigure ?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             e.Cancel = true;
         }
     }
 }