All pastes #795372 Raw Edit

Unnamed

public text v1 · immutable
#795372 ·published 2007-11-24 01:18 UTC
rendered paste body
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System.IO;
using System.Security.Permissions;
using System.Globalization;
using System.Xml;
using System.Web;

namespace HookTest
{
    public partial class Form1 : Form 
    {
       
        public string cstrike = "";
        public string condump = "condump000.txt";
        public int hmm = 0;
        public Form1() {
            InitializeComponent();
            //Check();
            //if (File.Exists( cstrike + condump ))
            //    File.Delete( cstrike + condump );
            //if ( File.Exists( cstrike + "id.rc" ) )
            //    File.Delete( cstrike + "id.rc" );
        }

        private static bool FileUploadCompleted( string filename ) {
            try {
                using ( FileStream inputStream = File.Open( filename, FileMode.Open,
                    FileAccess.Read,
                    FileShare.None ) ) {
                    return true;
                }
            }
            catch ( IOException ) {
                return false;
            }
        }

        [PermissionSet( SecurityAction.Demand, Name = "FullTrust" )]
        public void Check() {

            FileSystemWatcher fsw = new FileSystemWatcher();
            try {
                fsw.Path = textBox1.Text;
            }
            catch ( ArgumentException ) {
                MessageBox.Show( "Invalid location!" );
                return;
            }
            fsw.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
            fsw.Filter = condump;
            fsw.EnableRaisingEvents = true;
            fsw.Created += new FileSystemEventHandler( ConCreated );
        }

        public void DeleteDump() {
            try {
                if ( File.Exists( cstrike + condump ) )
                    File.Delete( cstrike + condump );
            }
            catch ( IOException ) {
                System.Threading.Thread.Sleep( 100 );
            }
        }

        public void ConCreated( object source, FileSystemEventArgs e ) {
            DateTime fileReceived = DateTime.Now;
            while ( true ) {
                if ( FileUploadCompleted( e.FullPath ) ) {
                    this.Process( e.FullPath );
                    break;
                }
                TimeSpan timeElapsed = DateTime.Now - fileReceived;
                if ( timeElapsed.TotalMinutes > 1 ) {
                    //WriteToEventLog( string.Format( CultureInfo.CurrentCulture, "The file \"{0}\" could not be processed.", e.FullPath ) );
                    MessageBox.Show( string.Format( CultureInfo.CurrentCulture, "The file \"{0}\" could not be processed.", e.FullPath ) );
                    break;
                }
                System.Threading.Thread.Sleep( 200 );
            }
        }

        public void Process( string s ) {
            TextReader t;
            //MessageBox.Show( s, "worked", MessageBoxButtons.OKCancel );
            try {
                t = new StreamReader( cstrike + condump );
            }
            catch ( IOException ) {
                MessageBox.Show( "IO'd" );
                return;
            }

            XmlDocument doc = new XmlDocument();
            //string status = t.ReadToEnd();
            string status = HttpUtility.UrlEncode( t.ReadToEnd() ).Replace( "(", "%28" ).Replace( ")", "%29" ).Replace( "]", "%5D" ).Replace( "\r\n", "%0D%0A" ).ToUpper();
            t.Close();
            doc.Load( "http://steamid.esportsea.com/index.php?action=search&type=mass&query=" + status + "&format=status&output=xml" );
           
            XmlNodeList steamidxml = doc.GetElementsByTagName( "result" );
            StringBuilder sb = new StringBuilder();
            if ( steamidxml.Count == 0 ) {
                sb.Append( "echo \" returned zero results." );
                //MessageBox.Show( "status returned 0 results!" );
               // return;
            }
            else {
                foreach ( XmlNode node in steamidxml ) {
                    XmlElement sid = ( XmlElement ) node;
                    sb.Append( "echo \"" + sid.GetElementsByTagName( "player_steam_id" )[0].InnerText + ": " );
                    sb.Append( sid.GetElementsByTagName( "player_name_first" )[0].InnerText + " ''" );
                    sb.Append( sid.GetElementsByTagName( "player_alias" )[0].InnerText + "'' " );
                    sb.Append( sid.GetElementsByTagName( "player_name_last" )[0].InnerText + " " );
                    sb.Append( sid.GetElementsByTagName( "team_league" )[0].InnerText.ToUpper() );
                    sb.Append( sid.GetElementsByTagName( "team_division" )[0].InnerText + " " );
                    sb.Append( sid.GetElementsByTagName( "team_location" )[0].InnerText + " " );
                    sb.Append( sid.GetElementsByTagName( "team_name" )[0].InnerText + " (" );
                    sb.Append( sid.GetElementsByTagName( "wins" )[0].InnerText + "-" );
                    sb.Append( sid.GetElementsByTagName( "losses" )[0].InnerText + "-" );
                    sb.Append( sid.GetElementsByTagName( "ties" )[0].InnerText + ")\"\n" );
                    //sb.Append( sid.GetElementsByTagName( "team_irc" )[0].InnerText + "\r\n" );
                }
            }
            File.WriteAllText( cstrike + "id.rc", sb.ToString() );
            File.Delete( cstrike + condump );
        }

        private void textBox1_TextChanged( object sender, EventArgs e ) {

        }

        private void button1_Click( object sender, EventArgs e ) {
            cstrike = textBox1.Text;
            //if ( hmm != 1 ) {
                Check();
             //   hmm = 1;
            //}
        }

        private void Form1_Load( object sender, EventArgs e ) {
            if ( File.Exists( cstrike + condump ) )
                File.Delete( cstrike + condump );
            if ( File.Exists( cstrike + "id.rc" ) )
                File.Delete( cstrike + "id.rc" );
        }
    }
}