예제 #1
0
        private void LoadConfig()
        {
            XmlDocument xmlDocument = new XmlDocument();

            try
            {
                _failedToGetIP = false;
                xmlDocument.Load(@"IPCheck.xml");
                XmlNode root           = xmlDocument.SelectSingleNode("Settings");
                XmlNode GlobalSettings = root.SelectSingleNode("GlobalSettings");
                _getIPSiteOne = GlobalSettings.Attributes.GetNamedItem("IPWebSite").Value;
                _getIPSiteTwo = GlobalSettings.Attributes.GetNamedItem("AltIPWebSite").Value;
                _checkTime    = 60000 * Convert.ToInt32(GlobalSettings.Attributes.GetNamedItem("CheckTime").Value);
                _doLog        = Convert.ToBoolean(Convert.ToInt32(GlobalSettings.Attributes.GetNamedItem("Logging").Value));
                string   ips         = GlobalSettings.Attributes.GetNamedItem("ExcludeIPs").Value;
                string[] ipAddresses = ips.Split(',');
                _excludedIPAddresses = new IPAddress[ipAddresses.Length];
                int index = 0;
                foreach (string ipAddress in ipAddresses)
                {
                    _excludedIPAddresses[index] = IPAddress.Parse(ipAddress);
                    ++index;
                }

                XmlNode emailSettings = root.SelectSingleNode("EmailSettings");
                _doEmailNotification = Convert.ToBoolean(Convert.ToInt32(emailSettings.Attributes.GetNamedItem("SendEmail").Value));
                _emailAddress        = emailSettings.Attributes.GetNamedItem("EmailAddress").Value;
                _smtpAddress         = emailSettings.Attributes.GetNamedItem("smtpHost").Value;
                _smtpUserName        = emailSettings.Attributes.GetNamedItem("smtpUserName").Value;
                _smtpPassWord        = emailSettings.Attributes.GetNamedItem("smtpPassword").Value;
                _lastSentIPAddress   = IPAddress.Parse(emailSettings.Attributes.GetNamedItem("CurrentIP").Value);

                XmlNode sites = root.SelectSingleNode("SiteSettings");
                _sitesToCheck = new CheckSite[sites.SelectNodes("Site").Count];
                index         = 0;
                foreach (XmlNode site in sites)
                {
                    _sitesToCheck[index]             = new CheckSite();
                    _sitesToCheck[index].HostName    = site.Attributes.GetNamedItem("Host").Value;
                    _sitesToCheck[index].User        = site.Attributes.GetNamedItem("User").Value;
                    _sitesToCheck[index].Password    = site.Attributes.GetNamedItem("Password").Value;
                    _sitesToCheck[index].IpAddresses = IPAddress.Parse(site.Attributes.GetNamedItem("IPAddress").Value);
                    _sitesToCheck[index].Disabled    = Convert.ToBoolean(Convert.ToInt32(site.Attributes.GetNamedItem("Disabled").Value));
                    ++index;
                }
            }
            catch (Exception exception)
            {
                _doLog = true;
                Log(string.Format("Error loading Configuration : {0}", exception.Message));
            }
        }
예제 #2
0
        private void DisableConfig(CheckSite site)
        {
            XmlDocument xmlDocument = new XmlDocument();

            try
            {
                xmlDocument.Load(@"IPCheck.xml");
                XmlNode root  = xmlDocument.SelectSingleNode("Settings");
                XmlNode sites = root.SelectSingleNode("SiteSettings");
                foreach (XmlNode nsite in sites)
                {
                    if (string.Compare(site.HostName, nsite.Attributes.GetNamedItem("Host").Value, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        nsite.Attributes.GetNamedItem("Disabled").Value = "1";
                    }
                }
                xmlDocument.Save(@"IPCheck.xml");
            }
            catch (Exception exception)
            {
                Log("Error updating Configuration : " + exception.Message);
            }
        }
예제 #3
0
        private void UpdateConfig(CheckSite site)
        {
            XmlDocument xmlDocument = new XmlDocument();

            try
            {
                xmlDocument.Load(@"IPCheck.xml");
                XmlNode root  = xmlDocument.SelectSingleNode("Settings");
                XmlNode sites = root.SelectSingleNode("SiteSettings");
                foreach (XmlNode siteNode in sites)
                {
                    if (string.Compare(site.HostName, siteNode.Attributes.GetNamedItem("Host").Value, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        siteNode.Attributes.GetNamedItem("IPAddress").Value = site.IpAddresses.ToString();
                    }
                }
                xmlDocument.Save(@"IPCheck.xml");
            }
            catch (Exception exception)
            {
                Log(string.Format("Error updating Configuration : {0}", exception.Message));
            }
        }