public void DeleteDomain(string name, string type) { switch (type) { case AdminPanelConstants.UserType.xm: XMDomain.DeleteDomain(name); break; case AdminPanelConstants.UserType.xmc: XMDomain.DeleteCustomDomain(name); break; case AdminPanelConstants.UserType.wm: this.DeleteWebMailDomain(name); break; case AdminPanelConstants.UserType.xma: XMDomain.DeleteDomain(name); this.DeleteWebMailDomain(name); break; default: break; } }
public bool Contains(XMDomain value) { return(List.Contains(value)); }
public void Remove(XMDomain value) { List.Remove(value); }
public void Insert(int index, XMDomain value) { List.Insert(index, value); }
public int IndexOf(XMDomain value) { return(List.IndexOf(value)); }
public int Add(XMDomain value) { return(List.Add(value)); }
protected void InitDomain() { string[] dName = new string[1]; string domainName = ""; if (_isUpdate) { _actionDomain = "Edit Domain"; intIncomingMailProtocol.Attributes["class"] = "wm_hide"; ButtonSave.Visible = false; trForHr.Visible = false; textDomainName.Attributes.Add("class", "wm_hide"); string uid = HttpUtility.UrlDecode(this.Request.QueryString["uid"].ToString()); SelectedValueStruct sds = AdminPanelUtils.ParseSelectedValue(uid); hidCustomDomain.Value = "0"; dName[0] = sds.Name; string domains; XMLayer xmLayer = XMServer.CreateXMLayer(); switch (sds.Type) { case AdminPanelConstants.UserType.xm: case AdminPanelConstants.UserType.xma: try { xmLayer.Login(); domains = xmLayer.ListDomains(dName); using (StringReader sr = new StringReader(domains)) { string line = string.Empty; while ((line = sr.ReadLine()) != null) { line = line.Trim(); if (line == ".") { break; } domainName = line.Trim(new char[] { '"' }); } } textDomainName.Value = domainName; } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, error.Message); } finally { xmLayer.Logout(); } break; case AdminPanelConstants.UserType.xmc: _domainType = "vir"; try { xmLayer.Login(); domainName = dName[0]; hidCustomDomain.Value = "1"; ButtonSave.Visible = true; trForHr.Visible = true; string DomainStringArray = XMDomain.GetCustomDomainTab(sds.Name)[0]; using (StringReader sr = new StringReader(DomainStringArray)) { string[] data; string line; // RedirectionsListDDL.Items.Clear(); LRedirectionsListDDL.Items.Clear(); while ((line = sr.ReadLine()) != null) { line = line.Trim(); data = XMDomain.extractCustomDomainData(line); int i; switch (data[0]) { case "mailbox": break; /* * case "redirect": * for (i = 1; i < data.Length; i++) * RedirectionsListDDL.Items.Add(data[i]); * break; */ case "lredirect": for (i = 1; i < data.Length; i++) { LRedirectionsListDDL.Items.Add(data[i]); } break; } } AdvancedID.Text = XMDomain.GetCustomDomainTab(domainName)[1]; textDomainName.Value = domainName; } } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SetPageErrorMessage(this.Page, error.Message); } finally { xmLayer.Logout(); } break; case AdminPanelConstants.UserType.wm: //Webmail Domains _domainType = "rem"; ButtonSave.Visible = true; trForHr.Visible = true; try { Domain dom = Domain.LoadFromDb(sds.Name.Trim()); textDomainName.Value = dom.Name; domainName = dom.Name; txtIncomingMail.Value = dom.MailIncomingHost; intIncomingMailPort.Value = dom.MailIncomingPort.ToString(); txtOutgoingMail.Value = dom.MailOutgoingHost; intOutgoingMailPort.Value = dom.MailOutgoingPort.ToString(); intReqSmtpAuthentication.Checked = dom.MailOutgoingAuthentication; hidWebMailDomainID.Value = dom.ID.ToString(); switch (dom.MailIncomingProtocol) { case IncomingMailProtocol.Pop3: intIncomingMailProtocol.SelectedIndex = 0; break; case IncomingMailProtocol.Imap4: intIncomingMailProtocol.SelectedIndex = 1; break; default: intIncomingMailProtocol.SelectedIndex = 0; break; } } catch (Exception error) { Log.WriteException(error); AdminPanelUtils.SaveState("SessPageErrorMessage", WebMail.Constants.mailAdmUpdateAccountUnsuccess, Page.Session); } break; } UID = HttpUtility.UrlEncode(sds.Type + "_" + domainName); if (AdminPanelUtils.IsSuperAdmin(Page.Session, (Page as DefaultPage).Settings)) { Domain dom = new Domain(); if (UID.Length > 0) { try { SelectedValueStruct sus = AdminPanelUtils.ParseSelectedValue(uid); if (sus.Type != AdminPanelConstants.UserType.xm) { try { dom = Domain.LoadFromDb(sus.Name); } catch { } } } catch (Exception ex) { Log.WriteException(ex); AdminPanelUtils.SetPageErrorMessage(this.Page, (ex.InnerException != null ? ex.InnerException.Message : ex.Message)); } } if (dom != null) { domain_filter = dom.ID.ToString(); } } litDomainName.Text = @"<span style=""font-size: large;"">" + domainName + "</span>"; switch (_domainType) { case "vir": litDomainDescription.Text = "Defines rules for forwarding mail from this domain to other addresses."; break; case "rem": litDomainDescription.Text = "Contains users hosted by other mail services (e.g. gmx.com)."; break; default: litDomainDescription.Text = "Contains users hosted by this server."; break; } } else { _actionDomain = "Create Domain"; divDomainName.Attributes["class"] = "wm_hide"; intIncomingMailPort.Value = "110"; intOutgoingMailPort.Value = "25"; switch (_domainType) { case "vir": litDomainDescriptionView.Text = "Defines rules for forwarding mail from this domain to other addresses."; break; case "rem": litDomainDescriptionView.Text = "Contains users hosted by other mail services (e.g. gmx.com)."; break; default: litDomainDescriptionView.Text = "Contains users hosted by this server."; break; } } switch (_domainType) { case "vir": tr_custom_options.Attributes["class"] = ""; break; case "rem": tr_webmail_options.Attributes["class"] = ""; break; default: tr_custom_options.Attributes["class"] = "wm_hide"; tr_webmail_options.Attributes["class"] = "wm_hide"; break; } if (!AdminPanelUtils.IsSuperAdmin(Page.Session, (Page as DefaultPage).Settings)) { tr_see_webmail.Attributes["class"] = "wm_hide"; } }
public DataTable LoadDomains() { DomainCollection domColl = null; XMDomainCollection xmDomains = new XMDomainCollection(); DataTable domTable = new DataTable(); domTable.Columns.Add("id", typeof(string)); domTable.Columns.Add("name", typeof(string)); domTable.Columns.Add("type", typeof(string)); // xmail if (_isServerExist && AdminPanelUtils.IsSuperAdmin(Page.Session, (Page as DefaultPage).Settings)) { xmDomains = XMDomain.GetDomains(); XMDomainCollection xmDomsCust = XMDomain.GetCustomDomainins(); xmDomains.Add(xmDomsCust); } // webmail if (_isWebMailExist) { try { if (AdminPanelUtils.IsSuperAdmin(Page.Session, (Page as DefaultPage).Settings)) { if (_isServerExist) { domColl = Domain.GetDomains(); } else { domColl = Domain.GetDomains(new short[] { (short)IncomingMailProtocol.Pop3, (short)IncomingMailProtocol.Imap4 }); } } else { domColl = Subadmin.GetDomains(adminID); } foreach (XMDomain xmDom in xmDomains) { Domain dom = domColl.GetItem(xmDom.Name); if (dom == null) { WebmailSettings settings = new WebMailSettingsCreator().CreateWebMailSettings(); Domain new_dom = new Domain(0, xmDom.Name, IncomingMailProtocol.WMServer, settings.WmServerHost, 143, settings.WmServerHost, settings.XMailSmtpPort, false); new_dom.Save(); xmDom.Type = AdminPanelConstants.UserType.xma; } } foreach (Domain dom in domColl) { XMDomain xmDomain = xmDomains.GetItem(dom.Name); if (xmDomain != null) { xmDomains.Remove(xmDomain); xmDomains.Add(new XMDomain(dom.Name, dom.Name, dom.MailIncomingProtocol == IncomingMailProtocol.WMServer ? AdminPanelConstants.UserType.xma : AdminPanelConstants.UserType.wm)); } else { xmDomains.Add(new XMDomain(dom.Name, dom.Name, dom.MailIncomingProtocol == IncomingMailProtocol.WMServer ? AdminPanelConstants.UserType.xma : AdminPanelConstants.UserType.wm)); if (_isServerExist && dom.MailIncomingProtocol == IncomingMailProtocol.WMServer) { XMDomain.AddDomain(dom.Name); } } } foreach (XMDomain xmDomain in xmDomains) { domTable.Rows.Add(xmDomain.Name, xmDomain.Name, xmDomain.Type); } } catch (Exception ex) { AdminPanelUtils.SetPageErrorMessage(this.Page, (ex.InnerException != null ? ex.InnerException.Message : ex.Message)); Log.WriteException(ex); } } return(domTable); }